SQLite是一种轻量级的数据库,它非常适合嵌入到应用程序中,下面是使用SQLite读取数据库的基本步骤:

创建或连接到数据库
你需要创建一个数据库文件或者连接到一个已经存在的数据库文件。
CREATE DATABASE mydatabase.db;
或者,如果你已经有一个数据库文件,可以使用以下命令连接到它:
.open mydatabase.db
创建表
在数据库中创建一个表来存储数据。
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
email TEXT NOT NULL
);
插入数据
向表中插入一些数据。
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
INSERT INTO users (name, email) VALUES ('Bob', 'bob@example.com');
读取数据
使用SELECT语句来读取数据。

SELECT * FROM users;
使用参数化查询
为了防止SQL注入,使用参数化查询。
SELECT * FROM users WHERE name = ?;
然后使用Python的sqlite3模块传递参数:
import sqlite3
conn = sqlite3.connect('mydatabase.db')
cursor = conn.cursor()
cursor.execute("SELECT * FROM users WHERE name = ?", ('Alice',))
rows = cursor.fetchall()
for row in rows:
print(row)
conn.close()
使用游标
如果你需要处理大量数据,可以使用游标。
cursor = conn.cursor()
cursor.execute("SELECT * FROM users")
for row in cursor:
print(row)
cursor.close()
使用事务
SQLite支持事务,这意味着你可以执行一系列的SQL语句,如果中间的某个语句失败了,整个事务可以回滚。
BEGIN TRANSACTION;
INSERT INTO users (name, email) VALUES ('Charlie', 'charlie@example.com');
UPDATE users SET email = 'charlie_new@example.com' WHERE name = 'Charlie';
COMMIT;
读取特定列
如果你想读取特定的列,可以在SELECT语句中指定它们。

SELECT name, email FROM users;
表格示例
| SQL语句 | 说明 |
|---|---|
| CREATE DATABASE mydatabase.db | 创建数据库文件 |
| .open mydatabase.db | 打开数据库文件 |
| CREATE TABLE users … | 创建表 |
| INSERT INTO users … | 向表中插入数据 |
| SELECT * FROM users | 读取所有数据 |
| SELECT * FROM users WHERE name = ? | 读取特定名称的用户数据 |
| SELECT name, email FROM users | 读取特定列的数据 |
| BEGIN TRANSACTION; | 开始一个事务 |
| COMMIT | 提交事务 |
| ROLLBACK | 回滚事务 |
FAQs
Q1: 如何在SQLite中删除数据?
A1: 使用DELETE语句可以删除数据。
DELETE FROM users WHERE name = 'Alice';
Q2: 如何在SQLite中更新数据?
A2: 使用UPDATE语句可以更新数据。
UPDATE users SET email = 'alice_new@example.com' WHERE name = 'Alice';
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/208384.html