zoukankan      html  css  js  c++  java
  • 将生成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)





  • 相关阅读:
    《C语言程序设计》指针篇<一>
    《算法竞赛入门经典》刘汝佳 C语言部分(前四章)“注解与习题” 之思索 -<1>
    程序设计第二次作业<2>
    程序设计第二次作业<1>
    第一次面向对象程序设计作业-大一下学期的自我目标
    android部署tensorflow
    vim操作
    跑groud truth的disparity
    tensorflow与android编译
    Ubuntu ndk环境变量配置
  • 原文地址:https://www.cnblogs.com/huangguabushihaogua/p/11512526.html
Copyright © 2011-2022 走看看