Skip to content

SQLite 库表 ​

基本数据类型 ​

SQLite 使用动态类型系统,字段类型只在语义上提供约束。

类型说明
INTEGER整数
REAL浮点数
TEXT文本
BLOB二进制数据
NULL空值

字段类型可以写成 VARCHAR(255),但 SQLite 实际仍按类型亲和性和上述存储类型处理。

创建表 ​

sql
CREATE TABLE users (
  id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  email TEXT NOT NULL UNIQUE,
  age INTEGER DEFAULT 0,
  created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
);

INTEGER PRIMARY KEY 会成为 rowid 的别名,插入时不指定该字段即可自动生成整数主键。

查看表 ​

sql
.tables
.schema users
.schema

修改表 ​

sql
ALTER TABLE users RENAME TO app_users;
ALTER TABLE users RENAME COLUMN old_col TO new_col;
ALTER TABLE users ADD COLUMN status INTEGER DEFAULT 1;
ALTER TABLE users DROP COLUMN status;

DROP COLUMN 需要 SQLite 3.35+。

删除表 ​

sql
DROP TABLE IF EXISTS users;

外键 ​

sql
PRAGMA foreign_keys = ON;

SQLite 默认不强制外键。

执行计划 ​

sql
EXPLAIN QUERY PLAN
SELECT *
FROM users
WHERE email = 'tom@example.com';

常用函数 ​

sql
SELECT sqlite_version();
SELECT datetime('now');
SELECT date('now');
SELECT IFNULL(NULL, 'default');

基于 MIT 许可发布