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 数据库的使用。

相关推荐
罗超驿20 分钟前
15.JavaScript 函数与作用域完全指南:语法、参数、表达式与作用域链实战
开发语言·前端·javascript
.千余22 分钟前
【C++】C++类与对象2:C++构造函数、运算符重载与流输入输出全面解析
c语言·开发语言·前端·c++·经验分享
郭涤生27 分钟前
C++ 高性能状态机
开发语言·c++
SOC罗三炮43 分钟前
OpenHuman 源码深度解构:一个 Rust 驱动的本地优先 AI 个人助手
开发语言·人工智能·rust
心怀梦想的咸鱼1 小时前
OpenCode 接入 API 报错 read ECONNRESET:基于环境变量的证书校验绕过方案
开发语言·php
程序大视界1 小时前
【Python系列课程】Python入门教程
开发语言·人工智能·python
morning_judger1 小时前
Agent系列(二)-记忆系统的设计
开发语言·python·机器学习
方也_arkling1 小时前
【Java-Day02】语法篇:变量/数据类型/标识符/运算符/类型转换
java·开发语言
RSTJ_16251 小时前
PYTHON+AI LLM DAY SIXTY-ONE
开发语言·python
zfoo-framework1 小时前
理解kotlin limitedParallelism(1)与Actor模型
android·开发语言·kotlin