MySQLtruncatetable语句• Truncate table语句⽤来删除/截断表⾥的所有数据
• 和delete删除所有表数据在逻辑上含义相同,但性能更快
• 类似执⾏了drop table和create table两个语句
mysql> select * from students_bak;
+-----+----------+--------+---------+
| sid | sname | gender | dept_id |
+-----+----------+--------+---------+
| 101 | zhangsan | male | 10 |
| 1 | aa | 1 | 1 |
+-----+----------+--------+---------+
2 rows in set (0.00 sec)
mysql> truncate table students_bak;
Query OK, 0 rows affected (0.16 sec)
mysql> select * from students_bak;
Empty set (0.00 sec)
mysql> set autocommit=off;
Query OK, 0 rows affected (0.01 sec)
mysql> select * from students3;
+-----+-------+--------+---------+--------+
| sid | sname | gender | dept_id | sname2 |
+-----+-------+--------+---------+--------+
| 100 | NULL | 1 | 1 | NULL |
+-----+-------+--------+---------+--------+
1 row in set (0.01 sec)
mysql> truncate table students3;
Query OK, 0 rows affected (0.06 sec)
mysql> rollback;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from students3;
Empty set (0.00 sec)
mysql> delete from students;
Query OK, 5 rows affected (0.00 sec)
mysql> select * from students;
Empty set (0.00 sec)
mysql> rollback;
Query OK, 0 rows affected (0.07 sec)
truncated 带wheremysql> select * from students;
+-----+-------+--------+---------+
| sid | sname | gender | dept_id |
+-----+-------+--------+---------+
| 1 | aa | 3 | 1 |
| 4 | cc | 3 | 1 |
| 5 | dd | 1 | 2 |
| 6 | aac | 1 | 1 |
| 10 | a | 1 | 1 |
+-----+-------+--------+---------+
5 rows in set (0.00 sec)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论