日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Python MySQL 数据库查询:选择数据、使用筛选条件、防止 SQL 注入

發布時間:2023/11/16 47 coder
生活随笔 收集整理的這篇文章主要介紹了 Python MySQL 数据库查询:选择数据、使用筛选条件、防止 SQL 注入 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

從表格中選擇數據

要從MySQL中的表格中選擇數據,請使用"SELECT"語句:

示例選擇"customers"表格中的所有記錄,并顯示結果:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

mycursor.execute("SELECT * FROM customers")

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

注意:我們使用 fetchall() 方法,該方法從上次執行的語句中獲取所有行。

選擇列

要僅選擇表格中的某些列,請使用"SELECT"語句,后跟列名:

示例僅選擇name和address列:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

mycursor.execute("SELECT name, address FROM customers")

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

使用 fetchone() 方法

如果您只對一行數據感興趣,可以使用 fetchone() 方法。

fetchone() 方法將返回結果的第一行:

示例僅獲取一行:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

mycursor.execute("SELECT * FROM customers")

myresult = mycursor.fetchone()

print(myresult)

這是您提供的內容的Markdown排版,按照您的要求進行了整理。如果需要進一步的編輯或修改,請告訴我。

使用篩選條件選擇記錄

在從表格中選擇記錄時,您可以使用"WHERE"語句來篩選選擇的記錄:

示例選擇地址為"Park Lane 38"的記錄:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "SELECT * FROM customers WHERE address ='Park Lane 38'"

mycursor.execute(sql)

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

通配符字符

您還可以選擇以給定字母或短語開頭、包含或以給定字母或短語結尾的記錄。

使用 % 來表示通配符字符:

示例選擇地址中包含單詞 "way" 的記錄:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "SELECT * FROM customers WHERE address LIKE '%way%'"

mycursor.execute(sql)

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

防止SQL注入

當查詢值由用戶提供時,應該轉義這些值。

這是為了防止SQL注入,這是一種常見的網絡黑客技術,可以破壞或濫用您的數據庫。

mysql.connector 模塊具有轉義查詢值的方法:

示例使用占位符 %s 方法轉義查詢值:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "SELECT * FROM customers WHERE address = %s"
adr = ("Yellow Garden 2", )

mycursor.execute(sql, adr)

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

最后

為了方便其他設備和平臺的小伙伴觀看往期文章:公眾號搜索Let us Coding,或者掃描下方二維碼,關注公眾號,即可獲取最新文章。

看完如果覺得有幫助,歡迎點贊、收藏關注

總結

以上是生活随笔為你收集整理的Python MySQL 数据库查询:选择数据、使用筛选条件、防止 SQL 注入的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。