Python查詢Mysql使用 fetchone() 方法獲取單條數據, 使用 fetchall() 方法獲取多條數據。 fetchone(): 該方法獲取下一個查詢結果集。結果集是一個對象 fetchall(): 接收全部的返回結果行。 fetchmany(num):查詢指定條數的記錄。 rowcount: 這是一個只讀屬性,並返回執行execute()方法後影響的行數
【示例】查詢數據
#導入模塊
import pymysql
#創建連接
con =
pymysql.connect(host='localhost',user='root'
,password='root',db='db_test',
charset='utf8')
#創建游標對象cursor
cursor=con.cursor()
sql='select * from t_user'
#執行sql
cursor.execute(sql) #獲取結果集
# result = cursor.fetchall()
# result = cursor.fetchmany(2)
result = cursor.fetchone()
print(result)
SQL注入查詢漏洞
SQL注入即是指web應用程序對用戶輸入數據的合法性沒有判斷或 過濾不嚴,攻擊者可以在web應用程序中事先定義好的查詢語句的 結尾上添加額外的SQL語句,在管理員不知情的情況下實現非法操 作,以此來實現欺騙數據庫服務器執行非授權的任意查詢,從而進 一步得到相應的數據信息測試參數
# login(uname,pwd)
login('呂小布" and 1=1#',
'')
【示例】被SQL注入版#編寫sql sql = 'SELECT id,uname,age,sex FROM t_user where uname="呂小布" and pwd="123"; # 執行 cursor.execute(sql) # 獲取數據 rs = cursor.fetchone() print(rs) 添加異常處理import pymysql
connection=None
cursor=None
try:
except Exception as e:
finally:
if cursor:
cursor.close()
if connection:
cursor.close()
實戰-開發工具類DBUtil pymysql操作mysql,雖然簡單,但每次都要鏈接數據庫,獲取 游標,關閉游標,關閉鏈接。這些操作無技術含量,還要重復 編寫!!我們應該想法提高開發效率