引言
SQLite是一款輕量級的嵌入式材料庫,以其玲瓏、高效跟易於利用而馳名。在Python中,我們可能利用內置的sqlite3模塊來操縱SQLite材料庫。本文將具體介紹怎樣利用Python停止SQLite材料庫的基本操縱,包含連接材料庫、創建表、拔出數據、查詢數據等。
安裝跟導入sqlite3模塊
因為sqlite3是Python的內置模塊,因此無需額定安裝。只有確保Python情況已正確安裝,即可利用sqlite3模塊。
import sqlite3
連接材料庫
要連接SQLite材料庫,可能利用sqlite3.connect()
函數。該函數接收一個參數,即材料庫文件的道路。假如文件不存在,則會主動創建。
conn = sqlite3.connect('example.db')
創建表
利用cursor.execute()
方法可能履行SQL語句。以下是一個創建名為users
的表的示例:
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER,
email TEXT UNIQUE
)
''')
拔出數據
拔出數據同樣利用cursor.execute()
方法。以下是一個拔出數據的示例:
cursor.execute("INSERT INTO users (name, age, email) VALUES ('Alice', 30, 'alice@example.com')")
cursor.execute("INSERT INTO users (name, age, email) VALUES ('Bob', 25, 'bob@example.com')")
提交變動
在履行拔出、更新或刪除操縱後,須要利用conn.commit()
方法來提交變動。
conn.commit()
查詢數據
查詢數據同樣利用cursor.execute()
方法。以下是一個查詢全部用戶數據的示例:
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
print(row)
封閉連接
在實現全部材料庫操縱後,應封閉材料庫連接。
conn.close()
高等技能
事件處理
SQLite支撐事件處理,這意味著你可能將多個SQL語句組剖析一個事件。以下是一個示例:
cursor.execute("BEGIN TRANSACTION")
cursor.execute("INSERT INTO users (name, age, email) VALUES ('Charlie', 35, 'charlie@example.com')")
cursor.execute("UPDATE users SET age = age + 1 WHERE name = 'Alice'")
cursor.execute("ROLLBACK")
預編譯語句
預編譯語句可能進步機能,並避免SQL注入攻擊。以下是一個利用預編譯語句的示例:
cursor.execute("INSERT INTO users (name, age, email) VALUES (?, ?, ?)", ('Dave', 40, 'dave@example.com'))
批量拔出
批量拔出數據可能明顯進步機能。以下是一個批量拔出數據的示例:
users = [
('Eve', 45, 'eve@example.com'),
('Frank', 50, 'frank@example.com')
]
cursor.executemany("INSERT INTO users (name, age, email) VALUES (?, ?, ?)", users)
總結
經由過程本文的講解,信賴你曾經控制了利用Python操縱SQLite材料庫的基本技能。SQLite是一個功能富強且易於利用的材料庫,非常合適小型項目跟挪動利用。盼望本文能幫助你更好地利用SQLite跟Python停止數據存儲跟管理。