python操作mysql关系数据库 show me the code 0001-0002


虽然对 python 的了解还不是很深入,但是随着学习的推进,不得不感慨,python 真的是太方便了!方便到连接数据库一句代码搞定,ok,上代码~


以下代码完成了这些事:


1.     generate_activation_code(code_count) 这个方法用于生成激活码,这里用到了python 的 uuid 模块:

uuid 用于生成唯一标识,通过Mac地址,时间戳,明明空间,伪随机数来保证生成 ID 的唯一性,uuid 有五种算法,即有五

种实现。这里用了 uuid,uuid1(), 此方法返回的是一个UUID对象。由mac地址,当前时间戳,随机数生成,可保证全球范围内

         的唯一性。好吧,其实是因为懒,所以选择了这种调用起来最简单的实现方法,其余的实现,有兴趣的可自行百度。


2.  对于数据库的操作:这一部分在代码中附有简单注释,就不唧唧歪歪了~



	

__author__ = 'Administrator'
# encoding:utf-8

# 完成show me the code 0001-0002
# 生成200个激活码并保存到mysql 关系数据库

import uuid
import pymysql

# 用uuid生成 code_count 个激活码:
def generate_activation_code(code_count):
    data = []
    for i in range(0, code_count):
        item = {}
        code = uuid.uuid1().__str__()
        item['id'] = i
        item['code'] = code
        data.append(item)
    return data


class DBUtil:
    conn = None
    cur = None

    def __init__(self):
        self.get_connection()
        self.get_cursor()
        self.conn.select_db = 'python'

    # 获取数据库连接
    def get_connection(self):
        self.conn = pymysql.connect(host='localhost', port=3306, user='python',
                                    passwd='123456', db='python', charset='utf8')

    # 获取操作游标
    def get_cursor(self):
        try:
            self.cur = self.conn.cursor()
        except Exception as e:
            print(e)
            pass

    # 执行操作
    def execute(self, statement='', *args):
        self.cur.execute(statement, args)

    # 提交
    def commit(self):
        self.conn.commit()

    # 关闭数据库连接及游标,释放资源
    def close(self):
        self.conn.close()
        self.cur.close()


if __name__ == '__main__':
    data = generate_activation_code(200)

    client = DBUtil()

    drop_stmt = """DROP TABLE IF EXISTS actuvation_code;"""
    create_table_stmt = """create table actuvation_code (
                            id INT(4),
                            code VARCHAR(40) );"""
    try:
        client.execute(drop_stmt)
        client.commit()
        client.execute(create_table_stmt)
        client.commit()
    except Exception as e:
        print(e)
        pass

    insert_stmt = """insert INTO actuvation_code(id,code) VALUES (%s,%s)"""
    if data:
        try:
            for item in data:
                arg = [item['id'], item['code']]
                client.execute(insert_stmt, item['id'], item['code'])
            client.commit()
        except Exception as e:
            print(e)
            pass

        client.close()



最后,是效果截图~



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值