# 导入必要的模块
import oracledb
import faker
import random
# 创建faker对象,指定中文语言
f = faker.Faker("zh_CN")
# 连接oracle数据库,替换用户名、密码和数据库
conn = oracledb.connect(user="用户名", password="密码", dsn="数据库")
# 创建游标对象
cur = conn.cursor()
# 准备插入语句,使用绑定变量
sql = "insert into dev_test (name, age, income) values (:1, :2, :3)"
# 生成百万条记录的数据列表,每个元素是一个元组(name, age, income)
##random.randint(a,b):用于生成一个指定范围的整数,包含b
data = [(f.name(), random.randint(18, 60), random.randint(1000, 40000)) for _ in range(100)]
# 调整批量插入的大小,以适应内存和性能需求
batch_size = 10
# 批量插入数据,提高性能
for i in range(0, len(data), batch_size):
try :
cur.executemany(sql, data[i:i+batch_size])
except Exception as e:
print(e)
# 提交事务
conn.commit()
# 关闭游标和连接对象
cur.close()
conn.close()
查询表数据并执行
#定义查询语句
aid="select a from pepole"
#执行语句
cur.execute(aid)
#获取所有记录
result = cur.fetchall()