mysql有两种方式可以清空表。分别为:delete from 表名和truncate table 表名。
目前创新互联建站已为超过千家的企业提供了网站建设、域名、雅安服务器托管、绵阳服务器托管、企业网站设计、新华网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
delete from 表名,删除表数据,全部删除则是可以清空表,相当于一条条删除,需要注意的是,如果有字段是自增的(一般为id),这样删除后,id 值还是存在的。举例来说,就是加入你在删除之前最大的id为100,你用这种方式清空表后 ,新插入一条数据其id为101,而不是1。
2.truncate table 表名,直接清空表,相当于重建表,保持了原表的结构,id也会清空。相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。
1.快速清空表中的数据(20.05.25)
区别:
a.不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。
b.效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。
c.delete的效果有点像将mysql表中所有记录一条一条删除到删完,而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。
mysql删除表有三种方法:
1、不再需要该表时, 用 drop;
例如:drop table tb;
drop 是直接将表格删除,无法找回。
2、仍要保留该表,但要删除所有记录时, 用 truncate;
例如:TRUNCATE TABLE user; 删除表中所有数据,但不能与where一起使用;
3、要删除部分记录或者有可能会后悔的话, 用 delete。
例如:delete from user; 删除user表所有数据
delete from user where username ='Tom'; 删除指定行。
在MySQL中有两种方法可以删除数据,一种是DELETE语句,另一种是TRUNCATE TABLE语句。DELETE语句可以通过WHERE对要删除的记录进行选择。而使用TRUNCATE TABLE将删除表中的所有记录。因此,DELETE语句更灵活。
如果要清空表中的所有记录,可以使用下面的两种方法:
DELETE FROM table1
TRUNCATE TABLE table1
其中第二条记录中的TABLE是可选的。
如果要删除表中的部分记录,只能使用DELETE语句。
DELETE FROM table1 WHERE ...;
如果DELETE不加WHERE子句,那么它和TRUNCATE TABLE是一样的,但它们有一点不同,那就是DELETE可以返回被删除的记录数,而TRUNCATE TABLE返回的是0。
如果一个表中有自增字段,使用TRUNCATE TABLE和没有WHERE子句的DELETE删除所有记录后,这个自增字段将起始值恢复成1.如果你不想这样做的话,可以在DELETE语句中加上永真的WHERE,如WHERE 1或WHERE true。
DELETE FROM table1 WHERE 1;
上面的语句在执行时将扫描每一条记录。但它并不比较,因为这个WHERE条件永远为true。这样做虽然可以保持自增的最大值,但由于它是扫描了所有的记录,因此,它的执行成本要比没有WHERE子句的DELETE大得多。
DELETE和TRUNCATE TABLE的最大区别是DELETE可以通过WHERE语句选择要删除的记录。但执行得速度不快。而且还可以返回被删除的记录数。而TRUNCATE TABLE无法删除指定的记录,而且不能返回被删除的记录。但它执行得非常快。
和标准的SQL语句不同,DELETE支持ORDER
BY和LIMIT子句,通过这两个子句,我们可以更好地控制要删除的记录。如当我们只想删除WHERE子句过滤出来的记录的一部分,可以使用LIMIB,如果要删除后几条记录,可以通过ORDER
BY和LIMIT配合使用。假设我们要删除users表中name等于"Mike"的前6条记录。可以使用如下的DELETE语句:
DELETE FROM users WHERE name = 'Mike' LIMIT 6;
一般MySQL并不确定删除的这6条记录是哪6条,为了更保险,我们可以使用ORDER BY对记录进行排序。
DELETE FROM users WHERE name = 'Mike' ORDER BY id DESC LIMIT 6;
一、在控制面板,卸载MySQL的所有组件
控制面板——》所有控制面板项——》程序和功能,卸载所有和MySQL有关的程序
二、找到你的MysQL安装路径,看还有没有和MySQL有关的文件夹,全删
如果安装在C盘,检查一下C:\Program Files (x86)和C:\Program Files 这两个文件夹
三、删除关于MySQL的注册表
在文件资源管理器中输入“C:\Windows\regedit.exe"会弹出注册表
删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL文件夹
如果能找到如下内容,删除
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL
四、将以下红字部分粘贴到文件资源管理器地址栏中 (这是一个隐藏的文件夹)
C:\ProgramData\MySQL
删除此文件夹下的所有内容
五、重启电脑
六、提示:
如果以上删除文件夹时删除不了,可以试一下以下步骤:
1.检查是否还有有关MySQL的程序在运行,到任务管理器中去找,然后结束任务
2.试试360粉碎文件能不能粉碎
3.进入安全模式,删除
大功告成
现在可以重新安装MySQL了
1、控制面板——》所有控制面板项——》程序和功能,卸载mysql server!
或者在360软件管家里面,也可以卸载mysql。
2、然后删除mysql文件夹下的my.ini文件及所有文件。
3、在运行中运行“regedit”文件,如图,打开注册表,删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL文件夹,HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL文件夹。
4、删除C盘下的“C:\ProgramData\MySQL ”所有文件,如果删除不了则用360粉碎掉即可,该programData文件是隐藏的默认,设置显示后即可见,或者直接复制上边的地址到地址栏回车即可进入!删除后重启电脑,重装MYsql数据库应该就成功了。
显示programdata:
删除C盘下的“C:\ProgramData\MySQL ”所有文件: