SQLite 是一个轻量级的、自包含的、无服务器的、零配置的事务性 SQL 数据库引擎。它是一个 C 语言库,实现了小型、快速、独立、高可靠性的 SQL 数据库引擎。
SQLite 使用动态类型系统,支持以下存储类: - NULL - INTEGER(有符号整数) - REAL(浮点数) - TEXT(字符串) - BLOB(二进制数据)
特性 | SQLite | MySQL/PostgreSQL |
---|---|---|
架构 | 无服务器 | 客户端-服务器 |
配置 | 零配置 | 需要配置 |
数据存储 | 单一文件 | 多文件/目录结构 |
并发 | 有限 | 高并发支持 |
适用规模 | 中小型 | 中大型 |
SQLite 提供了多种语言的接口,包括: - C/C++(原生接口) - Python(sqlite3模块) - Java(JDBC) - PHP(PDO_SQLITE) - JavaScript(Node.js的sqlite3包) - .NET(System.Data.SQLite) - 以及几乎所有主流编程语言
sql
PRAGMA journal_mode = WAL;
PRAGMA synchronous = NORMAL;
import sqlite3
# 连接数据库(不存在则创建)
conn = sqlite3.connect('example.db')
# 创建游标
c = conn.cursor()
# 创建表
c.execute('''CREATE TABLE IF NOT EXISTS stocks
(date text, trans text, symbol text, qty real, price real)''')
# 插入数据
c.execute("INSERT INTO stocks VALUES ('2023-01-05','BUY','RHAT',100,35.14)")
# 提交事务
conn.commit()
# 查询数据
for row in c.execute('SELECT * FROM stocks ORDER BY price'):
print(row)
# 关闭连接
conn.close()
SQLite 因其简单性、可靠性和易用性,已成为世界上最广泛部署的数据库引擎,几乎所有智能手机和计算机都包含多个SQLite数据库实例。