MysqL中清空表的方法:使用“TruncATE 表名”语句,可以完全清空一个表;删减表的方法:使用“DROP TABLE 表名1 [ ,表名2, 表名3 ...];”语句。
MysqL清空表
MysqL 提供了 DELETE 和 TruncATE 关键字来删除表中的数据。
TruncATE 关键字用于完全清空一个表。其语法格式如下:
TruncATE [TABLE] 表名
其中,TABLE 关键字可省略。
实例
新建表 tb_student_course,插入数据并查询,sql 语句和运行结果如下:
MysqL> CREATE TABLE `tb_student_course` ( -> `id` int(4) NOT NULL AUTO_INCREMENT, -> `name` varchar(25) NOT NULL, -> PRIMARY KEY (`id`) -> ); Query OK, 0 rows affected (0.04 sec) MysqL> INSERT INTO tb_student_course(name) VALUES ('Java'),('MysqL'),('Python'); Query OK, 3 rows affected (0.05 sec) Records: 3 Duplicates: 0 Warnings: 0 MysqL> SELECT * FROM tb_student_course; +----+--------+ | id | name | +----+--------+ | 1 | Java | | 2 | MysqL | | 3 | Python | +----+--------+ 3 rows in set (0.00 sec)
使用 TruncATE 语句清空 tb_student_course 表中的记录,sql 语句和运行结果如下:
MysqL> TruncATE TABLE tb_student_course; Query OK, 0 rows affected (0.04 sec) MysqL> SELECT * FROM tb_student_course; Empty set (0.00 sec)
MysqL删减表
在 MysqL 数据库中,对于不再需要的数据表,我们可以将其从数据库中删除。
在删除表的同时,表的结构和表中所有的数据都会被删除,因此在删除数据表之前最好先备份,以免造成无法挽回的损失。
基本语法
使用 DROP TABLE 语句可以删除一个或多个数据表,语法格式如下:
DROP TABLE [IF EXISTS] 表名1 [ ,表名2, 表名3 ...]
对语法格式的说明如下:
表名1, 表名2, 表名3 ...表示要被删除的数据表的名称。DROP TABLE 可以同时删除多个表,只要将表名依次写在后面,相互之间用逗号隔开即可。
IF EXISTS 用于在删除数据表之前判断该表是否存在。如果不加 IF EXISTS,当数据表不存在时 MysqL 将提示错误,中断 sql 语句的执行;加上 IF EXISTS 后,当数据表不存在时 sql 语句可以顺利执行,但是会发出警告(warning)。
两点注意:
实例
选择数据库 test_db,创建 tb_emp3 数据表,输入的 sql 语句和运行结果如下所示。
MysqL> USE test_db; Database changed MysqL> CREATE TABLE tb_emp3 -> ( -> id INT(11), -> name VARCHAR(25), -> deptId INT(11), -> salary FLOAT -> ); Query OK, 0 rows affected (0.27 sec) MysqL> SHOW TABLES; +--------------------+ | Tables_in_test_db | +--------------------+ | tb_emp2 | | tb_emp3 | +--------------------+ 2 rows in set (0.00 sec)
由运行结果可以看出,test_tb 数据库中有 tb_emp2 和 tb_emp3 两张数据表。
我们来删除数据表 tb_emp3,输入的 sql 语句和运行结果如下所示:
MysqL> DROP TABLE tb_emp3; Query OK, 0 rows affected (0.22 sec) MysqL> SHOW TABLES; +--------------------+ | Tables_in_test_db | +--------------------+ | tb_emp2 | +--------------------+ 1 rows in set (0.00 sec)
执行结果可以看到,test_db 数据库的数据表列表中已经不存在名称为 tb_emp3 的表,删除操作成功。
推荐教程:mysql视频教程