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

快速学习Python中cx_Oracle插入数据的方法

发布时间:2024-01-02 17:14:39

在Python中,可以使用cx_Oracle模块来连接Oracle数据库,并且通过该模块提供的方法来插入数据。下面是一些使用cx_Oracle插入数据的方法及其示例。

1. 连接到Oracle数据库

首先,你需要使用cx_Oracle.connect()方法来连接到Oracle数据库。该方法接受一个包含连接参数的字典作为参数,并返回一个连接对象。下面是连接到Oracle数据库的示例代码:

import cx_Oracle

# 连接参数
connection_params = {
    'user': 'username',
    'password': 'password',
    'dsn': 'localhost/orcl'
}

# 连接到Oracle数据库
connection = cx_Oracle.connect(**connection_params)

2. 创建游标

使用连接对象的cursor()方法可以创建一个游标对象,用于执行SQL语句。游标对象提供了execute()和executemany()方法来执行SQL语句。下面是创建游标的示例代码:

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

3. 插入数据

使用游标对象的execute()方法可以执行插入数据的SQL语句。可以使用bind变量来传递插入的值。下面是执行插入数据的示例代码:

# 执行插入数据的SQL语句
sql = "INSERT INTO employees (id, name, department) VALUES (:id, :name, :department)"
data = {
    'id': 1,
    'name': 'John Doe',
    'department': 'IT'
}
cursor.execute(sql, data)

# 提交事务
connection.commit()

4. 批量插入数据

如果要批量插入数据,可以使用游标对象的executemany()方法。该方法接受一个SQL语句和一个包含插入值的列表,然后将该列表中的每个元素作为一条记录插入到数据库中。下面是执行批量插入数据的示例代码:

# 执行批量插入数据的SQL语句
sql = "INSERT INTO employees (id, name, department) VALUES (:id, :name, :department)"
data = [
    {
        'id': 1,
        'name': 'John Doe',
        'department': 'IT'
    },
    {
        'id': 2,
        'name': 'Jane Smith',
        'department': 'HR'
    },
    {
        'id': 3,
        'name': 'Michael Johnson',
        'department': 'Finance'
    }
]
cursor.executemany(sql, data)

# 提交事务
connection.commit()

5. 关闭游标和连接

在完成插入操作后,应该关闭游标和连接以释放资源。可以使用游标对象的close()方法来关闭游标,使用连接对象的close()方法来关闭连接。下面是关闭游标和连接的示例代码:

# 关闭游标
cursor.close()

# 关闭连接
connection.close()

以上就是使用cx_Oracle插入数据的方法及其使用示例。通过cx_Oracle模块,可以轻松连接到Oracle数据库,并使用游标对象插入数据。注意要及时提交事务并关闭游标和连接,以避免资源泄漏。