删除的办法是执行truncat方法,只是不需要每次手动的输入truncate命令进行删除。
通过sql命令的方式生成所有的truncate语句并写入到.sql脚本文件中,然后执行脚本即可完成删除操作,并且保留了表结构。
生成truncate命令的sql语句为:
SELECTCONCAT('TRUNCATETABLE',TABLE_NAME,';')FROMinformation_schema.TABLESWHERETABLE_SCHEMA='test'intooutfile'/tmp/truncate_test.sql';。
然后将生成的.sql脚本拷贝到当前文件夹毕如下面:
mv/tmp/truncate_test.sql$current_dir/。
然后执行.sql脚本将数据库中所有表中数据删除:
source$current_dir/truncate_test.sql。
注意:
在进行select....intooutfile......操作时,默认只能将文件写入到tmp路径下,可以不用将tmp文件夹下面的.sql脚本移动到当前文件夹下,直接在tmp路径下执行.sql脚本即可。
(1)sql删除数据保留吗扩展阅读:
常见的删除数据库表中数据的方法是通过delete或者truncate的方法进行删除操作,如果删除的是表中某一条或者部分数据的话适合用delete操作进行删除,如果要删除表中所有的数据的话,适合是同truncate进行删除操作。
如果不需要保留数据库中所有表的结构,那么答案很简单,执行命令dropdatabase数据库名即可达到目的。
但是如果需要保留该数据库中所有表的结构,只想删除所有表中的数据,多执行老拆几次truncate可以达到。
参侍数枣考资料:网络-数据表
Ⅱ SQL删除重复数据,只保留一行
在sql的使用中,我们总是碰到需要删除重复数据的情况,但是又不能全部删除完,必须要保留至少一个重复的数据。重复的记录根据两个字段 a2,a3 判断(实际使用中可以拓展为多个)
在上述的表中第三行和第四行重复,我们要选择一行删除,流程如下:
结果如下:
得到的结果如下:
|a1|a2|a3|
|---|---|
|3|2|2|
|4|2|2|
|6|2|2|
那么后面就很好办了:
3.选出要删除的值:
结果是保留a1最小的值,其他选项全部选出,
请注意 此时并不是将Select 改为delete就可以了,如果你直接这样子改的话,会报如下错误:
该错误提示你,不能先select出同一表中的某些值,再update这个表(在同一语句中)。所以要稍微修改一下。
结果如下:
|a1|a2|a3|
|---|---|
|1|1|1|
|2|1|2|
|3|2|2|
|5|3|3|
完毕
注:如果说不用保留一行数据的话那么就简单多了,只需要一个很简单的sql语句:
Ⅲ sql删除多条记录保留两条
sql删除多条数据的方法:执行【delete from 表名 where id in (id_1,id_2,id_3)】命令即可。sql是一种数据库查询和程序设计语言,它用于存取数据以及查询、更新和管理关系数据库系统。
结构化查询语言(Structured Query Language)简称SQL(发音:/?es kju? ?el/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
如何用一条sql语句删除多条记录?
如:表中有ID为a,b,c,d,e的行,用一条SQL删除ID号为abc的行:
答:delete from 表名 where id in (a,b,c)
sql触发器之常用语句(总结)
如何在sql server中重命名json密钥(t-sql)?
sql创建视图的语句是什么
sql数据库触发器怎么创建
mysql与sql的区别有哪些
php中常见的sql攻击正则表达式汇总
navicat如何导出sql sever脚本文件
认识sql 高级进阶
sql怎么使用触发器
springboot整合ureport2报表及常见使用方法
相关推荐
介绍手动配置phpmyadmin和mysql密码的两种方法
怎么本地启动phpmyadmin
如何在eclipse中通过jdbc连接mysql数据库
关于MySQL5.7.19安装目录下如何创建my.ini文件的示例详解
phpmyadmin怎么添加导出格式
MySql安装与卸载详细教程
mysql索引是什么及怎么使用的?整理的很详细
SQL Server 201
Ⅳ sql删除重复数据且只保留一条
在你的查询sql里面将子查询的title改成id,外面用id in(),这样会得到去重后的数据导出insert语句,将表中数据备份删除,再将导出的sql执行一下即可,还有一种就是写删除sql,delete from table where id not in(select id from table group by title )。
Ⅳ sql中怎么删除两条重复记录并保留一条
将数据去重复后暂存到临时表#a中
selectdistinct*into#afromtable1where条件
deletetable1where删除限制条件
insertintotable1select*from#a-将暂存的数据插回数据库
droptable#a-删除临时表
注:当前的数据库,每一个表都应该有一个标志字段,以保证记录不完全重复,否则实用中极易出问题。
(5)sql删除数据保留吗扩展阅读:
SQL语句删除掉重复的其他情况
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
SELECT
*
FROM
people
WHERE
peopleId IN (
SELECT
peopleId
FROM
people
GROUP BY
peopleId
HAVING
count(peopleId) > 1
)
2、查找表中多余的重复记录(多个字段)
SELECT
*
FROM
vitae a
WHERE
(a.peopleId, a.seq) IN (
SELECT
peopleId,
seq
FROM
vitae
GROUP BY
peopleId,
seq
HAVING
count(*) > 1
)