Flask自學筆記(4):PyMysql

安裝PyMysql

pip install pymysql

連接資料庫

db = pymysql.connect(host=“localhost”, port=3306, user=“root”, passwd=“root”, db=“Geek_Web”, charset=“utf8mb4”)

操作資料庫

cursor = db.cursor()        # cursor() 方法獲取操作游標
sql = "SELECT * FROM main"
cursor.execute(sql)         # 執行SQL語句
results = cursor.fetchall() # 獲取所有記錄清單
results = cursor.fetchone() # 獲取一條記錄清單
db.commit()                 # 沒有設置預設自動提交,需要主動提交,以保存所執行的語句,除了查詢其他操作都需要保存執行
cursor.close()
db.close()                  # 關閉資料庫連接

範例

import pymysql
config = {
    'host':'localhost',
    'port':3306,
    'user':'root',
    'passwd':'root',
    'db':'Geek_Web',
    'charset':'utf8mb4',
    # 資料庫內容以字典格式輸出
    #'cursorclass':pymysql.cursors.DictCursor,
}

# 連接資料庫
def Mysql():
    # 連接資料庫
    #db = pymysql.connect(host="localhost", port=3306, user="root", passwd="root", db="Geek_Web", charset="utf8mb4")
    db = pymysql.connect(**config)
    #cursor()方法獲取操作游標 
    cursor = db.cursor()
 
    try:
        return (db, cursor)
 
    except:
        print("資料庫訪問失敗") 

注意事項

  1. connect() 參數host 連接的數據庫服務器主機名默認為本地主機(localhost)
  2. user 連接數據庫的用戶名默認為當前用戶
  3. passwd 連接密碼沒有默認值
  4. db 連接的數據庫名沒有默認值
  5. conv 將文字映射到Python類型的字典默認為MySQLdb.converters.conversions
  6. cursorclass cursor()使用的種類默認值為MySQLdb.cursors.Cursor
  7. compress 啟用協議壓縮功能named_pipe 在windows中與一個命名管道相連接
  8. init_command 一旦連接建立就為數據庫服務器指定一條語句來運行
  9. read default file使用指定的MySQL配置文件
  10. read default group讀取的默認組
  11. unix_socket 在unix中連接使用的套接字默認使用
  12. TCPport 指定數據庫服務器的連接端口預設是3306