欢迎访问宙启技术站
智能推送

使用cx_Oracle在Python中实现插入操作

发布时间:2024-01-02 17:10:27

在Python中使用cx_Oracle插入操作需要先安装cx_Oracle模块,并提供Oracle数据库的连接信息。

安装cx_Oracle模块可以使用pip命令来进行安装:

pip install cx_Oracle

然后,需要提供Oracle数据库的连接信息,包括数据库的主机名、端口号、服务名、用户名和密码。可以使用以下代码来建立与Oracle数据库的连接:

import cx_Oracle

# 连接信息
hostname = "localhost"    # 数据库主机名
port = 1521               # 数据库端口号
service_name = "ORCL"     # 数据库服务名
username = "scott"        # 数据库用户名
password = "tiger"        # 数据库密码

# 建立连接
dsn = cx_Oracle.makedsn(hostname, port, service_name=service_name)
connection = cx_Oracle.connect(username, password, dsn)

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

在成功建立连接并创建游标后,可以使用插入操作将数据插入到Oracle数据库中。下面是一个简单的例子,插入一条学生的记录到学生表中:

# 插入操作
sql = "INSERT INTO students (id, name, age) VALUES (:id, :name, :age)"
data = {'id': 1, 'name': 'Alice', 'age': 18}
cursor.execute(sql, data)

# 提交事务
connection.commit()

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

可以通过将插入操作放入循环中,一次插入多条记录。下面是一个插入100条学生记录的例子:

# 插入100条学生记录
for i in range(1, 101):
    data = {'id': i, 'name': 'Student' + str(i), 'age': 18 + i}
    cursor.execute(sql, data)

# 提交事务
connection.commit()

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

在插入操作中,可以使用参数绑定的方式来防止SQL注入攻击。需要注意的是,参数名需要以冒号(:)开头,并且参数值需要通过字典或元组的方式进行传递。

在插入完成后,需要使用commit()方法来提交事务,以确保插入操作的结果被持久化到Oracle数据库中。

最后,记得在插入操作完成后关闭游标和连接,释放资源。

在实际使用过程中,可以根据需求来定制插入操作的逻辑和数据,达到插入数据到Oracle数据库的目的。