python数据库操作——连接Oracle


  hello!我是wakeyo_J,每天一个konwledge point,一起学python,让技术无限发散。


  Oracle数据库系统是目前流行的知名的大型关系型数据库系统之一,被广泛应用于各行各业。

1. 安装Oracle数据库

安装过程可参考:https://blog.csdn.net/m0_55697123/article/details/119858265?spm=1001.2014.3001.5501

或者百度安装过程

2. 安装cx_Oracle驱动程序

  1. 在Linux操作系统下,可使用如下命令在线安装cx_Oracle驱动程序。

python - m pip install cx_Oracle --upgrade

  1. 下载安装
    下载地址:http://cx-oracle.sourceforge.net/
    下载时,需要注意一下版本,根据操作系统和已安装的python版本进行选择。在解压的cx_Oracle软件包路径下,执行python setup.py install 命令,将完成cx_Oracle的安装过程。
  2. 命令安装
    在python解释器中通过命令pip install cx_oracle安装
    在这里插入图片描述

3. python连接Oracle数据库

3.1 监听并连接Oracle数据库

import cx_Oracle

tns = cx_Oracle.makedsn("127.0.0.1","1522","orcl")  #监听Oracle数据库

db = cx_Oracle.connect("username","password",tns)   #连接数据库

db.close()    #关闭数据库
  • 监听Oracle数据库的makedsn(host,port,dbname)方法的参数使用说明:
    ①host参数,为数据库服务器的IP地址。如:host=“127.0.0.1”,“127.0.0.1”指向本地计算机的IP地址。设置为host=“localhost"时,则代表指向本地计算机。
    ②port参数,为Oracle数据库安装时的端口号,如port=1522
    ③dbname参数,为数据库名(又叫数据库实例),如dbname=“orcl”
    监听方法主要预先判断Oracle数据库系统是否正常启动。

  • 连接数据库通过connect()方法进行。
    ①username:为访问数据库所需要的用户名
    ②password:为访问数据库所需要的密码
    这两个参数在Oracle数据库安装或通过数据库管理工具设置

3.2 创建表格

import cx_Oracle

# 1. 创建表格

# 建立和数据库系统的连接
conn = cx_Oracle.connect("scott/wakeyo@lyj")
#获取操作游标
cursor = conn.cursor()
#执行SQL,创建一个表
cursor.execute("create table tb_user(id number, name varchar2(50),password varchar(50),primary key(id))")
#关闭连接,释放资源
cursor.close()
#执行完成,打印提示信息
print("successful")

3.3 插入数据

import cx_Oracle

conn = cx_Oracle.connect("scott/wakeyo@lyj")
cursor = conn.cursor()

#插入一条数据
cursor.execute("insert into tb_user values(1,'admin','password')")

#再插入一条数据
param = {"id":2,"n":"admin",'p':"password"}
cursor.execute("insert into tb_user values(:id,:n,:p)",param)

#一次插入多条数据数据,参数为字典列表形式
param = [{"id":3,"n":"admin","p":"password"},{"id":4,"n":"admin","p":"password"}]
cursor.executemany("insert into tb_user values(:id,:n,:p)",param)

#再一次插入多条数据
param = []
#生成6条插入数据,参数为元组列表形式
for i in range(6,12):
    param.append((i,"user"+str(i),"password"+str(i)))

# 插入数据
cursor.executemany("insert into tb_user values(:1,:2,:3)",param)

cursor.close()

#提交更改
conn.commit()
conn.close()

3.3 查询记录

import cx_Oracle

conn = cx_Oracle.connect("scott/wakeyo@lyj")
cursor = conn.cursor()

cursor.execute("select * from tb_user")

#获取一条记录
one = cursor.fetchone()
print("1:id:%s,name:%s,password:%s"%one)

#获取两条记录,注意游标已经到了第二条
two = cursor.fetchmany(2)
print("2 and 3:",two[0],two[1])

#获取其余记录,注意游标已经到第四条
three = cursor.fetchall()
for row in three:
    print(row)

print("条件查询")
cursor.prepare("select * from tb_user where id <= :id")
cursor.execute(None,{"id":5})
for row in cursor:
    print(row)

cursor.close()
conn.close()

上述为常用的python连接Oracle的操作,如果想要深入学习可以通过百度或者相关书籍进行学习。


总结

  本文属于作者原创,转载请注明出处,不足之处,希望大家能过给予宝贵的意见,如有侵权,请私信。每天一个knowledge point,一起学python,让技术无限发散

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