SQLite SELECT 语句
                           
天天向上
发布: 2025-03-04 08:36:39

原创
68 人浏览过

SELECT 语句用于从 SQLite 数据库中查询数据。它是最常用的 SQL 语句之一,可以根据条件选择表中的一个或多个列。


1. 基本 SELECT 语法

SELECT column1, column2, ...
FROM table_name
WHERE condition;
  • column1, column2, ...:要查询的列。如果查询所有列,可以使用 *
  • table_name:要查询数据的表名。
  • condition:可选的过滤条件,用于限制查询的记录。

2. 查询所有列

语法

SELECT * FROM table_name;

* 表示查询所有列的数据。

示例:查询所有用户数据

SELECT * FROM users;

这条语句会返回 users 表中所有列和所有记录。


3. 查询指定列

语法

SELECT column1, column2, ... FROM table_name;

你可以指定查询某些列。

示例:查询用户的 nameage

SELECT name, age FROM users;

这条语句只会返回 users 表中的 nameage 列。


4. 使用 WHERE 子句进行条件过滤

WHERE 子句用于指定过滤条件,可以基于列值进行筛选。

语法

SELECT column1, column2, ...
FROM table_name
WHERE condition;

示例:查询年龄大于 30 的用户

SELECT name, age FROM users WHERE age > 30;

这将返回 age 大于 30 的所有用户的 nameage

更多条件操作

  • =:等于
  • >:大于
  • <:小于
  • >=:大于或等于
  • <=:小于或等于
  • <>!=:不等于
  • BETWEEN ... AND ...:范围查找
  • IN (...):匹配多个值
  • LIKE:模糊匹配
  • IS NULL:查找空值

5. 使用 ORDER BY 排序

ORDER BY 子句用于对查询结果进行排序,可以按升序(ASC)或降序(DESC)排序。

语法

SELECT column1, column2, ...
FROM table_name
ORDER BY column_name [ASC | DESC];
  • ASC:升序(默认)。
  • DESC:降序。

示例:按年龄升序查询用户

SELECT name, age FROM users ORDER BY age ASC;

这会按照 age 列的升序返回所有用户。

示例:按年龄降序查询用户

SELECT name, age FROM users ORDER BY age DESC;

这会按照 age 列的降序返回所有用户。


6. 使用 LIMIT 限制查询结果

LIMIT 子句用于限制查询返回的记录数。

语法

SELECT column1, column2, ...
FROM table_name
LIMIT number;

示例:返回前 5 条用户数据

SELECT name, age FROM users LIMIT 5;

这会返回 users 表中的前 5 条记录。


7. 聚合函数

SQLite 提供了多种聚合函数,如 COUNT(), SUM(), AVG(), MAX(), MIN() 等。

示例:查询用户总数

SELECT COUNT(*) FROM users;

这会返回 users 表中的记录数。

示例:查询用户的平均年龄

SELECT AVG(age) FROM users;

这会返回 users 表中所有用户的平均年龄。


8. 使用 GROUP BY 子句分组

GROUP BY 用于将查询结果按某一列分组,并可以与聚合函数结合使用。

语法

SELECT column, AGGREGATE_FUNCTION(column)
FROM table_name
GROUP BY column;

示例:按年龄分组并统计每个年龄段的用户数

SELECT age, COUNT(*) FROM users GROUP BY age;

这会按 age 列将用户分组,并统计每个年龄段的用户数量。


9. 使用 JOIN 连接多个表

SQLite 支持多种连接操作,如 INNER JOIN, LEFT JOIN, RIGHT JOINRIGHT JOIN 不被 SQLite 支持),可以将多个表的数据结合起来查询。

示例:使用 INNER JOIN 查询订单及用户信息

假设有两个表 usersordersorders 表包含 user_id 列,用于关联 users 表的 id

SELECT users.name, orders.order_id
FROM users
INNER JOIN orders ON users.id = orders.user_id;

这条语句会返回所有有订单的用户的姓名和订单 ID。


10. 在 Python 中使用 SELECT

在 Python 中,你可以使用 sqlite3 库执行 SELECT 语句。

示例:查询所有用户数据

import sqlite3

# 连接到数据库
conn = sqlite3.connect('my_database.db')
cursor = conn.cursor()

# 执行 SELECT 查询
cursor.execute("SELECT name, age FROM users")

# 获取所有结果
rows = cursor.fetchall()
for row in rows:
    print(row)

# 关闭连接
conn.close()

总结

  • 基本查询:使用 SELECT 查询表中的数据。
  • WHERE 子句:用于添加查询条件。
  • ORDER BY:用于排序查询结果。
  • LIMIT:用于限制查询结果的数量。
  • 聚合函数:用于计算如总数、平均值等。
  • JOIN 操作:用于连接多个表查询数据。
  • GROUP BY:用于分组和聚合查询。

更多详细内容请关注其他相关文章。

发表回复 0

Your email address will not be published. Required fields are marked *