Python SQLite3查询

SQLite是一种嵌入式关系型数据库管理系统,它是一个零配置的、服务器端的数据库引擎。Python内置了SQLite3模块,使得我们可以在Python中进行SQLite数据库的操作。本文将介绍如何使用Python的sqlite3模块进行查询操作。

什么是SQLite3

SQLite3是一种轻量级的数据库,它可以在本地文件系统中创建一个数据库文件,无需独立的数据库服务器。SQLite3数据库是一个自包含的、零配置的、事务性的数据库引擎,它不需要独立的服务器处理数据库连接,并且所有的数据库操作都是在一个进程的上下文中完成的。这使得SQLite3成为一种非常适合嵌入式系统或者移动设备的数据库引擎。

连接到数据库

在使用sqlite3模块之前,我们需要先连接到一个数据库。可以使用sqlite.connect()函数来连接到一个特定的数据库文件。

import sqlite3

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

创建表格

在查询数据库之前,我们需要先创建一个表格。可以使用SQL语句来创建表格,然后使用execute()函数执行SQL语句。

# 创建表格
conn.execute('''CREATE TABLE students
             (id INT PRIMARY KEY     NOT NULL,
             name           TEXT    NOT NULL,
             age            INT     NOT NULL);''')

插入数据

插入数据是将数据添加到表格中的过程。可以使用SQL语句的INSERT INTO语句来插入数据,并使用execute()函数执行SQL语句。

# 插入数据
conn.execute("INSERT INTO students (id, name, age) VALUES (1, 'Alice', 18)")
conn.execute("INSERT INTO students (id, name, age) VALUES (2, 'Bob', 20)")

查询数据

查询是从数据库中检索数据的过程。可以使用SQL语句的SELECT语句来查询数据,并使用execute()函数执行SQL语句。查询的结果可以使用fetchall()函数获取。

# 查询数据
cursor = conn.execute("SELECT * FROM students")
result = cursor.fetchall()
for row in result:
    print(f"ID: {row[0]}, Name: {row[1]}, Age: {row[2]}")

关闭数据库连接

当我们完成了数据库操作之后,应该关闭数据库连接,释放对数据库文件的控制。

# 关闭数据库连接
conn.close()

实例应用

下面是一个完整的示例,展示了如何使用Python的sqlite3模块进行查询操作。

import sqlite3

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

# 创建表格
conn.execute('''CREATE TABLE students
             (id INT PRIMARY KEY     NOT NULL,
             name           TEXT    NOT NULL,
             age            INT     NOT NULL);''')

# 插入数据
conn.execute("INSERT INTO students (id, name, age) VALUES (1, 'Alice', 18)")
conn.execute("INSERT INTO students (id, name, age) VALUES (2, 'Bob', 20)")

# 查询数据
cursor = conn.execute("SELECT * FROM students")
result = cursor.fetchall()
for row in result:
    print(f"ID: {row[0]}, Name: {row[1]}, Age: {row[2]}")

# 关闭数据库连接
conn.close()

小结

本文介绍了如何使用Python的sqlite3模块进行查询操作。通过连接到数据库、创建表格、插入数据和查询数据等步骤,我们可以很方便地使用SQLite3数据库进行数据操作。SQLite3的简单易用性使得它成为了很多项目中首选的数据库引擎之一。

希望本文对于学习Python的SQLite3查询操作有所帮助。如有疑问,欢迎留言讨论。

参考资料

  • [Python SQLite3 Documentation](
  • [SQLite Tutorial](
  • [SQLite - Wikipedia](