pip install cx-Oracle
连接Oracle数据库
在利用cx-Oracle之前,须要先连接到Oracle数据库。可以利用cx_Oracle.connect()方法来连接到Oracle数据库。该方法须要指天命据库连接信息,包括用户名、密码、主机名、端口号和做事名等。例如:
import cx_Oracle# 连接Oracle数据库conn = cx_Oracle.connect(user='username', password='password', dsn='hostname:port/servicename')
在这个例子中,我们利用cx_Oracle.connect()方法连接到Oracle数据库。个中,user参数指定了连接用户名,password参数指定了连接密码,dsn参数指定了连接的主机名、端口号和做事名等信息。
连接到Oracle数据库后,就可以实行SQL查询了。可以利用cx_Oracle的cursor工具来实行SQL查询。例如:

import cx_Oracle# 连接Oracle数据库conn = cx_Oracle.connect(user='username', password='password', dsn='hostname:port/servicename')# 创建游标cur = conn.cursor()# 实行SQL查询cur.execute("SELECT FROM mytable")# 获取查询结果result = cur.fetchall()# 输出查询结果for row in result: print(row)# 关闭游标和数据库连接cur.close()conn.close()
在这个例子中,我们连接到Oracle数据库后,创建了一个游标工具,并利用游标工具实行了一个SQL查询。cur.execute()方法可以实行SQL查询,并返回查询结果。可以利用cur.fetchall()方法来获取查询结果。查询结果是一个元组的列表,每个元组表示查询结果的一行数据。我们遍历查询结果,并输出每行数据。末了我们关闭游标和数据库连接,开释资源。
实行SQL修正操作除了实行SQL查询,还可以利用cx_Oracle实行SQL修正操作,例如插入、更新和删除数据等。可以利用游标工具的execute()方法来实行SQL修正操作。例如:
import cx_Oracle# 连接Oracle数据库conn = cx_Oracle.connect(user='username', password='password', dsn='hostname:port/servicename')# 创建游标cur = conn.cursor()# 实行SQL插入操作cur.execute("INSERT INTO mytable VALUES (:1, :2)", (1, 'value1'))# 提交事务conn.commit()# 关闭游标和数据库连接cur.close()conn.close()
在这个例子中,我们连接到Oracle数据库后,创建了一个游标工具,并利用游标工具实行了一个SQL插入操作。execute()方法的第一个参数是SQL语句,第二个参数是参数值的元组,可以利用占位符(:1, :2)来指定参数。然后我们利用conn.commit()方法提交事务,将修正操作保存到数据库中。末了我们关闭游标和数据库连接,开释资源。
利用with语句管理数据库连接和游标为了简化代码,可以利用with语句来管理数据库连接和游标工具,确保它们在利用完成后被精确关闭和开释资源。例如:
import cx_Oracle# 连接Oracle数据库with cx_Oracle.connect(user='username', password='password', dsn='hostname:port/servicename') as conn: # 创建游标 with conn.cursor() as cur: # 实行SQL查询 cur.execute("SELECT FROM mytable") # 获取查询结果 result = cur.fetchall() # 输出查询结果 for row in result: print(row) # 实行SQL插入操作 cur.execute("INSERT INTO mytable VALUES (:1, :2)", (1, 'value1')) # 提交事务 conn.commit()
在这个例子中,我们利用with语句来管理数据库连接和游标工具。利用with语句可以自动关闭和开释资源,不须要手动调用close()方法。可以将须要管理的代码放在with语句块内,确保资源被精确开释。
总结本教程先容了cx-Oracle的基本用法,包括连接Oracle数据库、实行SQL查询和修正操作等。利用cx-Oracle可以方便地在Python中操作Oracle数据库,实现数据的存储、查询和修正等功能。在实际开拓中,可以根据须要利用cx-Oracle的更多功能,例如连接池、事务管理和预处理语句等。