2019/1/15 批量删除数据库相关数据

目的:删除数据库各个系统his库里的测试soe与故障数据;
一、sql执行错误:
执行sql:SELECT FROM SOE WHERE sDevCode = 012400000001
报错:
[SQL Server]将 varchar 转换为数据类型 numeric 时出现算术溢出错误。
原因:查看表设计,sDevCode列的类型为varchar(字符串),
修改:SELECT
FROM SOE WHERE sDevCode = ‘012400000001‘ 。
二、脚本;

-- coding:UTF-8 --

import os
import pymssql
import pprint
sql_name = [
qqqqq
]
print(‘****程序正在启动****‘)
os.environ[‘NLS_LANG‘] = ‘SIMPLIFIED CHINESE_CHINA.UTF8‘
os.environ[‘NLS_LANG‘] = ‘AMERICAN_AMERICA.AL32UTF8‘
for SJK in sql_name:
IP_HIS = SJK[0] # 获取数据库IP
us_HIS = SJK[1]
PW_HIS= SJK[2]
HIS = SJK[3]
print(HIS)
conn = pymssql.connect(host=IP_HIS, user=us_HIS, password=PW_HIS, database=HIS)
cur1 = conn.cursor()
check_sql1 = "DELETE FROM SOE WHERE sDevCode = ‘012400000001‘"
cur1.execute(check_sql1)
cur2 = conn.cursor()
check_sql2 = "DELETE FROM Fault_Record WHERE LOWER(sLineName) LIKE ‘%cs%‘ or sLineName LIKE ‘%测试%‘ or sLineName LIKE ‘%模拟%‘"
cur2.execute(check_sql2)
conn.close()

解析:主要在sql上,
DELETE FROM Fault_Record WHERE LOWER(sLineName) LIKE ‘%cs%‘ or sLineName LIKE ‘%测试%‘ or sLineName LIKE ‘%模拟%
其中,模糊查询用like ,忽略大小写用lower或者upper都可以。

原文地址:http://blog.51cto.com/14135595/2342874

时间: 2024-10-09 22:00:37

2019/1/15 批量删除数据库相关数据的相关文章

设置手动批量删除数据库相关进程

可以设置手动删除 declare @kill varchar(8000) = ''; select @[email protected]+'kill '+convert(varchar(5),spid)+';' from master..sysprocesses where dbid=db_id('TEST_DBNAME'); exec (@kill);

php批量删除数据库下指定前缀的表

如何用php批量删除数据库下所有前缀为prefix_的表. 例子,统一删除前缀为"prefix_"的表. <?php //设置数据库连接信息.数据库服务器地址,数据库用户名,数据密码 mysql_connect('数据库主机','数据库用户名','数据库密码'); //设置查询的数据库名称 mysql_select_db('数据库名'); $rs=mysql_query('show tables'); while($arr=mysql_fetch_array($rs)) { ww

php怎么批量删除数据库下指定前缀的表?

如何用php批量删除数据库下所有前缀为prefix_的表. 例子,统一删除前缀为"prefix_"的表. <?php //设置数据库连接信息.数据库服务器地址,数据库用户名,数据密码 mysql_connect('数据库主机','数据库用户名','数据库密码'); //设置查询的数据库名称 mysql_select_db('数据库名'); $rs=mysql_query('show tables'); while($arr=mysql_fetch_array($rs)) { ww

批量删除数据库的SQL语句

由于项目需要,每次运行case的时候都需要创建数据库.虽然每次执行结束都会删除,但是不保证每次都能删除成功(这里有许多原因,我就不列举了).所以我写了个脚本去批量删除数据库.首先为确保我们的数据库是有用的,不被错删除的.所以就必须先备份在删除. 备份数据库: DECLARE @name VARCHAR(50) -- database name DECLARE @path VARCHAR(256) -- path for backup files DECLARE @fileName VARCHAR

生成环境批量删除 数据库数据

10.0.0.8 一.备份mysql库 innobackupex --defaults-file=/etc/my.cnf /opt/backup 二.运行auto_generate_delete_ac_banana_log_sql.sh生成批量删除sql语句 sh auto_generate_delete_ac_banana_log_sql.sh > delete_ac_banana_log.txt 三.运行批量删除sql文本 1.登录mysql 2.source delete_ac_banan

hibernate批量删除和更新数据

转载自:http://blog.csdn.net/yuhua3272004/article/details/2909538 Hibernate3.0 採用新的基于ANTLR的HQL/SQL查询翻译器,在Hibernate的配置文件里,hibernate.query.factory_class属性用来选择查询翻译器. (1)选择Hibernate3.0的查询翻译器: hibernate.query.factory_class= org.hibernate.hql.ast.ASTQueryTrans

批量删除数据库表

由于工作的原因,有时候会对数据库表进行批量的处理,这时候我们可以用游标对数据库进行批量删除表操作 DECLARE @Table NVARCHAR(30) DECLARE tmpCur CURSOR FOR SELECT name FROM sys.objects WHERE TYPE='U' AND name LIKE N'HSUPA%' OPEN tmpCur FETCH NEXT FROM tmpCur INTO @Table WHILE @@FETCH_STATUS = 0 BEGIN D

批量往数据库导入数据遇到的问题总结

项目开发中,有个功能需要往数据库批量插入数据,刚开始没考虑那么多,就一条一条数据循环插入数据库,数据量少的时候,效率还可以,但是当数据量达到上千甚至几百时,这个方法效率就不行了,得等段时间才全部插入成功,用户体验度非常不好,果断pass掉该方法. 接着换令一种方法,那就是拼接insert字符串,即"Insert into TableName Values(' ',' ',' '),(' ',' ',' ');",刚开始还比较happy,插入速度很快,效率很高,可是当数据过千后,问题出现

在C#应用程序中,利用表值参数过滤重复,批量向数据库导入数据,并且返回重复数据

在很多情况下,应用程序都需要实现excel数据导入功能,数据如果只有几十条,或上百条,甚至上千条,速度还好. 但是不仅如此,如果客户提供给你的excel本身存在着重复数据,或是excel中的某些数据已经在数据库存在,那这时,在向数据库插入数据前你还得判重,如果不存在才进行导入 通常,我们第一步就会通过上传的方式把excel中的数据读到内存,然后通过循环的方式得出一条一条数据,接着对于每条数据用关键字段去往数据库中进行一次查重,若存在则不做事情,若 不存在则向数据库中插入一条数据.这样一来,我们每