SQLite 是一個輕量級的嵌入式數據庫,廣泛應用于移動應用、嵌入式設備和小型應用程序中。Python 提供了內置的 sqlite3 模塊,使得與 SQLite 數據庫的交互變得非常簡單。本文將詳細介紹如何使用 Python 創建 SQLite 數據庫,并執行基本的數據庫操作。
SQLite 是一個嵌入式數據庫,因此不需要單獨安裝。Python 的 sqlite3 模塊已經內置在標準庫中,可以直接使用。如果你使用的是 Python 3.x 版本,那么 sqlite3 模塊已經默認安裝好了。
在 Python 中,創建 SQLite 數據庫非常簡單。你只需要使用 sqlite3.connect() 函數連接到數據庫文件即可。如果數據庫文件不存在,SQLite 會自動創建一個新的數據庫文件。
import sqlite3
# 連接到 SQLite 數據庫
# 如果數據庫文件不存在,則會自動創建
conn = sqlite3.connect('example.db')
# 創建一個游標對象
cursor = conn.cursor()
# 關閉連接
conn.close()
在上面的代碼中,我們使用 sqlite3.connect() 函數連接到名為 example.db 的數據庫文件。如果該文件不存在,SQLite 會自動創建它。連接成功后,我們創建了一個游標對象 cursor,用于執行 SQL 語句。最后,我們使用 conn.close() 關閉數據庫連接。
在 SQLite 中,表是存儲數據的基本結構。我們可以使用 SQL 語句來創建表。以下是一個創建表的示例:
import sqlite3
# 連接到 SQLite 數據庫
conn = sqlite3.connect('example.db')
# 創建一個游標對象
cursor = conn.cursor()
# 創建一個表
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER
)
''')
# 提交事務
conn.commit()
# 關閉連接
conn.close()
在上面的代碼中,我們使用 CREATE TABLE 語句創建了一個名為 users 的表。該表包含三個字段:id、name 和 age。id 字段是主鍵,并且會自動遞增。name 字段是文本類型,不能為空。age 字段是整數類型。
創建表之后,我們可以向表中插入數據。以下是一個插入數據的示例:
import sqlite3
# 連接到 SQLite 數據庫
conn = sqlite3.connect('example.db')
# 創建一個游標對象
cursor = conn.cursor()
# 插入一條數據
cursor.execute('''
INSERT INTO users (name, age) VALUES (?, ?)
''', ('Alice', 25))
# 提交事務
conn.commit()
# 關閉連接
conn.close()
在上面的代碼中,我們使用 INSERT INTO 語句向 users 表中插入了一條數據。? 是占位符,用于防止 SQL 注入攻擊。我們通過傳遞一個元組 ('Alice', 25) 來替換占位符。
插入數據之后,我們可以使用 SELECT 語句查詢數據。以下是一個查詢數據的示例:
import sqlite3
# 連接到 SQLite 數據庫
conn = sqlite3.connect('example.db')
# 創建一個游標對象
cursor = conn.cursor()
# 查詢數據
cursor.execute('SELECT * FROM users')
# 獲取所有結果
rows = cursor.fetchall()
# 打印結果
for row in rows:
print(row)
# 關閉連接
conn.close()
在上面的代碼中,我們使用 SELECT * FROM users 語句查詢 users 表中的所有數據。cursor.fetchall() 方法返回所有查詢結果,并將其存儲在 rows 變量中。最后,我們遍歷 rows 并打印每一行數據。
我們可以使用 UPDATE 語句更新表中的數據。以下是一個更新數據的示例:
import sqlite3
# 連接到 SQLite 數據庫
conn = sqlite3.connect('example.db')
# 創建一個游標對象
cursor = conn.cursor()
# 更新數據
cursor.execute('''
UPDATE users SET age = ? WHERE name = ?
''', (30, 'Alice'))
# 提交事務
conn.commit()
# 關閉連接
conn.close()
在上面的代碼中,我們使用 UPDATE 語句將 users 表中 name 為 Alice 的記錄的 age 字段更新為 30。
我們可以使用 DELETE 語句刪除表中的數據。以下是一個刪除數據的示例:
import sqlite3
# 連接到 SQLite 數據庫
conn = sqlite3.connect('example.db')
# 創建一個游標對象
cursor = conn.cursor()
# 刪除數據
cursor.execute('''
DELETE FROM users WHERE name = ?
''', ('Alice',))
# 提交事務
conn.commit()
# 關閉連接
conn.close()
在上面的代碼中,我們使用 DELETE FROM 語句刪除 users 表中 name 為 Alice 的記錄。
如果我們不再需要某個表,可以使用 DROP TABLE 語句刪除它。以下是一個刪除表的示例:
import sqlite3
# 連接到 SQLite 數據庫
conn = sqlite3.connect('example.db')
# 創建一個游標對象
cursor = conn.cursor()
# 刪除表
cursor.execute('DROP TABLE IF EXISTS users')
# 提交事務
conn.commit()
# 關閉連接
conn.close()
在上面的代碼中,我們使用 DROP TABLE 語句刪除 users 表。IF EXISTS 子句用于防止在表不存在時拋出錯誤。
本文介紹了如何使用 Python 創建 SQLite 數據庫,并執行基本的數據庫操作,包括創建表、插入數據、查詢數據、更新數據、刪除數據和刪除表。SQLite 是一個輕量級的數據庫,非常適合小型應用程序和嵌入式設備。Python 的 sqlite3 模塊使得與 SQLite 數據庫的交互變得非常簡單。希望本文對你有所幫助!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。