Python 教程

18.1 数据库基础与SQLite简介

Python数据库基础与SQLite入门教程:简单易懂的Python学习指南

Python 教程

本教程针对Python初学者,详细介绍了数据库的基础概念和SQLite数据库。通过简单代码示例,讲解如何在Python中使用SQLite进行数据管理,帮助你快速上手数据库操作。

推荐工具
PyCharm专业版开发必备

功能强大的Python IDE,提供智能代码补全、代码分析、调试和测试工具,提高Python开发效率。特别适合处理列表等数据结构的开发工作。

了解更多

Python数据库基础与SQLite简介

引言

欢迎来到Python数据库基础与SQLite简介教程!在编程中,数据存储和管理至关重要,数据库帮助我们高效地处理数据。本教程将从零开始,带你了解数据库的基础知识,并学习如何在Python中使用SQLite——一个轻量级、易于上手的数据库。即使你是新手,也能轻松掌握。

数据库基础:什么是数据库?

数据库(Database)是一个有组织的集合,用于存储、管理和检索数据。想象一下,它就像一个数字化的文件柜,可以快速找到你需要的信息。在数据库中,数据通常以表格形式存储,类似于Excel工作表。

核心概念

  • 数据(Data):信息的基本单位,例如一个名字或一个数字。
  • 数据库(Database):多个表的集合,用于存储相关数据。
  • 表(Table):数据的具体存储结构,由行和列组成。
    • 行(Row)记录(Record):表中的一个条目,代表一个完整的数据项,例如一个人的信息。
    • 列(Column)字段(Field):表中的一列,代表数据的属性,例如“姓名”或“年龄”。

理解这些概念后,你将更容易操作数据库。接下来,我们介绍SQLite,一个非常适合Python初学者的数据库。

SQLite简介:什么是SQLite?

SQLite是一个轻量级的嵌入式数据库,意味着它不需要单独的服务器程序,数据直接存储在一个文件中。这使得它易于使用,特别适合学习、小型项目或移动应用。SQLite支持SQL(结构化查询语言),这是一种用于管理和操作数据库的标准语言。

为什么选择SQLite?

  • 简单易用:无需复杂安装,Python内置支持。
  • 零配置:没有服务器设置,直接操作文件。
  • 跨平台:在Windows、macOS、Linux等系统上都能运行。

现在,让我们学习如何在Python中使用SQLite。

Python中使用SQLite:快速入门

Python标准库中包含sqlite3模块,这意味着你不需要额外安装任何软件就能开始使用。我们将通过一个简单的例子,从连接到数据库到执行基本操作,一步步演示。

准备工作

确保你安装了Python(推荐Python 3.x版本)。打开一个Python编辑器或命令行,即可开始编写代码。

基本操作步骤

  1. 连接到数据库:创建一个数据库文件或连接到现有的文件。
  2. 创建游标(Cursor):游标用于执行SQL命令。
  3. 创建表:定义数据的结构。
  4. 插入数据:向表中添加数据。
  5. 查询数据:检索和显示数据。
  6. 更新和删除数据(可选):修改或删除数据。
  7. 关闭连接:完成后释放资源。

示例代码:创建一个简单的用户数据库

以下是一个完整的Python代码示例,演示了上述步骤。请复制代码到你的Python环境中运行。

import sqlite3  # 导入sqlite3模块

# 步骤1:连接到数据库(如果文件不存在,会自动创建)
conn = sqlite3.connect('example.db')  # example.db是数据库文件名

# 步骤2:创建一个游标对象,用于执行SQL命令
cursor = conn.cursor()

# 步骤3:创建一个表,名为users,包含id、name和age字段
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY,   -- 主键,唯一标识每条记录
    name TEXT,                -- 文本类型,存储姓名
    age INTEGER               -- 整数类型,存储年龄
)
''')

# 步骤4:插入一些数据到users表
cursor.execute("INSERT INTO users (name, age) VALUES ('Alice', 30)")
cursor.execute("INSERT INTO users (name, age) VALUES ('Bob', 25)")

# 提交更改到数据库(确保数据被保存)
conn.commit()

# 步骤5:查询所有数据并打印
cursor.execute("SELECT * FROM users")  # *表示选择所有字段
rows = cursor.fetchall()  # 获取所有查询结果
print("用户数据:")
for row in rows:
    print(f"ID: {row[0]}, 姓名: {row[1]}, 年龄: {row[2]}")

# 步骤6:关闭数据库连接(重要!)
conn.close()

代码解释

  • sqlite3.connect('example.db'):连接到名为example.db的数据库文件。如果文件不存在,Python会自动创建它。
  • cursor.execute():执行SQL命令,例如创建表或插入数据。
  • CREATE TABLE IF NOT EXISTS:安全地创建表,如果表已存在则跳过。
  • INSERT INTO:向表中插入新数据。
  • SELECT * FROM users:查询users表中的所有数据。
  • cursor.fetchall():获取查询结果的所有行,返回一个列表。
  • conn.commit():提交事务,确保更改被保存。
  • conn.close():关闭连接,释放资源。

运行这段代码后,你会在当前目录下看到一个example.db文件,其中存储了用户数据。控制台会输出:

用户数据:
ID: 1, 姓名: Alice, 年龄: 30
ID: 2, 姓名: Bob, 年龄: 25

扩展练习

为了巩固学习,尝试修改代码:

  • 添加更多数据到表中。
  • 使用WHERE子句查询特定数据,例如SELECT * FROM users WHERE age > 25
  • 更新或删除数据,例如使用UPDATE users SET age = 26 WHERE name = 'Bob'来修改Bob的年龄。

总结

在本教程中,你学习了数据库的基础知识,包括数据、表、记录和字段的概念。我们还介绍了SQLite数据库,它是一个轻量级且易于使用的选项。通过Python的sqlite3模块,你可以轻松执行连接数据库、创建表、插入和查询数据等操作。

记住,实践是学习的关键!多尝试修改代码,探索更多SQLite功能。对于进一步学习,建议研究SQL语言的高级特性,或者了解其他数据库如MySQL或PostgreSQL。希望本教程帮助你迈出数据库操作的第一步!

如果你遇到问题,可以查阅Python官方文档或在线社区。祝你学习愉快,继续探索Python的无限可能!

开发工具推荐
Python开发者工具包

包含虚拟环境管理、代码格式化、依赖管理、测试框架等Python开发全流程工具,提高开发效率。特别适合处理复杂数据结构和算法。

获取工具包