python获取oralce表数据,插入数据到oralce表

本文详细介绍如何使用Python的cx_Oracle库进行Oracle数据库的基本操作,包括数据的获取、插入、删除及更新,为开发者提供实用的代码示例。

获取数据

import cx_Oracle as cx
conn_str = 'c##my/t123@localhost:1521/orcl'#创建连接的用户,用户名/密码@服务器IP:端口/数据库名称
connection_oracle = cx.Connection(conn_str)连接数据库返回连接对象
cursor = connection_oracle.cursor()#返回游标对象

cursor.execute('select * from table1')#执行SQL语句,获取表的数据存到游标中
result= cursor.fetchall()#获取结果

print(result)
cursor.close()
connection_oracle.close()

插入数据

import cx_Oracle as cx

import random
conn_str = 'c##my/t123@localhost:1521/orcl'
connection_oracle = cx.Connection(conn_str)
cursor = connection_oracle.cursor()

age = random.randint(18,45)

 

#可执行,但不正确的写法

#cursor.execute("insert into table1(姓名,年龄) values('王二麻子',+str(age)+)")

#切勿将用户数据连接或插入到SQL语句中
#绑定变量是冒号前缀的标识符或数字

sql = """insert into table1(姓名,年龄)
         values (:name,:nage)"""
         
cursor.execute(sql,['王二麻子3',age])


connection_oracle.commit()#提交操作!!!!!!!!!!!!!!!!!!!不提交数据库不更新
cursor.close()
connection_oracle.close()

删除操作

del_sql = 'delete from table1 where 姓名 = :name'
cursor.execute(del_sql,['张三'])

更新操作,修改

update_sql = 'update table1 set 年龄 =:age where 姓名 =:name '
cursor.execute(update_sql,[100,'李四'])

 

Python中,可以使用`cx_Oracle`库来进行Oracle数据库的操作,包括批量插入数据。`cx_Oracle`是一个Python绑定到Oracle数据库的模块,它允许你像操作本地文件一样处理Oracle数据库。 批量插入数据的一般步骤如下: 1. **安装依赖**:首先需要安装`cx_Oracle`库,如果你还没有安装,可以使用pip命令:`pip install cx_Oracle` 2. **连接到数据库**:通过`connect()`函数创建一个数据库连接,需要提供数据库地址、用户名、密码等信息。 ```python import cx_Oracle connection = cx_Oracle.connect( user='your_username', password='your_password', dsn='//host:port/service_name' ) ``` 3. **创建游标**:游标用于执行SQL命令。 ```python cursor = connection.cursor() ``` 4. **准备插入语句**:通常会使用动态SQL,特别是当你不确定有多少条数据需要插入,或者数据是从其他地方获取的。 5. **构建插入**:将要插入数据组织成适合批量插入的形式,比如一个元组列。 6. **执行批量插入**:使用`executemany()`方法执行批量插入,该方法适用于存储过程和非存储过程,并支持多种类型的参数。 ```python insert_sql = "INSERT INTO your_table (column1, column2, ...) VALUES (:1, :2, ...)" data_list = [(value1, value2, ...) for row in your_data] # 替换为实际数据 cursor.executemany(insert_sql, data_list) ``` 7. **提交事务**:如果有多条插入操作,记得最后使用`connection.commit()`来提交事务,防止数据丢失。 8. **关闭资源**:完成后关闭游标和连接。 ```python cursor.close() connection.close() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值