Python连接MySQL
pip3 install MySQLdb
from MySQLdb.constants import FIELD_TYPE import MySQLdb import MySQLdb.cursors #连接数据库 db=MySQLdb.connect(host="IP",port=端口, user="用户名",passwd="密码",db="数据库",charset='utf8') #获取游标 cursorclass=MySQLdb.cursors.DictCursor)表示返回字典格式的结果集 [{'表字段':value}] cur = db.cursor(cursorclass=MySQLdb.cursors.DictCursor) #执行sql 传一个参数 sql = 'SELECt count(1) as count FROM documents WHERe documentName = %s' cur.execute(sql, (documentName,)) #返回数据 r=cur.fetchall() #执行sql 传多个参数 sql = "INSERT into documents (documentName,createTime)VALUES(%s,%s)" param = (documentName, localtime) cur.execute(sql, param) #关闭游标 cur.close() #提交到数据库执行 db.commit()
这里有个坑要注意一下,每次 *** 作数据库都要commit提交一下,如果没有commit那么每次查询的结果都是第一次查询的结果。
Python连接Oracle
python版本3.8
Python连接数据库需要安装`Instant Client`
地址:http://www.oracle.com/technetwork/topics/winx64soft-089540.html
添加路径到环境变量
这里还需要配置tnsnames.ora 配置文件放入 Instant Client的安装目录
orcl = (DEscriptION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.34.100.22)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )
需要注意的是这个orcl是数据库服务的名称可通过下面的sql获取
SELECt value FROM v$parameter where name like '%service_name%'
pip3 install cx_Oracle
import cx_Oracle as cx #连接Oracle db=cx.connect('用户名/密码@IP:1521/orcl') #获取游标 cur = db.cursor() #执行sql 传参 cur.execute("select * FROM D_PDPOWERTRANSFORMER where id=:canshu", canshu = 1) #下面这一波 *** 作 使你的返回值为字典格式的结果集 columns = [col[0] for col in cur.description] cur.rowfactory = lambda *args: dict(zip(columns,args)) r=cur.fetchall() cur.close() #关闭游标 db.commit()
Python *** 作Oracle的语法与mysql大体上差不多。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)