加入收藏 | 设为首页 | 会员中心 | 我要投稿 大连站长网 (https://www.0411zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql清空表和删减表的办法

发布时间:2022-03-01 10:47:40 所属栏目:MySql教程 来源:互联网
导读:小编给大家分享一下mysql清空表和删减表的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧! mysql中清空表的方法:使用TRUNCATE 表名语句,可以完全清空一个表;删减表的方法:使用DROP TABLE 表名1 [ ,表名2, 表名3 ...];语句。 mysql
      小编给大家分享一下mysql清空表和删减表的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
 
      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)。
两点注意:
 
用户必须拥有执行 DROP TABLE 命令的权限,否则数据表不会被删除。
表被删除时,用户在该表上的权限不会自动删除。
实例
 
选择数据库 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 的表,删除操作成功。

(编辑:大连站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!