将生成200 个激活码(或者优惠券)保存到 oracle关系型数据库中

生成激活码的模块uuid,这里可以使用uuid1,4,5等等,主要区别是不同的加密算法和生成因子,这里使用uuid4,就是纯随机的。

oracle数据库的操作我通过cx_Oracle实现的。

首先,要安装uuid、cx_Oracle库,在pytho3中已经叫Pillow,安装命令:pip install cx_Oracle

接下来可以定义函数直接编写代码了

生成随机验证码

 插入oracle数据库

 执行函数

 完整代码

import uuid
import redis
import cx_Oracle
def generate_key(num):
li = []
for i in range(num):
S = uuid.uuid4() #uuid4是随机生成的验证码
valuekey = str(S)
li.append(valuekey)
return li
def save_db(keys):
conn = cx_Oracle.connect('system/123456@//localhost:1521/orcl')
# 通过游标来执行sql语句
cursor = conn.cursor()
for valuekey in keys:
# 把值插入表中
cursor.execute("insert into num_t(no) values (:1)",[valuekey])
conn.commit()
# 查询一下表的结果
cursor.execute("select * from num_t")
# 输出结果
row = cursor.fetchall()
for item in range(len(row)):
print(row[item])
cursor.close()
conn.close()
if __name__ == "__main__":
li = generate_key(20)
save_db(li)


最后说说踩过的坑
1、oracle的插入语句的占位符与mysql的不一样,代码中的:1,对变量的复制就是传入一个List,即代码中的['nice']。
  有多少个变量,list中就应该对应多少个值,数目要一致,否则会报错。
2、mysql执行用格式化输出就可以了:"insert into num_t(no) value (%s)", (valuekey)





 

posted @ 2019-09-12 16:20  黄瓜不是好瓜  阅读(430)  评论(0编辑  收藏  举报