首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

Python SQLite 查詢數據表:參數化查詢、Row 工廠與連接上下文管理

     編輯:更多程式設計知識

標準查詢流程


import sqlite3 as db

with db.connect('mytest.db') as conn:
    conn.row_factory = db.Row
    cursor = conn.cursor()
    cursor.execute('SELECT * FROM person')
    for row in cursor.fetchall():
        print(f"{row['name']} | {row['age']} | {row['address']}")

參數化查詢防注入


name = 'Tom'
cursor.execute('SELECT * FROM person WHERE name = ?', (name,))
# 或命名佔位符
cursor.execute('SELECT * FROM person WHERE name = :name', {'name': name})

常用查詢模式

需求SQL
單行fetchone()
所有行fetchall()
迭代處理for row in cursor:
聚合SELECT COUNT(*) FROM person
分頁SELECT * FROM person LIMIT 10 OFFSET 20

上下文管理器優勢

  • 自動 commit(無異常)或 rollback(有異常);
  • 自動關閉連接,防止洩漏;
  • 代碼更簡潔,異常安全。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved