十分钟学会 cxoracle 库的用法(cx_oracle库用法)

十分钟学会 cx_oracle 库的用法

cx_oracle 库是 Python 语言中操作 Oracle 数据库的常用库之一,它实现了一系列 Oracle 数据库的操作,包括连接数据库、执行 SQL 语句、获取查询数据等。本文将介绍如何在十分钟内学会使用 cx_oracle 库。

第一步:安装 cx_oracle 库

安装 cx_oracle 库需要先安装 Oracle Instant Client,可以前往 Oracle 官网下载相应版本的客户端安装程序。安装完成后,使用以下命令在命令行界面中安装 cx_oracle 库:

pip install cx_oracle

如果在 Windows 操作系统中安装 cx_oracle 库出现问题,可以从 cx_oracle 的官网下载对应版本的 whl 文件进行安装。

第二步:连接 Oracle 数据库

需要使用 cx_oracle.connect() 函数连接 Oracle 数据库,该函数需要传递用户名、密码、数据库地址等参数。以下是连接 Oracle 数据库的样例代码:

import cx_oracle
# 填写数据库连接信息
dsn = cx_oracle.makedsn("localhost", "1521", "orcl")
username = "username"
password = "password"
# 连接数据库
connection = cx_oracle.connect(username, password, dsn)

以上代码中,“localhost”表示本地主机地址,“1521”表示数据库端口,“orcl”表示数据库实例名,用户名和密码是在 Oracle 数据库中新建用户时设置的账号和密码。

第三步:执行 SQL 语句

连接成功后,就可以执行 SQL 语句进行数据操作。cx_oracle 库中的 cursor() 函数可以创建执行 SQL 语句的游标,然后使用 execute() 函数执行 SQL 语句,举例如下:

# 创建游标
cursor = connection.cursor()

# 执行查询语句
cursor.execute("SELECT * FROM users")
# 获取查询结果
result = cursor.fetchall()
print(result)

# 关闭游标
cursor.close()

以上代码中,execute() 函数的参数是一条 SQL 语句,这里执行的是查询语句,使用 fetchall() 函数可以获取查询的结果。需要注意的是,查询结果是一个 tuple 类型的列表。

除了查询语句,还可以执行插入、更新、删除等操作,例如:

# 插入数据
cursor.execute("INSERT INTO users (id, name, age) VALUES (1, 'Tom', 18)")
connection.commit() # 提交事务
# 更新数据
cursor.execute("UPDATE users SET age = 20 WHERE id = 1")
connection.commit()

# 删除数据
cursor.execute("DELETE FROM users WHERE id = 1")
connection.commit()

需要注意的是,对于插入、更新、删除等写操作,需要将语句执行结果提交到数据库。

第四步:关闭数据库连接

使用 cx_oracle 库中的 close() 函数关闭数据库连接,代码如下:

# 关闭连接
connection.close()

完整样例代码如下:

import cx_oracle
# 填写数据库连接信息
dsn = cx_oracle.makedsn("localhost", "1521", "orcl")
username = "username"
password = "password"
# 连接数据库
connection = cx_oracle.connect(username, password, dsn)
# 创建游标
cursor = connection.cursor()
# 执行查询语句
cursor.execute("SELECT * FROM users")
# 获取查询结果
result = cursor.fetchall()
print(result)

# 插入数据
cursor.execute("INSERT INTO users (id, name, age) VALUES (1, 'Tom', 18)")
connection.commit()

# 更新数据
cursor.execute("UPDATE users SET age = 20 WHERE id = 1")
connection.commit()

# 删除数据
cursor.execute("DELETE FROM users WHERE id = 1")
connection.commit()

# 关闭游标
cursor.close()
# 关闭连接
connection.close()

以上就是使用 cx_oracle 库操作 Oracle 数据库的基本方法,通过以上简单几步,便可快速上手。


数据运维技术 » 十分钟学会 cxoracle 库的用法(cx_oracle库用法)