Heim > Datenbank > MySQL-Tutorial > Erfahren Sie mehr über die Grundfunktionen von MySQL

Erfahren Sie mehr über die Grundfunktionen von MySQL

迷茫
Freigeben: 2017-03-26 13:41:04
Original
1192 Leute haben es durchsucht

1. Tabellenkopie

1. Kopieren Sie die Tabellenstruktur. Kopieren Sie die Struktur von Tabelle hello3

🎜>

Erfahren Sie mehr über die Grundfunktionen von MySQL

2. Daten kopieren

a. Wenn die Struktur der beiden Tabellen gleich ist und Sie kopieren möchten alle Spalten Daten

mysql> insert into hello3 select * from hello;
Nach dem Login kopieren
b. Die beiden Tabellenergebnisse können unterschiedlich sein und Sie müssen nur die Daten einiger Spalten kopieren

mysql> insert into hello3 (name,sex,degree) select name,sex,degree from hello;
Nach dem Login kopieren

2. Index

1. Index erstellen (es können nur gewöhnliche Indizes und eindeutige Indizes erstellt werden)

Gewöhnlichen Index erstellen: mysql> in_name für hello(name); Erstellen Sie einen Index mit dem Namen in_name für die Namensspalte in der Hallo-Tabelle.

Erstellen Sie einen eindeutigen Index: mysql> erstellen Sie einen eindeutigen Index mit dem Namen un_name für die Namensspalte in der Hallo-Tabelle.

Index anzeigen: mysql> Index der Tabelle Hallo anzeigen.

Index löschen: mysql> drop index in_name on hello; Löschen Sie den Index namens in_name in der Hello-Tabelle.

2. alter erstellt einen Index (eine übliche Methode zum Erstellen eines Index)

Erstellen Sie einen normalen Index: mysql> index

in_name(name); Erstellen Sie einen Index mit dem Namen in_name für die Namensspalte in der Hallo-Tabelle. (normalen/eindeutigen) Index löschen: mysql> alter table hello drop index in_name; Löschen Sie den gewöhnlichen Index mit dem Namen in_name in der Hello-Tabelle.

Automatische Inkrementierung löschen: mysql>

Löschen Sie den Primärschlüsselindex: mysql> alter table hello drop PRIMARY KEY; Erstellen Sie einen eindeutigen Indexnamen für Der Name der Hello-Tabelle ist der Standard.

Erstellen Sie einen Primärschlüsselindex: mysql> alter table hello add Primary Key(id); Erstellen Sie einen Primärschlüsselindex für das ID-Feld der Hello-Tabelle.

Setzen Sie den Primärschlüsselindex auf automatische Inkrementierung: mysql>

3. Ansicht

Wenn sich die Haupttabellendaten ändern, ändert sich die Ansicht von Zeit zu Zeit entsprechend. Wenn die Tabelle, von der die Ansicht abhängt, einen Fehler aufweist (gelöscht wird), weist auch die Ansicht einen Fehler auf.

Ansicht erstellen: mysql> Ansicht erstellen v_hello als select * from hello where id >5;Ansicht löschen: mysql> drop view v_hello;

Sehen Sie sich den Erstellungsprozess der Ansicht an: mysql> Zeigen Sie den Erstellungsprozess der Ansicht v_hello an.

4.

Integrierte Funktionen

Zeichenfunktionen

1. CONCAT(str1, str2, ....) Zeichenverknüpfungsfunktion

mysql> select concat('A','B' );

2. LCASE(str1) In Kleinbuchstaben konvertieren

mysql> ; select lcase("MYSQL");

3. UCASE(str1) In Großbuchstaben konvertieren

mysql> select UCASE("Mysql");

4. LENGTH(str ) Die Länge von str

mysql> select length('mysql');

5. LTRIM(Str) entfernt die führenden Leerzeichen

;

6. RTRIM(str) Back-End-Leerzeichen entfernen

mysql> select RTRIM(' mysql '); REPLACE('mysql','m','M');

