在Python中,可以使用cx_Oracle
模块连接和操作Oracle数据库。以下是Python使用cx_Oracle
模块连接和操作Oracle数据库的完整攻略,包括连接Oracle数据库、表、插入数据、查询数据、更新数据、删除数据等操作。
连接Oracle数据库
在Python中,可以使用cx_Oracle
模块连接Oracle数据库。以下是连接Oracle数据库的基本语法:
import cx_Oracle
dsn_tns = cx_Oracle.makedsn('localhost', '1521', service_name='ORCLCDB')
conn = cx_Oracle.connect(user='myusername', password='mypassword', dsn=dsn_tns)
在上面的语法中,cx_Oracle.makedsn()
方法用于创建DSN,localhost
是Oracle服务器的主机名,1521
是Oracle服务器的端号,ORCLCDB
是要连接的数据库名称,myusername
是数据库的用户名,mypassword
是连接数据库的密码。
创建表
在Oracle中,可以使用CREATE TABLE
语句创建表。以下是创建表的基本语法:
import cx_Oracle
dsn_tns = cx_Oracle.makedsn('localhost', '1521', service_name='ORCLCDB')
conn = cx_Oracle.connect(user='myusername', password='mypassword', dsn=dsn_tns)
cur = conn.cursor()
cur.execute('''CREATE TABLE mytable
(id NUMBER(10), name VARCHAR2(50), age NUMBER(3))''')
在上面的语法中,cur.execute()
方法用于执行SQL语句,mytable
是要创建的表名,id``name
和age
是表的列名。
插入数据
在Oracle中,可以使用INSERT INTO
语句插入数据。以下是插入数据的基本语法:
import cx_Oracle
dsn_tns = cx_Oracle.makedsn('localhost', '1521', service_name='ORCLCDB')
conn = cx_Oracle.connect(user='myusername', password='mypassword', dsn=dsn_tns)
cur = conn.cursor()
# 插入一条数据
cur.execute("INSERT INTO mytable (id, name, age) VALUES (:1, :2, :3)", (1, "John", 25))
# 插入多条数据
mylist = [
(2, "Amy", 20),
(3, "Hannah", 22),
(4, "Michael", 30)
]
cur.executemany("INSERT INTO mytable (id, name, age) VALUES (:1, :2, :3)", mylist)
# 提交更改
conn.commit()
在上面的语法中,cur.execute()
方法用于插入一条数据,cur.executemany()
方法用于插入多条数据,conn.commit()
方法用于提交更改。
查询数据
在Oracle中,可以使用SELECT
语句查询数据。以下是查询数据的基本语法:
import cx_Oracle
dsn_tns = cx_Oracle.makedsn('localhost', '1521', service_name='ORCLCDB')
conn = cx_Oracle.connect(user='myusername', password='mypassword', dsn=dsn_tns)
cur = conn.cursor()
# 查询所有数据
cur.execute("SELECT * FROM mytable")
rows = cur.fetchall()
# 查询指定条件的数据
cur.execute("SELECT * FROM mytable WHERE age > :1", (25,))
rows = cur.fetchall()
在上面的语法中,cur.execute()
方法用于执行查询,cur.fetchall()
方法用于获取查询结果。
更新数据
在Oracle中,可以使用UPDATE
语句更新数据。以下是更新数据的基本语法:
import cx_Oracle
dsn_tns = cx_Oracle.makedsn('localhost', '1521', service_name='ORCLCDB')
conn = cx_Oracle.connect(user='myusername', password='mypassword', dsn=dsn_tns)
cur = conn.cursor()
# 更新数据
cur.execute("UPDATE mytable SET age = :1 WHERE name = :2", (30, "John"))
# 提交更改
conn.commit()
在上面的语法中,cur.execute()
方法用于更新数据,conn.commit()
方法用于提交更改。
删除数据
在Oracle中,可以使用DELETE
语句删除数据。以下是删除数据的基本语法:
import cx_Oracle
dsn_tns = cx_Oracle.makedsn('localhost', '1521', service_name='ORCLCDB')
conn = cx_Oracle.connect(user='myusername', password='mypassword', dsn=dsn_tns)
cur = conn.cursor()
# 删除数据
cur.execute("DELETE FROM mytable WHERE name = :1", ("John",))
# 提交更改
conn.commit()
在上面的语法中,cur.execute()
方法用于删除数据,conn.commit()
方法用于提交更改。
示例1
在这个示例中,我们将使用Python连接到Oracle数据库,并创建一个表,然后插入一些数据,查询所有数据并打印结果。
以下是Python代码:
import cx_Oracle
dsn_tns = cx_Oracle.makedsn('localhost', '1521', service_name='ORCLCDB')
conn = cx_Oracle.connect(user='myusername', password='mypassword', dsn=dsn_tns)
cur = conn.cursor()
# 创建表
cur.execute('''CREATE TABLE mytable
(id NUMBER(10), name VARCHAR2(50), age NUMBER(3))''')
# 插入数据
cur.execute("INSERT INTO mytable (id, name, age) VALUES (:1, :2, :3)", (1, "John", 25))
# 查询所有数据
cur.execute("SELECT * FROM mytable")
rows = cur.fetchall()
# 打印查询结果
for row in rows:
print(row)
在上面的代码中,我们使用cx_Oracle
模块连接到Oracle数据库。然后,我们使用cur.execute()
方法创建一个表,使用cur.execute()
方法插入一条数据。最后,我们使用cur.fetchall()
方法获取查询结果,使用for
循环遍历每一行,并使用print()
函数打印每一行。
示例2
在这个示例中,我们将使用Python连接到Oracle数据库,并更新一些数据,然后查询指定条件的数据并打印结果。
以下是Python代码:
import cx_Oracle
dsn_tns = cx_Oracle.makedsn('localhost', '1521', service_name='ORCLCDB')
conn = cx_Oracle.connect(user='myusername', password='mypassword', dsn=dsn_tns)
cur = conn.cursor()
# 更新数据
cur.execute("UPDATE mytable SET age = :1 WHERE name = :2", (30, "John"))
# 查询指定条件的数据
cur.execute("SELECT * FROM mytable WHERE age > :1", (25,))
rows = cur.fetchall()
# 打印查询结果
for row in rows:
print(row)
在上面的代码中,我们使用cx_Oracle
模块连接到Oracle数据库。然后,我们使用cur.execute()
方法更新一条数据。最后,我们使用cur.fetchall()
方法获取查询结果,使用for
循环遍历每一行,并使用print()
函数打印每一行。
以上是使用Python连接和操作Oracle数据库的完整攻略,包括连接Oracle数据库、创建表、插入数据查询数据、更新数据和删除数据等操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何使用Python连接和操作Oracle数据库? - Python技术站