1. Kopieren Sie die Tabellenstruktur. Kopieren Sie die Struktur von Tabelle hello3
🎜>
2. Daten kopieren
a. Wenn die Struktur der beiden Tabellen gleich ist und Sie kopieren möchten alle Spalten Datenmysql> insert into hello3 select * from hello;
mysql> insert into hello3 (name,sex,degree) select name,sex,degree from hello;
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> indexin_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
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 Funktionenmysql> 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('name',@i)); SET @i=@i+1; END WHILE; end; <!-- 查看存储--> SHOW PROCEDURE STATUS; <!-- 查看hello1()存储过程--> show CREATE PROCEDURE hello1; <!-- 执行存储过程--> CALL hello1;
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!