DROP TABLE会完全删除该表,并且还会删除所有数据。如果要完全删除所有数据并需要表结构,则可以使用TRUNCATE TABLE命令。TRUNCATE命令将重新创建表。
让我们首先检查DROP TABLE。为此,我们将首先创建一个表-
mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(20) );
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable(Name) values('Larry'); mysql> insert into DemoTable(Name) values('Chris');
使用select语句显示表中的所有记录-
mysql> select *from DemoTable;
这将产生以下输出-
+----+-------+ | Id | Name | +----+-------+ | 1 | Larry | | 2 | Chris | +----+-------+ 2 rows in set (0.00 sec)
现在,使用DROP TABLE命令。执行DROP TABLE命令后,数据将被删除,并且将没有任何表结构。
mysql> DROP TABLE DemoTable;
如果尝试显示数据,将出现以下错误-
mysql> select *from DemoTable; ERROR 1146 (42S02): Table 'hb_student_tracker.DemoTable' doesn't exist
您甚至都不会得到表结构-
mysql> desc DemoTable; ERROR 1146 (42S02): Table 'hb_student_tracker.DemoTable' doesn't exist
让我们实现TRUNCATE命令。
mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName varchar(20) );
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable(FirstName) values('Chris'); mysql> insert into DemoTable(FirstName) values('Robert');
使用select语句显示表中的所有记录-
mysql> select *from DemoTable;
这将产生以下输出-
+----+-----------+ | Id | FirstName | +----+-----------+ | 1 | Chris | | 2 | Robert | +----+-----------+ 2 rows in set (0.00 sec)
现在,实现TRUNCATE命令。执行TRUNCATE命令后,将从表中删除数据,并重新创建表结构。
mysql> TRUNCATE TABLE DemoTable;
现在您不会从表中获取任何数据,但是表结构将可见-
mysql> select *from DemoTable; Empty set (0.00 sec)
以下是获取表结构的查询-
mysql> desc DemoTable;
这将产生以下输出-
+-----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | FirstName | varchar(20) | YES | | NULL | | +-----------+-------------+------+-----+---------+----------------+ 2 rows in set (0.01 sec)
问题内容: 在文档(http://dev.mysql.com/doc/refman/6.0/en/drop- table.html )中未明确提及。我问是因为我刚刚在Rails项目中看到了一个奇怪的数据库迁移,其中开发人员在删除表之前删除了所有索引,这似乎是不必要的。 问题答案: 是的,它确实。 但是,如果您具有诸如RESTRICT之类的外键约束来确保与其他表的参照完整性,则需要在删除或截断表之前
我正在为我的网站使用一个名为Kalium的wordpress主题以及一些修改过的部分:https://www.idee-creative.co.uk 我在每种页面类型上都添加了自定义字段,因此我可以轻松地添加自己的标题和描述标记,以便在每一页上都可以自定义它们。我使用的代码如下: 拉取自定义字段并将其显示在页面的标题中。 我遇到的问题是,当我查看页面的源代码时,Wordpress似乎添加了自己的标
< b >想改进这个问题?更新问题,使其成为关于堆栈溢出的主题。 我正在尝试从我的ubuntu 12.04中完全卸载mysql。但无法。 我尝试了很多命令。但没有任何效果。任何人都可以在这里帮忙! 我不明白该怎么做。我想删除有关MySQL的所有内容。每当我试图定位它时。我明白了。 我希望一切都被删除。mysql服务器、mysql客户端、mysqls库甚至配置。 请帮帮我!!!
问题内容: 我从不同的文件夹中删除了詹金斯所有目录。但是,当我访问URL时,仍然显示jenkins登录。 我想完全卸载jenkins。已经尝试了许多来自Internet的命令,但是服务器上仍然有jenkins。 我只有通过腻子进行命令行访问,因此我尝试通过命令删除jenkins。 问题答案: 如果您的詹金斯人以服务而不是进程的形式运行,则应先使用 停止后,您可以按照与Linux风格相对应的命令按照
问题内容: 我卸载了先前版本的node.js(0.8.11),并从node.js网站下载了最新版本0.10.24并进行了安装。但是,运行后,仍然表明我正在运行v0.8.11。显然,在卸载过程中遗留了一些东西,这导致我在尝试通过npm添加模块时遇到各种错误。我已经看到了针对OSX和Linux的解决方案,但找不到Windows的任何东西。我正在运行Windows 7 64位。 问题答案: 如何从Win
我使用spring Boot2、jpa和Hibernate。Db是后置,我尝试删除一个带有子级的对象 如果我删除了Samplings,Samplings、testsamplings和Compressions也应该被删除。 从sample_letter=?的示例中删除和sampling_id=?和sampling_year=? 2018-10-03 22:21:05.832错误14511--[nio
为了保证安全的删除, Android Studio会找到被删除字符, 结果会在工具栏展示,可以在删除之前对代码进行修正。 操作步骤: 菜单栏: Refactor —> Safe Delete...
编辑:修改问题以更好地反映问题。此处最初发布的问题 我有一个父实体(< code >上下文)和一个子实体(< code >用户)。父级上的级联“删除”不会删除子级。代码如下: