SQLite SQL详解
SQLite是一种轻量级的关系型数据库管理系统,它在许多应用程序中被广泛使用。本文将详细介绍SQLite中的SQL语言,包括数据表的创建、数据的插入、查询、更新和删除等操作。
数据库操作
创建数据库
使用SQLite之前,需要先创建一个数据库文件。可以使用以下命令来创建一个名为mydb.db的数据库文件:
sqlite3 mydb.db
打开数据库
创建完数据库文件后,可以使用以下命令来打开数据库:
sqlite3 mydb.db
关闭数据库
在完成数据库操作之后,可以使用以下命令来关闭数据库:
.quit
数据表操作
创建数据表
要创建一个数据表,可以使用CREATE TABLE
语句。以下是一个创建名为students的数据表的示例:
CREATE TABLE students (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER
);
以上代码创建了一个包含三个字段的数据表,分别是id、name和age。id字段为主键。
插入数据
要向数据表中插入数据,可以使用INSERT INTO
语句。以下是向students数据表插入一条记录的示例:
INSERT INTO students (id, name, age) VALUES (1, '张三', 18);
以上代码将一条包含id为1,name为’张三’,age为18的记录插入到students数据表中。
查询数据
要从数据表中查询数据,可以使用SELECT
语句。以下是从students数据表中查询所有记录的示例:
SELECT * FROM students;
以上代码查询了students数据表中的所有记录,并返回结果。
更新数据
要更新数据表中的记录,可以使用UPDATE
语句。以下是将id为1的记录的age字段更新为20的示例:
UPDATE students SET age = 20 WHERE id = 1;
以上代码将students数据表中id为1的记录的age字段更新为20。
删除数据
要从数据表中删除记录,可以使用DELETE FROM
语句。以下是删除students数据表中id为1的记录的示例:
DELETE FROM students WHERE id = 1;
以上代码将从students数据表中删除id为1的记录。
SQL高级操作
条件查询
在查询数据时,可以使用WHERE
子句来添加查询条件。以下是查询students数据表中age大于等于18的记录的示例:
SELECT * FROM students WHERE age >= 18;
以上代码查询了students数据表中age字段大于等于18的所有记录。
排序查询
在查询数据时,可以使用ORDER BY
子句对结果进行排序。以下是查询students数据表中按age字段降序排列的记录的示例:
SELECT * FROM students ORDER BY age DESC;
以上代码查询了students数据表中的所有记录,并按age字段降序排列。
聚合函数
在查询数据时,可以使用聚合函数对数据进行计算。以下是计算students数据表中age字段的总和的示例:
SELECT SUM(age) FROM students;
以上代码计算了students数据表中age字段的总和。
连接查询
在查询多张数据表时,可以使用连接查询将它们关联起来。以下是连接查询两个数据表students和courses的示例:
SELECT students.name, courses.name
FROM students
INNER JOIN courses ON students.id = courses.student_id;
以上代码从students和courses两个数据表中查询记录,并根据student_id字段进行关联。
分组查询
在查询数据时,可以使用GROUP BY
子句对结果进行分组。以下是查询students数据表中按age字段分组,并计算每个分组中记录的数量的示例:
SELECT age, COUNT(*)
FROM students
GROUP BY age;
以上代码按age字段分组,并计算每个分组中记录的数量。
总结
本文详细介绍了SQLite中的SQL语言,包括数据库操作、数据表操作和SQL高级操作。通过学习这些基本的SQL语句,可以实现对SQLite数据库的增删改查等操作。SQLite作为一种轻量级的数据库管理系统,广泛应用于各种应用程序中。