SQLite 命令详解

SQLite 命令详解

SQLite 是一款轻量级的数据库管理系统,以其小巧、高效、易于使用而广受欢迎。本文将详细介绍 SQLite 的常用命令,帮助您更好地理解和运用这款数据库。

1. 数据库创建与连接

1.1 创建数据库

要创建一个 SQLite 数据库,可以使用以下命令:

sql 复制代码
CREATE DATABASE database_name;

1.2 连接数据库

创建数据库后,需要连接到数据库才能进行操作。以下命令用于连接数据库:

sql 复制代码
ATTACH DATABASE 'database_name.db' AS 'alias';

其中,database_name.db 是数据库文件名,alias 是数据库别名。

2. 表操作

2.1 创建表

创建表是数据库操作的基础。以下命令用于创建一个名为 students 的表,包含 idnameage 三个字段:

sql 复制代码
CREATE TABLE students (
    id INTEGER PRIMARY KEY,
    name TEXT NOT NULL,
    age INTEGER
);

2.2 查询表结构

要查看表结构,可以使用以下命令:

sql 复制代码
PRAGMA table_info(students);

2.3 插入数据

向表中插入数据,可以使用以下命令:

sql 复制代码
INSERT INTO students (name, age) VALUES ('张三', 20);

2.4 查询数据

查询表中的数据,可以使用以下命令:

sql 复制代码
SELECT * FROM students;

2.5 更新数据

更新表中的数据,可以使用以下命令:

sql 复制代码
UPDATE students SET age = 21 WHERE name = '张三';

2.6 删除数据

删除表中的数据,可以使用以下命令:

sql 复制代码
DELETE FROM students WHERE name = '张三';

2.7 删除表

删除整个表,可以使用以下命令:

sql 复制代码
DROP TABLE students;

3. 索引操作

3.1 创建索引

创建索引可以加快查询速度。以下命令为 students 表的 name 字段创建索引:

sql 复制代码
CREATE INDEX idx_name ON students (name);

3.2 查看索引

查看已创建的索引,可以使用以下命令:

sql 复制代码
PRAGMA index_list(students);

3.3 删除索引

删除索引,可以使用以下命令:

sql 复制代码
DROP INDEX idx_name;

4. 事务操作

SQLite 支持事务操作,以下命令用于事务处理:

sql 复制代码
BEGIN TRANSACTION;

-- 执行一系列操作

COMMIT;

在事务中,如果发生错误,可以使用以下命令回滚事务:

sql 复制代码
ROLLBACK;

5. 数据库备份与恢复

5.1 备份数据库

要备份数据库,可以使用以下命令:

sql 复制代码
BACKUP DATABASE database_name TO 'backup.db';

5.2 恢复数据库

要恢复数据库,可以使用以下命令:

sql 复制代码
ATTACH DATABASE 'backup.db' AS 'backup';

然后,将 backup 数据库中的数据复制到 database_name 数据库:

sql 复制代码
INSERT INTO students SELECT * FROM backup.students;

最后,断开备份数据库的连接:

sql 复制代码
DETACH DATABASE backup;

6. 总结

本文详细介绍了 SQLite 的常用命令,包括数据库创建、连接、表操作、索引操作、事务操作和数据库备份与恢复。通过学习这些命令,您可以更好地掌握 SQLite 数据库的使用。

相关推荐
路多辛15 小时前
全能型 Go Agent 框架 covonaut v1.0.8 发布:新增行内补全与多后端可观测性
开发语言·golang·agent
大模型丫丫15 小时前
FastAPI 入门指南:从零开始构建高性能 Python API
开发语言·python·fastapi
wuyk55515 小时前
《WiFi 嵌入式物联网开发全套实战》| 第01章 WiFi整体架构详解:BSS/ESS/AP/STA模式彻底区分
开发语言·stm32·单片机·嵌入式硬件·mcu·物联网·51单片机
wuyk55515 小时前
第六章:CAN 调试工具、抓包分析、全套故障排查 + CAN-FD 进阶拓展
开发语言·stm32·单片机
2501_9151063215 小时前
Swift 开发环境搭建指南:三条路径按目标对号入座
开发语言·vscode·ios·objective-c·个人开发·swift·敏捷流程
Mr. zhihao15 小时前
线上卡顿排查决策手册:场景 × 命令 × 现象 × 调整方案
java·开发语言·jvm
一直C16 小时前
【Linux应用编程】深入理解Linux多任务机制:进程原理、状态转换与进程控制实战
linux·开发语言·算法·ubuntu·vim·visual studio code
名字还没想好☜16 小时前
Python asyncio.Queue 实战:用生产者-消费者给爬虫/任务流限速又解耦
开发语言·爬虫·python·并发·asyncio
问君能有几多愁~17 小时前
Qt Json 序列化操作
开发语言·qt·json
xieliyu.17 小时前
MySQL 进阶笔记:用户 / 会话 / 全局 / 局部变量 + CASE 分支语法
开发语言·数据库·笔记·mysql