python操作数据库的几种方法_Python操作几种不同的关系数据库

本文介绍了Python使用cx_Oracle、PyMySQL和pymssql库连接和操作Oracle、MySQL及SQL Server数据库的方法,包括安装驱动、创建连接、执行SQL语句(查询、插入、更新、删除)及函数式实现数据库操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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()

94d1df00144c8a29d49f4e5aa1ab2fb6.png

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

分享:

1

6c39d4838e026efe59dfb6145a3d3558.gif喜欢

Python操作几种不同的关系数据库

标签:libs   方式   fetchall   http   play   基本操作   div   cursor   mon

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:https://www.cnblogs.com/lone5wolf/p/10856104.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值