9. SUBSTRING(str,postion,length) Nimmt Längenzeichen ab der Position von str

mysql> ('mysql',1,2); Beginnend mit 1

10. SPACE(count) generiert count Leerzeichen

mysql> select concat(space(3),'mysql') ;

Mathematische Funktionen

1. Zahl) aufrunden mysql>

3、FLOOR(number) 向下取整 mysql> select ceiling(10.12); 结果:10

4、MAX(column) 获取 最大列

5、MIN(column) 获取最小列

6、SQRT(num) 开平方

7、RAND() 返回0-1之间的随机数值

日期函数

1、CURDATE() 返回当前日期格式 yyyy-MM-dd

2、CURTIME()返回档期时间 12:11:56

3、NOW()返回当前时间 2017-05-12 21:12:34

4、UNIX_TIMESTAMP(date) 返回当前date的时间戳

5、FROM_UNIXTIME()返回UNIX时间戳的日期值

6、WEEK(date)返回当前时间date为一年中的第几周

7、YEAR(data)返回当前时间date的年份

8、DATEDIFF(expr1,expr2) 返回expr1与expr2之间的天数

五、预处理语句

无变量:

创建预处理语句:mysql> prepare stmt1 from 'select * from hello where id>5';创建一个名为stmt1的预处理语句

执行预处理语句:mysql> execute stmt1;执行stmt1预处理语句

带变量:

创建带参数的预处理语句:mysql> prepare stmt1 from 'select * from hello where id>?'

设置变量:mysql> set @i=6;

执行预处理语句:mysql> execute stmt2 using @i;

删除预处理语句:mysql> drop prepare stmt2; #mysql> DEALLOCATE PREPARE stmt2;

注意:每一次执行完EXECUTE时,养成好习惯,须执行DEALLOCATE PREPARE … 语句,这样可以释放执行中使用的所有数据库资源(如游标)。
不仅如此,如果一个session的预处理语句过多,可能会达到max_prepared_stmt_count的上限值。

六、事务处理

mysql默认事务是自动提交的。在做mysql事务处理时请将数据库或者表的ENGINE 设置为InnoDB

将表的存储引擎设置为INNODB:mysql> alter table hello engine=innodb;

设置mysql为非自动提交:mysql> set autocommit=0;

产生事务:mysql> delete from hello where id>7;

事务回滚:mysql> rollback;

事务提交:mysql> commit;

关于事务中的还原点:

创建一个事务:mysql> insert into hello (sex,degree,name) values(1,12312.32,'HHH');

对该事务设置还原点:mysql> savepoint p1;

回滚到指定的还原点:mysql> rollback to p1; 此时事务恢复到p1,也就是p1之后的事务p2 ,p3..这些还原点将失效。

回滚到原始的还原点:mysql> rollback;

七、存储过程

<!-- 创建存储过程 hello1()-->
CREATE PROCEDURE hello1()
    BEGIN
        SET @i=0;
        WHILE @i<100 DO 
        insert INTO hello (sex,degree,name) VALUES(1,@i,CONCAT(&#39;name&#39;,@i));
        SET @i=@i+1;
        END WHILE;
    end;
<!-- 查看存储-->
SHOW PROCEDURE STATUS;
<!-- 查看hello1()存储过程-->
show CREATE PROCEDURE hello1;
<!-- 执行存储过程-->
CALL hello1;
Nach dem Login kopieren

八、重排auto_increment值

mysql中我们的主键id如果设置为主键自增策略,那我们如何清空表,并且恢复自增列id的值。

方式一:使用truncate table tableName; 该方式在清空表的同时恢复auto_increment 的值。

方式二:

  1、mysql> delete from hello3;  清空表 (该方式效率较低)

  2、mysql> alter table hello3 auto_increment=1; 恢复auto_increment 的起始值为1

Das obige ist der detaillierte Inhalt vonErfahren Sie mehr über die Grundfunktionen von MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage