如何批量删除数据库里某个表里的多条记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何批量删除数据库里某个表里的多条记录相关的知识,希望对你有一定的参考价值。

一个mysql数据库,
我想删除掉其中的一些记录,
但是苦于数据量太大,没办法手动删除
请高手帮忙写一条命令,批量删除指定表文件里的多条记录。
要求是
删除表文件shop_sell_logs里面 log_id 从200~5000的记录,但如果name字段中包含有“美人鱼”的记录则不删除。

请看图

1、首先我们打开SQL Database Studio。

2、然后我们点击展开数据库连接和数据库。

3、然后我们展开已有的表。

4、然后我们双击要删除记录的表,进入表数据操作界面。

5、然后我们选定要删除的记录,点击【delete selected rows】。

6、此时显示将删除的记录,点击【save to db】。

参考技术A

1、打开SQL Server 2012资源管理器,然后在已创建好的数据库表t_call_info,打开表进行查询和比较表记录;

2、利用SQL Server 2012数据库资源管理器,创建删除SQL语句,使用delete,删除的完整语句为:Delete FROM "表名" where <搜索条件>;

3、删除语句输入以后九可以批量删除数据库表记录,点击回车键,然后再次查询数据库表,这时删掉了几条数据。

参考技术B delete from shop_sell_logs where log_id >=200 and log_id<=5000 and name not like '%美人鱼%'

语句如上,其中log_id >=200 and log_id<=5000 这个地方如果log_id不包含200和5000的话,你把两处的等号去掉,只保留大于号和小于号即可

追问

正准备执行代码
突然发现可能有问题
请问,可否同时指定多个name的字段不删除啊?

追答

什么叫指定多个name字段不删除?

追问

就是同时有 美人鱼 ,小屁孩,王明。。。等多个NAME字段的值不能被删除
现在是只指定美人鱼不能删除。

追答

delete from shop_sell_logs where log_id >=200 and log_id<=5000 and name not like '%美人鱼%'
and name not like '%小屁孩%' and name not like '%王明%'

本回答被提问者采纳
参考技术C (access数据库为例)单条删除的sql语句:
delete * from 数据库表 where id = 1
删除id为1的数据
delete * from 数据库表 where id in (1,2,3,4,5,6)
删除id为1、2、3、4、5、6的数据

将MYSQL某一数据库中的多条记录批量插入到另一MYSQL数据库时,记录不存在则插入,存在则更新

例如:需要将A库中的1000条记录批量插入到B库中或更新B库中已存在的数据,具体需求如下:
1、数据库A和库B均有表T1、T2、T3三张结构一样的表,但A库和B库各表的记录字段值是不完全一样的,这三张表包含的部分字段分别是:
  T1:ID,TYPEID,SENDATA,MID,CHANNEL
  T2:ID,TYPEID,NAME,SENDATA,MID,CHANNEL
  T3:ID,TYPEID,RENEW,ARCLIST,YEARS
 三张表中T2表是主表,T1和T3表是附表,三张表的数据通过ID相互关联,各库每条记录的数据分别存放在T2和T3表中,也就是说表T2和T3的数据整合在一起才能得到一条记录的完整数据,而T1主要是生成记录ID的表,即向T1中插入除ID以外的其他字段值时,该表将会递增自动生成新的ID;
2、将A库中字段NAME和YEARS相同的记录插入到B库中,如B库中不存在相同的记录则批量插入新的记录,如存在则不插入,而批理更新B库T3表中相同记录的RENEW字段值;(注:A库和B库的各记录ID值是不一定相同的,即使两库中存在相同的记录,该记录的ID值也不一定相同,因此,须首先向B库中的T1表插入数据,让T1表生成新的ID值,然后再分别向B库中的T2和T3表插入数据,而T2和T3表的ID值须从B库中的T1表获得,否则会出现ID主键值重复的错误)
烦请按上述举例的内容写出SQL语句,该SQL语句须能在phpMyAdmin中运行,谢谢!!
一楼回复的朋友,你写的语句,看不明白呀,感觉不是SQL语句(我是初学者,也许说错了),能否进行详细的说明。

参考技术A 1. Copy the Driver jar file to server/default/lib
2. Delete hsqldb-jdbc-state-service.xml and hsqldb-jdbc2-service.xml in
deploy/jms
3. Copy doc/examples/jms/ mysql-jdbc2-service.xml to deploy/jms

以上是关于如何批量删除数据库里某个表里的多条记录的主要内容,如果未能解决你的问题,请参考以下文章

小程序批量删除云数据库里的数据

SQL数据库批量添加数据

将MYSQL某一数据库中的多条记录批量插入到另一MYSQL数据库时,记录不存在则插入,存在则更新

sql 一次插入多条记录

Navicat for MySQL这个软件,如何批量删除数据,求大神指导.

请教mysql 如何按时间删除多余的记录?