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 的表,包含 id、name 和 age 三个字段:

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

相关推荐
2601_962885729 小时前
如何用 Python 自动识别股票的支撑位与压力位?
开发语言·python
爱吃奥利奥_wen9 小时前
面向对象三板斧:封装、继承、多态,到底在“装“什么、“承“什么、“变“什么?
开发语言·经验分享·c#
我可能是个假开发10 小时前
FTP Unicode 文件名导致 `550` 的问题分析与解决方案
java·开发语言·spring
WL学习笔记11 小时前
日期类(C++)
开发语言·c++·日期类实现
谢亮_vipxieliang12 小时前
Go map与结构体的正确使用
开发语言·golang·哈希算法
H.莓飛12 小时前
【C++】命名空间、缺省参数、函数重载与引用
linux·开发语言·c++·visual studio
xxwl58512 小时前
数据结构知识点和代码实现总结(C语言实现)
c语言·开发语言·数据结构
code2cat15 小时前
Java进阶篇之AtomicMarkableReference:引用还在,标记已经改变
java·开发语言·cas·并发编程·逻辑删除
CappuccinoRose15 小时前
FormData数据处理
开发语言·前端·javascript·表单数据
Zguigo15 小时前
【CUDA8】第一个CUDA C++ Kernel --vector add
java·开发语言·c++