SQLite3查询

2024年06月05日 SQLite3查询 极客笔记

SQLite3查询

SQLite 是一种嵌入式的关系型数据库管理系统,它是零配置的、支持事务的和支持 SQL 的。SQLite 可以存储在磁盘上,也可以存储在内存中。本文将介绍如何使用 SQLite3 进行查询操作,包括查询表中的数据、过滤数据和排序数据。

连接到数据库

在使用 SQLite3 查询数据之前,首先需要连接到数据库。可以使用以下代码连接到 SQLite 数据库:

import sqlite3

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

查询数据

查询所有数据

要查询表中的所有数据,可以使用 SELECT * FROM table_name 语句。以下是一个示例代码,演示如何查询表中的所有数据:

import sqlite3

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

# 查询表中的所有数据
cursor.execute("SELECT * FROM students")
rows = cursor.fetchall()

# 打印查询结果
for row in rows:
    print(row)

# 关闭连接
conn.close()

在这段代码中,我们先连接到示例数据库 example.db,然后执行 SELECT * FROM students 查询语句,将查询结果保存在 rows 中,最后打印出所有查询结果。

查询特定数据

如果想要查询表中满足条件的数据,可以使用 SELECT * FROM table_name WHERE condition 语句。以下是一个示例代码,演示如何查询表中特定条件的数据:

import sqlite3

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

# 查询表中满足条件的数据
cursor.execute("SELECT * FROM students WHERE age > 18")
rows = cursor.fetchall()

# 打印查询结果
for row in rows:
    print(row)

# 关闭连接
conn.close()

在这段代码中,我们执行 SELECT * FROM students WHERE age > 18 查询语句,查询年龄大于 18 岁的学生信息,并打印出查询结果。

过滤数据

使用 LIMIT 限制结果数量

如果只想查询表中的前几条数据,可以使用 SELECT * FROM table_name LIMIT num 语句。以下是一个示例代码,演示如何限制查询结果的数量:

import sqlite3

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

# 查询表中的前两条数据
cursor.execute("SELECT * FROM students LIMIT 2")
rows = cursor.fetchall()

# 打印查询结果
for row in rows:
    print(row)

# 关闭连接
conn.close()

在这段代码中,我们执行 SELECT * FROM students LIMIT 2 查询语句,查询表中的前两条学生信息,并打印出查询结果。

使用 OFFSET 跳过指定数量的结果

如果想跳过查询结果的前几条数据,可以使用 SELECT * FROM table_name OFFSET num 语句。以下是一个示例代码,演示如何跳过查询结果的前几条数据:

import sqlite3

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

# 查询表中的后两条数据
cursor.execute("SELECT * FROM students LIMIT 2 OFFSET 1")
rows = cursor.fetchall()

# 打印查询结果
for row in rows:
    print(row)

# 关闭连接
conn.close()

在这段代码中,我们执行 SELECT * FROM students LIMIT 2 OFFSET 1 查询语句,查询表中的后两条学生信息,并打印出查询结果。

排序数据

使用 ORDER BY 对查询结果排序

如果想按照某个字段对查询结果排序,可以使用 SELECT * FROM table_name ORDER BY column_name 语句。以下是一个示例代码,演示如何对查询结果进行排序:

import sqlite3

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

# 按照年龄对学生信息进行升序排序
cursor.execute("SELECT * FROM students ORDER BY age")
rows = cursor.fetchall()

# 打印查询结果
for row in rows:
    print(row)

# 关闭连接
conn.close()

在这段代码中,我们执行 SELECT * FROM students ORDER BY age 查询语句,按照学生的年龄对查询结果进行升序排序,并打印出查询结果。

使用 DESC 对查询结果进行降序排序

如果想对查询结果进行降序排序,可以在 ORDER BY 子句后面添加 DESC。以下是一个示例代码,演示如何对查询结果进行降序排序:

import sqlite3

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

# 按照年龄对学生信息进行降序排序
cursor.execute("SELECT * FROM students ORDER BY age DESC")
rows = cursor.fetchall()

# 打印查询结果
for row in rows:
    print(row)

# 关闭连接
conn.close()

在这段代码中,我们执行 SELECT * FROM students ORDER BY age DESC 查询语句,按照学生的年龄对查询结果进行降序排序,并打印出查询结果。

总结

通过本文的介绍,我们了解了如何使用 SQLite3 进行查询操作,包括查询表中的数据、过滤数据和排序数据。SQLite 是一个功能强大且易于使用的数据库管理系统,适用于各种规模的应用程序开发。

本文链接:http://so.lmcjl.com/news/6006/

展开阅读全文