
MySQL
开源的 关系型数据库管理系统(RDBMS)
SQLite 是一个开源的 轻量级嵌入式关系型数据库,由 D. Richard Hipp 开发,采用 C 语言 编写。与传统数据库不同,SQLite 无需独立的服务器进程,数据库直接存储在 单个文件 中,并通过简单的 API 调用 进行访问。它以其 零配置、无依赖、高性能 的特点,广泛应用于 移动应用(Android/iOS)、嵌入式设备、桌面软件 等场景。
.db
或 .sqlite
)形式存储,无需安装或管理服务术语 | 说明 |
---|---|
数据库文件 | 所有数据存储在单一文件中(如 app.db ) |
内存数据库 | 临时数据库(:memory: ),程序退出后数据丢失 |
WAL 模式 | 写前日志(Write-Ahead Logging),提高并发写入性能 |
SQLite 命令行工具 | 交互式管理数据库(如 .tables 查看表) |
PRAGMA 命令 | 数据库配置指令(如 PRAGMA journal_mode=WAL ) |
# 启动 SQLite 命令行工具
sqlite3 test.db
# 创建表并插入数据
sqlite> CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT);
sqlite> INSERT INTO users (name) VALUES ('Alice'), ('Bob');
# 查询数据
sqlite> SELECT * FROM users;
1|Alice
2|Bob
# 导出数据到 CSV
sqlite> .mode csv
sqlite> .output users.csv
sqlite> SELECT * FROM users;
import sqlite3
# 连接数据库(不存在则创建)
conn = sqlite3.connect('app.db')
cursor = conn.cursor()
# 创建表
cursor.execute('CREATE TABLE IF NOT EXISTS books (title TEXT, price REAL)')
# 插入数据
cursor.execute("INSERT INTO books VALUES ('SQLite Guide', 29.99)")
conn.commit() # 提交事务
# 查询数据
for row in cursor.execute("SELECT * FROM books"):
print(row)
conn.close()
// 创建或打开数据库
SQLiteDatabase db = openOrCreateDatabase("app.db", MODE_PRIVATE, null);
// 执行 SQL
db.execSQL("CREATE TABLE IF NOT EXISTS tasks (id INTEGER PRIMARY KEY, name TEXT)");
db.execSQL("INSERT INTO tasks (name) VALUES ('Finish homework')");
// 查询数据
Cursor cursor = db.rawQuery("SELECT * FROM tasks", null);
while (cursor.moveToNext()) {
Log.d("SQLite", cursor.getString(1));
}
cursor.close();
PRAGMA journal_mode=WAL; -- 提高并发写入性能
conn.execute("BEGIN TRANSACTION")
for data in large_dataset:
conn.execute("INSERT ...")
conn.commit()
CREATE INDEX idx_name ON users(name);
LIMIT
分页:SELECT * FROM logs ORDER BY time DESC LIMIT 100 OFFSET 200;
本站速览导航提供的SQLite都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由速览导航实际控制,在2025年4月1日 下午9:37收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,速览导航不承担任何责任。