DROP TABLE会完全删除该表,并且还会删除所有数据。如果要完全删除所有数据并需要表结构,则可以使用TRUNCATE TABLE命令。TRUNCATE命令将重新创建表。
让我们首先检查DROP TABLE。为此,我们将首先创建一个表-mysql>createtableDemoTable
(
IdintNOTNULLAUTO_INCREMENTPRIMARYKEY,
Namevarchar(20)
);
使用插入命令在表中插入一些记录-mysql>insertintoDemoTable(Name)values('Larry');
mysql>insertintoDemoTable(Name)values('Chris');
使用select语句显示表中的所有记录-mysql>select*fromDemoTable;
这将产生以下输出-+----+-------+
|Id|Name|
+----+-------+
|1|Larry|
|2|Chris|
+----+-------+
2rowsinset(0.00sec)
现在,使用DROP TABLE命令。执行DROP TABLE命令后,数据将被删除,并且将没有任何表结构。mysql>DROPTABLEDemoTable;
如果尝试显示数据,将出现以下错误-mysql>select*fromDemoTable;
ERROR1146(42S02):Table'hb_student_tracker.DemoTable'doesn'texist
您甚至都不会得到表结构-mysql>descDemoTable;
ERROR1146(42S02):Table'hb_student_tracker.DemoTable'doesn'texist
让我们实现TRUNCATE命令。mysql>createtableDemoTable
(
IdintNOTNULLAUTO_INCREMENTPRIMARYKEY,
FirstNamevarchar(20)
);
使用插入命令在表中插入一些记录-mysql>insertintoDemoTable(FirstName)values('Chris');
mysql>insertintoDemoTable(FirstName)values('Robert');
使用select语句显示表中的所有记录-mysql>select*fromDemoTable;
这将产生以下输出-+----+-----------+
|Id|FirstName|
+----+-----------+
|1|Chris|
|2|Robert|
+----+-----------+
2rowsinset(0.00sec)
现在,实现TRUNCATE命令。执行TRUNCATE命令后,将从表中删除数据,并重新创建表结构。mysql>TRUNCATETABLEDemoTable;
现在您不会从表中获取任何数据,但是表结构将可见-mysql>select*fromDemoTable;
Emptyset(0.00sec)
以下是获取表结构的查询-mysql>descDemoTable;
这将产生以下输出-+-----------+-------------+------+-----+---------+----------------+
|Field|Type|Null|Key|Default|Extra|
+-----------+-------------+------+-----+---------+----------------+
|Id|int(11)|NO|PRI|NULL|auto_increment|
|FirstName|varchar(20)|YES||NULL||
+-----------+-------------+------+-----+---------+----------------+
2rowsinset(0.01sec)
如果觉得《mysql drop表明_MySQL DROP TABLE会完全删除表还是仅删除结构?》对你有帮助,请点赞、收藏,并留下你的观点哦!