一、连接Oracle数据库:
1、安装cx_Oracle包:
http://cx-oracle.sourceforge.net/ 需要注意下版本,根据操作系统和已安装的python版本进行选择
在命令窗口中执行(要先设置Python的环境变量):
python -m pip install cx_Oracle --upgrade
2、Python连接oracle数据库的基本操作:
(1)创建数据库连接connect和关闭数据库连接close ,创建数据库连接的三种方式:
方法一:用户名、密码和监听分开写
import cx_Oracle
db=cx_Oracle.connect('username/password@localhost:1521/orcl')
db.close()
方法二:用户名、密码和监听写在一起
import cx_Oracle
db=cx_Oracle.connect('username','password','localhost:1521/orcl')
db.close()
方法三:配置监听并连接(推荐使用)
import cx_Oracle
tns=cx_Oracle.makedsn('localhost',1521,'orcl')
db=cx_Oracle.connect('username','password',tns)
db.close()
(2)建立cursor并执行SQL语句(查询、更新、插入、删除):创建数据库连接,创建游标cursor,然后执行sql语句,执行完成后,关闭游标,关闭数据库连接
A、查询:
import cx_Oracle #导入cx_Oracle
db=cx_Oracle.connect('scott/root@localhost:1521/orcl') #连接数据库
#一次返回所有行:fetchall
cr=db.cursor() #创建游标
sql = 'select * from student' #定义sql语句
cr.execute(sql) #执行sql语句
rs = cr.fetchall() #一次返回所有的结果集
for x in rs: #利用循环输出所有记录
print(x)
#一次返回一行:fetchone
cr=db.cursor() #创建游标
sql='select * from student'
cr.execute(sql)
while(1):
rs = cr.fetchone()
if rs==None:break
print(rs)
#使用参数查询
pr={'sno':'2018001'} #将参数作为一个字典来处理
cr.execute('select * from student where sno=:sno',pr)
rs=cr.fetchall()
print( "print all :%s"%rs)
#也可以直接写入参数
cr.execute('select * from student where sno=:sno',sno='2018003')
rs=cr.fetchall()
print( "print all :%s"%rs)
cr.close() #关闭游标
db.close() #关闭连接
B、插入、更新、删除操作后需要提交commit
#插入数据
sql="insert into student(id,sno,sname,ssex,sdept,sage,saddress) values(7,'2018007','郭靖','男','历史系',22,'浙江')"
cr.execute(sql)
cr.close()
db.commit()
3、函数方式实现增、删、改、查:
def sqlSelect(sql,db): #查询
cr = db.cursor()
cr.execute(sql)
rs = cr.fetchall()
cr.close()
return rs
def sqlInsert(sql,param,db): #插入、删除、更新
cr = db.cursor()
cr.execute(sql,param)
cr.close()
db.commit()
return 1
二、连接MySql数据库:
1、安装MySql驱动:在命令行使用pip安装
pip install PyMySQL
2、连接并操作MySql数据库
import pymysql
db = pymysql.connect(host='127.0.0.1',port=3306,user='root',password='root',
db='mvc',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)
cursor = db.cursor()
sql = 'select * from user'
cursor.execute(sql)
rs = cursor.fetchall()
for x in rs:
print(x)
三、连接SQL Server数据库:
1、下载驱动程序包:
pymssql-2.1.3-cp36-cp36m-win32.whl(https://www.lfd.uci.edu/~gohlke/pythonlibs/ )
2、安装驱动程序(命令行):
pip install pymssql-2.1.3-cp36-cp36m-win32.whl
3、连接并操作数据库:
import pymssql
db = pymssql.connect(host='127.0.0.1',user='a1',password='root',database='dbms')
cursor = db.cursor()
cursor.execute('select * from courses')
rs = cursor.fetchall()
for x in rs:
print(x)
附注:
pip的用法:pip是一个安装和管理 Python 包的工具
(1) 安装一个包
c:> pip install
c:> pip install ==
(2)升级一个包 (如果不提供version号,升级到最新版本)
c:> pip install --upgrade >=
(3)删除一个包
c:>pip uninstall