1. 程式人生 > >Python3.x連線MySQL資料庫,SQL語句使用方法

Python3.x連線MySQL資料庫,SQL語句使用方法

Python3.x連線MySQL資料庫

使用的Python包

連線MySQL資料庫使用的包為pymysql

使用pip匯入此包,在cmd下輸入一下語句:

pip install pymysql

這裡寫圖片描述

開啟資料庫連線

編寫連線資料庫的方法,連線資料庫使用pymysql包中的connect()方法

import pymysql
global conn
# 開啟資料庫連線(ip/資料庫使用者名稱/登入密碼/資料庫名/編碼格式)  
conn = pymysql.connect("localhost", "root", "root", "Database",charset='utf8'
)

使用SQL語句查詢資料

編寫查詢方法,使用pymysql包中的execute()方法

首先建立一個遊標物件,用於掃描資料庫。

global cursor
# 使用 cursor() 方法建立一個遊標物件 cursor  
cursor = conn.cursor()

使用execute()方法執行SQL查詢語句:

# 使用 execute()  方法執行 SQL 查詢
cursor.execute(sql)

獲取查詢結果

返回結果只要使用fetchone()fetchall()兩個方法

前者會返回單條資料,後者為返回所有查詢資料,並以list方式儲存

在使用此方法獲取查詢資料時,需使用try

,catch語句包裹查詢方法。

def selectRecord ():

# 使用 fetchone() 方法獲取單條資料.  
#data = cursor.fetchone()
    try:
        rs=cursor.fetchall()
    except :
        rs=false
        print("查詢失敗!!")
    return rs

其他方法

pymysql中還存在其他的返回值操作,例如獲取返回資料的資料量rowcount

def rowcont ():
    return cursor.rowcount

此方法將返回所查詢到的所有資料條數。

關閉資料庫

在所有的資料庫連線操作之後,都需要關閉資料庫,以免出現持續佔用的現象。

使用close()方法來關閉資料庫。

def myclose ():
    try:
        conn.close()
    except :
        print("關閉連線失敗!!")

SQL語句的使用細節

在編寫SQL語句中,所有的變數需要使用%來轉換

例如:需要新增一個模糊搜尋中的%時,需要輸入%%來轉換

輸入字串時,需要用%s來表示,同時在SQL語句後,使用%(“字串”)來表述輸入值

sql="SELECT * FROM school WHERE Unit LIKE '%s%%' AND Cseedate LIKE '%s%%' AND Csymptoms LIKE '%%%s%%'" %("昆明理工大學","2018-05-08","無線通訊團隊")

其最終輸入給資料庫的查詢語句為:

SELECT * FROM school WHERE Unit LIKE '昆明理工大學%' AND Cseedate LIKE '2018-05-08%' AND Csymptoms LIKE '%無線通訊團隊%'