python批量删除数据库记录_python cx_oracle批量插入查询,删除,update 操作oracle数据库…
见了很多写的很垃圾决定自己写
# coding=utf-8
import cx_Oracle
import os
import json
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
"""python version 3.7"""
class TestOracle(object):
def __init__(self,user,pwd,ip,port,sid):
self.connect=cx_Oracle.connect(user+"/"+pwd+"@"+ip+":"+port+"/"+sid)
self.cursor=self.connect.cursor()
"""处理数据二维数组,转换为json数据返回"""
def select(self,sql):
list=[]
self.cursor.execute(sql)
result=self.cursor.fetchall()
col_name=self.cursor.description
for row in result:
dict={}
for col in range(len(col_name)):
key=col_name[col][0]
value=row[col]
dict[key]=value
list.append(dict)
js=json.dumps(list,ensure_ascii=False,indent=2,separators=(',',':'))
return js
def disconnect(self):
self.cursor.close()
self.connect.close()
def insert(self,sql,list_param):
try:
self.cursor.executemany(sql,list_param)
self.connect.commit()
print("插入ok")
except Exception as e:
print(e)
finally:
self.disconnect()
def update(self,sql):
try:
self.cursor.execute(sql)
self.connect.commit()
except Exception as e:
print(e)
finally:
self.disconnect()
def delete(self,sql):
try:
self.cursor.execute(sql)
self.connect.commit()
print("delete ok")
except Exception as e:
print(e)
finally:
self.disconnect()
if __name__ =="__main__":
test_oracle=TestOracle('SCOTT','pipeline','127.0.0.1','1521','orcl')
param=[('ww1','job003',1333,2),('ss1','job004',1444,2)]
#test_oracle.insert("insert into bonus(ENAME,JOB,SAL,COMM)values(:1,:2,:3,:4)",param)#也可以下面这样解决orc-1036非法变量问题
test_oracle.insert("insert into bonus(ENAME,JOB,SAL,COMM)values(:ENAME,:JOB,:SAL,:COMM)",param)
test_oracle1=TestOracle('SCOTT','pipeline','127.0.0.1','1521','orcl')
test_oracle1.delete("delete from bonus where ENAME='ss1' or ENAME='ww1'")
test_oracle3=TestOracle('SCOTT','pipeline','127.0.0.1','1521','orcl')
js=test_oracle3.select('select * from bonus')
print(js)
C:\Python37\python.exe C:/Users/Administrator/PycharmProjects/pytestframe/pyfoo/DbUtils/oracledb.py
插入ok
delete ok
[
{
"ENAME":"cdp",
"JOB":"jod_1234",
"SAL":1254,
"COMM":1
},
{
"ENAME":"cdp3",
"JOB":"job003",
"SAL":1333,
"COMM":2
},
{
"ENAME":"cdp4",
"JOB":"job004",
"SAL":1444,
"COMM":2
},
{
"ENAME":"cdp1",
"JOB":"job222",
"SAL":1235,
"COMM":2
}
]
Process finished with exit code 0