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)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容