📅  最后修改于: 2023-12-03 15:05:20.285000             🧑  作者: Mango
SQLite是一种轻量级的关系型数据库,它可以嵌入到应用程序中使用,而不需要任何独立的数据库服务器。SQLite使用SQL语言进行数据操作,支持多种数据类型和查询语句。本文将介绍SQLite中的插入和查询操作。
SQLite中插入操作使用INSERT INTO
语句,例子如下:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
其中table_name
为表名,column1
、column2
等为所插入的列名(可以省略),value1
、value2
等为所插入的值(与所插入的列一一对应)。
例如,插入一条记录到users
表中,包含id、name、age三个字段,如下:
INSERT INTO users (id, name, age)
VALUES (1, 'John', 22);
执行成功后,将在users
表中插入一条记录,id为1,name为John,age为22。
在需要多条记录时,可以使用INSERT INTO
语句的扩展语法,如下:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...),
(value1, value2, value3, ...),
(value1, value2, value3, ...),
...
每一行由逗号隔开,每一条记录之间使用逗号进行分隔。
例如,插入三条记录到users
表中,如下:
INSERT INTO users (id, name, age)
VALUES (1, 'John', 22),
(2, 'Tom', 25),
(3, 'Lucy', 18);
如果某一列设置为默认值,则可以不指定该列的值,例如:
CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER DEFAULT 18
);
INSERT INTO users (name) VALUES ('Jim');
执行成功后,将在users
表中插入一条记录,id自动增长,name为Jim
,age为默认值18。
SQLite中查询操作使用SELECT
语句,例子如下:
SELECT column1, column2, ...
FROM table_name;
其中column1
、column2
等为所查询的列名(可以使用*
代替查询所有列),table_name
为表名。SELECT
语句支持多种查询语句,如WHERE
、ORDER BY
等。
例如,查询users
表中所有记录,如下:
SELECT * FROM users;
可以使用WHERE
子句指定查询条件,如下:
SELECT column1, column2, ...
FROM table_name
WHERE condition;
其中condition
为查询的条件(可以使用多个条件,如AND
、OR
等),例如:
SELECT * FROM users WHERE age > 20 AND name LIKE 'J%';
将查询users
表中年龄大于20岁且名字以J
开头的记录。
可以使用ORDER BY
子句指定查询结果排序方式,如下:
SELECT column1, column2, ...
FROM table_name
ORDER BY column_name DESC;
其中column_name
为要排序的列名,可以省略DESC
,表示升序排列(默认为升序排列)。
例如,查询users
表中所有记录,并按照年龄降序排列,如下:
SELECT * FROM users ORDER BY age DESC;
可以使用GROUP BY
子句对查询结果分组,如下:
SELECT column_name1, column_name2, ..., aggregate_function(column_name)
FROM table_name
GROUP BY column_name1, column_name2, ...;
其中aggregate_function
为聚合函数,如COUNT
、SUM
、AVG
等。
例如,查询users
表中不同年龄有多少人,并按照年龄升序排列,如下:
SELECT age, COUNT(*) FROM users GROUP BY age ORDER BY age ASC;
可以使用JOIN
子句进行多表查询,如下:
SELECT column_name1, column_name2, ...
FROM table1
JOIN table2 ON condition;
其中table1
、table2
为要查询的表名,condition
为连接条件。JOIN
子句还支持LEFT JOIN
、RIGHT JOIN
等。
例如,查询users
和orders
表中所有记录,按照用户id升序排列,如下:
SELECT * FROM users
JOIN orders ON users.id = orders.user_id
ORDER BY users.id ASC;
本文介绍了SQLite中的插入和查询操作,包括插入单条记录、批量插入、插入默认值、条件查询、排序查询、分组查询和连接查询等。SQLite是一种轻量级的关系型数据库,可以满足开发者的需要。