Python与数据库交互:SQLite入门教程
在当今数据驱动的世界中,掌握数据库交互技术是每位开发者必备的技能。Python作为一种简洁且强大的编程语言,与数据库的结合更是如虎添翼。本文将带你入门Python与SQLite数据库的交互,助你轻松掌握这一实用技能。

什么是SQLite?
SQLite是一款轻量级的关系型数据库管理系统,它无需独立的服务器进程,可以直接嵌入到应用程序中。由于其体积小、速度快、易于使用,SQLite广泛应用于各种小型项目和嵌入式设备中。
安装与导入
首先,确保你的Python环境中已安装SQLite3模块。大多数Python安装包默认包含SQLite3,你可以通过以下命令验证:
import sqlite3
print(sqlite3.version)
如果输出SQLite的版本号,说明你已经安装成功。
创建数据库与表
接下来,我们将创建一个数据库并定义一个表。假设我们要创建一个名为students.db的数据库,并在其中创建一个students表。
# 连接到数据库(如果不存在则创建)
conn = sqlite3.connect('students.db')
cursor = conn.cursor()
# 创建表
cursor.execute('''
CREATE TABLE IF NOT EXISTS students (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER,
grade TEXT
)
''')
conn.commit()
conn.close()
上述代码首先连接到students.db数据库,如果数据库不存在则自动创建。然后定义一个students表,包含id、name、age和grade四个字段。
插入数据
有了表之后,我们就可以向表中插入数据了。以下代码演示了如何插入一条学生记录:
conn = sqlite3.connect('students.db')
cursor = conn.cursor()
# 插入数据
cursor.execute('''
INSERT INTO students (name, age, grade)
VALUES ('Alice', 20, 'A')
''')
conn.commit()
conn.close()
如果你想批量插入多条数据,可以使用executemany方法:
data = [
('Bob', 21, 'B'),
('Charlie', 22, 'C'),
('David', 23, 'D')
]
conn = sqlite3.connect('students.db')
cursor = conn.cursor()
# 批量插入数据
cursor.executemany('''
INSERT INTO students (name, age, grade)
VALUES (?, ?, ?)
''', data)
conn.commit()
conn.close()
查询数据
插入数据后,我们当然需要查询数据。以下代码演示了如何查询所有学生记录:
conn = sqlite3.connect('students.db')
cursor = conn.cursor()
# 查询所有数据
cursor.execute('SELECT * FROM students')
rows = cursor.fetchall()
for row in rows:
print(row)
conn.close()
如果你只想查询特定条件的数据,可以在SELECT语句中加入WHERE子句:
conn = sqlite3.connect('students.db')
cursor = conn.cursor()
# 查询年龄大于20的学生
cursor.execute('SELECT * FROM students WHERE age > 20')
rows = cursor.fetchall()
for row in rows:
print(row)
conn.close()
更新与删除数据
在实际应用中,我们经常需要更新或删除数据。以下代码演示了如何更新和删除记录:
conn = sqlite3.connect('students.db')
cursor = conn.cursor()
# 更新数据
cursor.execute('''
UPDATE students
SET grade = 'A+'
WHERE name = 'Alice'
''')
# 删除数据
cursor.execute('''
DELETE FROM students
WHERE age < 20
''')
conn.commit()
conn.close()
总结
通过本文的介绍,你已经掌握了Python与SQLite数据库交互的基本操作,包括创建数据库与表、插入、查询、更新和删除数据。SQLite以其轻量级和易用性,成为小型项目和学习的理想选择。希望你能在此基础上,进一步探索更多高级功能,提升你的数据库操作能力。
Happy Coding! 🐍📊