Python 练习册 2-将 200 个激活码存到 MySQL

题目取自Yixiaohan的python练习册

安装MySQL

以下是针对mac环境。

  • 先去mysql官网下载dmg安装包,选择MySQL Community Edition,这个免费的社区版本基本够用了
  • 安装成功后,奇怪的是并没有出现设置密码的过程,也不知道原始密码。于是乎,只能重新设置密码了,步骤如下:

step1:
苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务(点击stop mysql server)
step2:
进入终端输入:cd /usr/local/mysql/bin/
回车后 登录管理员权限 sudo su
回车后输入以下命令来禁止mysql验证功能 ./mysqld_safe --skip-grant-tables &
回车后mysql会自动重启(偏好设置中mysql的状态会变成running)
step3:
输入命令 ./mysql
回车后,输入命令 FLUSH PRIVILEGES;
回车后,输入命令 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('你的新密码');

安装mysql-connector-python库

mysql-connector-python是mysql官方出的python库。开始安装的时候遇到很多问题,尝试过git拉取代码运行setup.py,和pip install mysql-connector-python命令,但是都报错了~ ~。最后使用命令pip3 install mysql-connector==2.1.6安装成功。

使用mysql-connector-python把200个激活码存入mysql

官方文档

import uuid
import mysql.connector
from mysql.connector import errorcode


def generate_code(num):
    codes = []
    for i in range(num):
        codes.append([str(uuid.uuid1())])
    return codes


def save_in_db(codes):
    create_table_sql = 'create table if not exists codes(id int(5) primary key not null auto_increment,' \
                       'code varchar(50) not null)'
    try:
        config = {
            'user': 'root',
            'password': '123456',
            'database': 'python_practice',
            'use_unicode': 'True',
        }
        connect = mysql.connector.connect(**config)
        cursor = connect.cursor()
        cursor.execute(create_table_sql)
        insert_sql = "insert into codes (code) VALUES (%s)"
        cursor.executemany(insert_sql, codes)
        connect.commit()
    except mysql.connector.Error as err:
        if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
            print('用户名或密码错误')
        elif err.errno == errorcode.ER_BAD_DB_ERROR:
            print('数据库不存在')
        else:
            print(err)
    else:
        cursor.close()
        connect.close()


if __name__ == '__main__':
    codes = generate_code(200)
    save_in_db(codes)

你可能感兴趣的:(Python 练习册 2-将 200 个激活码存到 MySQL)