python练习册-第0002题

Description

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

Analysis

这道题是送分题,就是让人熟悉一下链接数据库以及mysql的使用。

Solution

import pymysql
import random
import string


def generate(length):
    s = ''.join(random.sample(string.ascii_uppercase + string.digits, length))
    return s


if __name__ == '__main__':

    # print("请输入激活码的长度: ")
    # length = int(input())
    # print("请输入激活码的数目: ")
    # num = int(input())

    length = 10
    num = 200

    # 链接数据库
    db = pymysql.connect(host="localhost", port=3306, user="root", password="root", db="three")

    # 使用cursor()方法创建一个游标对象cursor
    cursor = db.cursor()

    # SQL 插入语句


    # 使用execute()方法执行SQL语句

    try:
        for i in range(num):
            # 执行mysql
            sql = "insert into py_3 values('" + generate(length) + "')"
            cursor.execute(sql)

        # 提交到数据库执行
        db.commit()
    except:
        # 如果发生错误就回滚
        db.rollback()
        print("wrong")

        # 关闭数据库
    db.close()

你可能感兴趣的:(python练习册-第0002题)