[转帖]Python连接Oracle数据库进行数据处理操作

python,连接,oracle,数据库,进行,数据处理,操作 · 浏览次数 : 0

小编点评

**Python连接Oracle数据库,并查询、提取Oracle数据库中数据** ```python import jaydebeapi import pandas as pd # 连接数据库 url = 'jdbc:oracle:thin:@ip:端口:实例名' user = 'username' password = 'password' driver_path = '/opt/ojdbc6.jar' conn = jaydebeapi.connect( driver_path=driver_path, url=url, user=user, password=password ) # 读取数据 sql_str = 'select * from tablename' df = pd.read_sql_query(sql_str, conn) # 关闭连接 conn.close() # 创建表 sql_str = 'create table table_name ( name VARCHAR(10) PRIMARY KEY, city VARCHAR(10) NOT NULL ) ' cur = conn.cursor() cur.execute(sql_str) conn.close() # 插入数据 data = { 'name': ['Lily', 'Jenny'], 'city': ['KunMing', 'ShangHai'] } df1 = pd.DataFrame(data) # 连接数据库并插入数据 conn = jaydebeapi.connect( driver_path=driver_path, url=url, user=user, password=password ) cur = conn.cursor() for i in range(len(df1)): sql_str = 'insert into table_name values (%s, %s)' % (df1.iloc[i][0], df1.iloc[i][1]) cur.execute(sql_str) conn.close() # 删除数据 sql_str = 'TRUNCATE TABLE table_name' cur = conn.cursor() cur.execute(sql_str) conn.close() ``` **其他操作** * 您可以使用 `conn.execute()` 方法执行其他 SQL 语句,例如更新、删除或查询。 * 您可以使用 `conn.commit()` 方法提交更改到数据库,并使用 `conn.rollback()` 方法回滚更改。 * 您可以使用 `conn.close()` 方法关闭连接。

正文

https://www.dgrt.cn/a/2259443.html?action=onClick

 

解决以下问题:

  1. Python连接Oracle数据库,并查询、提取Oracle数据库中数据?
  2. 通过Python在Oracle数据库中创建表
  3. Python数据插入到Oracle数据库中?
  4. Python删除Oracle数据库中数据?

一、 Python连接Oracle数据库,并查询、提取Oracle数据库中数据?

url='jdbc:oracle:thin:@ip:端口:实例名'
user='username'
password='password'
dirver='oracle.jdbc.driver.OracleDriver'
jarFile='/opt/ojdbc6.jar'
sqlstr = '''select * from tablename'''
conn=jaydebeapi.connect(dirver,url,[user,password],jarFile)
df = pd.read_sql_query(sqlstr,conn)
conn.close()

二、 通过Python在Oracle数据库中创建表

url='jdbc:oracle:thin:@ip:端口:实例名'
user='username'
password='password'
dirver='oracle.jdbc.driver.OracleDriver'
jarFile='/opt/ojdbc6.jar'
conn=jaydebeapi.connect(dirver,url,[user,password],jarFile)
curs1=conn.cursor()
sqlStr1 = '''create table table tablename(
name varchar(10) ,
city varchar(10)
)'''
curs1.execute(sqlStr1)
curs1.close()
conn.close()

tablename——表名
name,city——列名

三、 Python数据插入到Oracle数据库中

df1 = pd.DataFrame(data = {name:[Lily,Jenny],city:[KunMing,ShangHai])
#把df1中数据插入到表tablename中
url='jdbc:oracle:thin:@ip:端口:实例名'
user='username'
password='password'
dirver='oracle.jdbc.driver.OracleDriver'
jarFile='/opt/ojdbc6.jar'
conn=jaydebeapi.connect(dirver,url,[user,password],jarFile)
curs1 = conn.cursor()
for i in range(len(df1)):sqlStr1 = '''insert into tablename values ('%s','%s'')'''%(df1.iloc[i][0],df1.iloc[i][1])
curs1.execute(sqlStr1)
curs1.close()
conn.close()

四、 Python删除Oracle数据库中数据

url='jdbc:oracle:thin:@ip:端口:实例名'
user='username'
password='password'
dirver='oracle.jdbc.driver.OracleDriver'
jarFile='/opt/ojdbc6.jar'
conn=jaydebeapi.connect(dirver,url,[user,password],jarFile)
curs1 = conn.cursor()
sqlStr1 = '''TRUNCATE table tablename'''
curs1.execute(sqlStr1)
curs1.close()
conn.close()

与[转帖]Python连接Oracle数据库进行数据处理操作相似的内容: