SQLite 命令
SQLite 常用命令大全
SQLite 提供了一系列命令来管理数据库、表和数据。下面是 SQLite 主要的命令分类及其示例:
1. SQLite 基本命令
这些命令用于管理数据库、查看 SQLite 版本和退出 SQLite。
| 命令 | 说明 |
|---|---|
.help | 显示所有 SQLite 命令的帮助信息 |
.version | 显示 SQLite 版本信息 |
.exit 或 .quit | 退出 SQLite 交互模式 |
.databases | 显示当前连接的数据库 |
.tables | 显示当前数据库中的所有表 |
.schema [table_name] | 显示表结构(模式) |
.mode column | 以列模式显示查询结果 |
.headers on | 显示查询结果的列名 |
.show | 显示 SQLite 当前的配置信息 |
示例:
sqlite3 test.db # 进入 SQLite 并打开 test.db 数据库
sqlite> .tables # 查看当前数据库中的表
sqlite> .schema users # 查看 users 表的结构
sqlite> .exit # 退出 SQLite
2. SQLite 数据库管理
创建数据库
SQLite 采用 单文件存储,创建数据库时,只需指定数据库文件名:
sqlite3 mydatabase.db
如果 mydatabase.db 文件不存在,它将自动创建。
删除数据库
SQLite 不提供直接删除数据库的命令,删除数据库文件即可:
rm mydatabase.db # Linux/macOS
del mydatabase.db # Windows
连接数据库
在 SQLite 交互模式下打开已有数据库:
sqlite3 mydatabase.db
3. SQLite 表管理
创建表
CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER
);
查看表结构
.schema users
删除表
DROP TABLE users;
重命名表
ALTER TABLE users RENAME TO customers;
添加新列
ALTER TABLE users ADD COLUMN email TEXT;
4. SQLite 数据操作
插入数据
INSERT INTO users (name, age) VALUES ('Alice', 25);
INSERT INTO users (name, age) VALUES ('Bob', 30);
查询数据
SELECT * FROM users;
SELECT name, age FROM users WHERE age > 25;
SELECT COUNT(*) FROM users;
更新数据
UPDATE users SET age = 35 WHERE name = 'Alice';
删除数据
DELETE FROM users WHERE name = 'Bob';
DELETE FROM users; -- 清空表数据
5. SQLite 事务管理
开启事务
BEGIN TRANSACTION;
提交事务
COMMIT;
回滚事务
ROLLBACK;
示例:
BEGIN TRANSACTION;
INSERT INTO users (name, age) VALUES ('Charlie', 40);
ROLLBACK; -- 撤销插入操作
6. SQLite 索引
创建索引
CREATE INDEX idx_users_name ON users (name);
删除索引
DROP INDEX idx_users_name;
7. SQLite 视图
创建视图
CREATE VIEW user_names AS
SELECT id, name FROM users;
查询视图
SELECT * FROM user_names;
删除视图
DROP VIEW user_names;
8. SQLite 导出和导入数据
导出数据(CSV 格式)
sqlite> .mode csv
sqlite> .headers on
sqlite> .output users.csv
sqlite> SELECT * FROM users;
sqlite> .output stdout # 重新设置输出到终端
导入数据(CSV 格式)
sqlite> .mode csv
sqlite> .import users.csv users
9. SQLite 高级命令
查看数据库大小
SELECT page_count * page_size as size_in_bytes FROM pragma_page_count(), pragma_page_size();
启用/禁用外键
PRAGMA foreign_keys = ON;
优化数据库
VACUUM;
10. SQLite GUI 工具
如果你想要使用图形界面管理 SQLite 数据库,可以使用以下工具:
- DB Browser for SQLite(免费,推荐)下载地址
- SQLiteStudio
- DBeaver
总结
| 分类 | 常用命令 |
|---|---|
| 基本命令 | .help .version .exit .tables .schema |
| 数据库管理 | sqlite3 mydatabase.db rm mydatabase.db |
| 表管理 | CREATE TABLE DROP TABLE ALTER TABLE |
| 数据操作 | INSERT SELECT UPDATE DELETE |
| 事务 | BEGIN TRANSACTION COMMIT ROLLBACK |
| 索引 | CREATE INDEX DROP INDEX |
| 视图 | CREATE VIEW DROP VIEW |
| 导入/导出 | .mode csv .import .output |
| 优化 | PRAGMA VACUUM |
你想要先从哪个部分开始练习?可以从创建数据库和表开始,还是直接操作数据?更多详细内容请关注其他相关文章。