Python3.x連線MySQL資料庫,SQL語句使用方法
阿新 • • 發佈:2019-02-10
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 '%無線通訊團隊%'