如何使用Python測試MySQL表中是否存在某些記錄?


有時我們需要檢查表中是否存在特定記錄。

這可以使用EXISTS語句完成。如果下面的子查詢返回一條或多條記錄,則EXISTS語句返回true。

語法

SELECT * FROM table_name WHERE EXISTS(sub_query)

如果子查詢返回一行或多行,EXISTS將返回true。

使用Python中的MySQL檢查表中是否存在記錄的步驟

  • 匯入MySQL聯結器

  • 使用connect()方法建立與聯結器的連線

  • 使用cursor()方法建立遊標物件

  • 使用適當的MySQL語句建立查詢

  • 使用execute()方法執行SQL查詢

  • 關閉連線

假設我們有如下名為“Sales”的表

+------------+---------+
| sale_price |    tax  |
+------------+---------+
|    1000    |    200  |
|    500     |    100  |
|    50      |    50   |
|    180     |    180  |
+------------+---------+

示例

import mysql.connector
db=mysql.connector.connect(host="your host", user="your username", password="your
password",database="database_name")

cursor=db.cursor()

query="SELECT sale_price FROM Sales WHERE EXISTS(SELECT * FROM Sales WHERE tax>150)"
cursor.execute(query)

rows=cursor.fetchall()
for row in rows:
   print(row)

db.close()

上面的程式碼中的子查詢返回TRUE,因為存在稅款大於150的記錄。因此,EXISTS語句返回true。如果沒有稅款大於150的記錄,則EXISTS將返回false。

輸出

1000
500
700

更新於:2021年6月10日

8K+瀏覽量

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.