SQLite 是一款轻量级的关系型数据库管理系统,以其简单易用和跨平台特性而广受欢迎。它无需单独的服务器进程或系统配置,非常适合用于小型项目或者嵌入式设备中。本文将对 SQLite3 的常见用法进行梳理,帮助开发者快速掌握其核心功能。
一、安装与初始化
在使用 SQLite3 之前,首先需要确保系统已正确安装 SQLite3 工具。大多数 Linux 发行版默认自带 SQLite3,也可以通过包管理器(如 `apt` 或 `yum`)安装。对于 Windows 用户,可以从官方网站下载预编译好的二进制文件。
启动 SQLite3 后,可以通过以下命令创建一个新的数据库文件:
```bash
sqlite3 example.db
```
这会生成一个名为 `example.db` 的新数据库文件,并进入交互式 Shell 环境。
二、基本操作
1. 创建表
在 SQLite 中,可以使用 `CREATE TABLE` 语句来定义表结构。例如:
```sql
CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER DEFAULT 0
);
```
上述代码创建了一个包含三列的 `users` 表,分别是自增主键 `id`、字符串类型的 `name` 和整数类型的 `age`。
2. 插入数据
插入数据时,使用 `INSERT INTO` 语句:
```sql
INSERT INTO users (name, age) VALUES ('Alice', 25);
INSERT INTO users (name, age) VALUES ('Bob', 30);
```
如果需要批量插入多条记录,可以结合 `VALUES` 子句多次调用,或者利用参数化查询提高效率。
3. 查询数据
使用 `SELECT` 语句从表中检索数据。例如:
```sql
SELECT FROM users;
SELECT name, age FROM users WHERE age > 28;
```
第一行代码返回所有用户信息;第二行则筛选出年龄大于 28 岁的用户。
4. 更新数据
当需要修改现有记录时,可以使用 `UPDATE` 语句:
```sql
UPDATE users SET age = 26 WHERE name = 'Alice';
```
该语句将 Alice 的年龄更新为 26。
5. 删除数据
删除特定记录时,使用 `DELETE` 语句:
```sql
DELETE FROM users WHERE id = 1;
```
此操作会移除 `id` 为 1 的用户记录。
三、高级功能
1. 事务处理
SQLite 支持事务操作,确保一组相关操作要么全部成功,要么全部失败。使用 `BEGIN TRANSACTION` 开始事务,`COMMIT` 提交更改,`ROLLBACK` 撤销更改:
```sql
BEGIN TRANSACTION;
-- 执行一系列 SQL 操作
COMMIT;
```
2. 索引优化
为了加快查询速度,可以在频繁使用的字段上建立索引。例如:
```sql
CREATE INDEX idx_age ON users(age);
```
3. 备份与恢复
SQLite 提供了内置工具 `sqlite3_backup` 来实现数据库备份。此外,还可以通过导出 SQL 文件的方式保存当前状态。
四、注意事项
- SQLite 不支持复杂的分布式事务,因此不适合大规模并发访问场景。
- 数据库文件存储在本地磁盘上,需注意权限设置以避免安全问题。
- 使用参数化查询可以有效防止 SQL 注入攻击。
通过以上内容,相信读者已经对 SQLite3 的基础用法有了全面了解。无论是个人开发还是团队协作,SQLite 都能提供可靠的支持。希望本文能够成为你的学习参考!