终极Python 3数据库操作指南:SQLite与MySQL完整连接教程
在Python开发中,数据库操作是核心技能之一。本教程将带你快速掌握Python 3连接SQLite和MySQL数据库的完整流程,从环境搭建到实战操作,让你轻松应对数据存储需求。无论你是编程新手还是需要提升数据库技能的开发者,这篇指南都能帮助你高效上手。
为什么选择Python进行数据库操作?
Python凭借简洁的语法和丰富的库支持,成为数据库操作的理想选择。通过内置的sqlite3模块和第三方mysql-connector库,你可以用极少的代码实现复杂的数据库交互。项目中的./samples/db/do_sqlite.py和./samples/db/do_mysql.py文件提供了完整的示例代码,方便你直接参考学习。
SQLite快速上手:零配置的文件型数据库
SQLite是Python内置的轻量级数据库,无需额外安装服务器,非常适合小型项目和本地开发。
基本连接步骤
- 导入模块:使用
import sqlite3加载内置模块 - 建立连接:通过
sqlite3.connect('test.db')创建数据库文件 - 创建游标:调用
conn.cursor()获取操作对象 - 执行SQL:使用
cursor.execute()执行SQL语句 - 提交事务:通过
conn.commit()保存更改 - 关闭连接:操作完成后调用
conn.close()
核心代码示例
import sqlite3
# 连接数据库(文件不存在则自动创建)
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
# 创建表
cursor.execute('create table user (id varchar(20) primary key, name varchar(20))')
# 插入数据
cursor.execute('insert into user (id, name) values (\'1\', \'Michael\')')
conn.commit()
cursor.close()
conn.close()
MySQL实战:企业级数据库连接方案
MySQL是广泛使用的关系型数据库,适合中大型应用。项目中./samples/db/do_mysql.py文件展示了完整的连接和操作示例。
环境准备
首先安装MySQL驱动:
pip3 install mysql-connector-python
连接与操作流程
- 导入驱动:
import mysql.connector - 建立连接:提供数据库地址、用户名和密码
- 执行操作:通过游标执行SQL命令
- 处理结果:使用
fetchall()获取查询结果 - 关闭资源:依次关闭游标和连接
关键代码片段
import mysql.connector
# 连接数据库
conn = mysql.connector.connect(
user='root',
password='password',
database='test'
)
cursor = conn.cursor()
# 插入数据(使用%s作为占位符)
cursor.execute('insert into user (id, name) values (%s, %s)', ('1', 'Michael'))
conn.commit()
# 查询数据
cursor.execute('select * from user where id = %s', ('1',))
print(cursor.fetchall())
cursor.close()
conn.close()
数据库操作最佳实践
- 使用参数化查询:避免SQL注入风险,SQLite使用
?占位符,MySQL使用%s - 及时关闭资源:确保游标和连接正确关闭,或使用
with语句自动管理 - 事务管理:重要操作需通过
commit()提交,错误时使用rollback()回滚 - 异常处理:添加
try-except块捕获数据库操作可能出现的错误
总结:选择适合你的数据库方案
- SQLite:适合本地开发、嵌入式应用和简单数据存储,无需额外配置
- MySQL:适合多用户访问、复杂查询和企业级应用,需要单独安装服务器
通过项目中./samples/db/目录下的示例代码,你可以快速对比两种数据库的操作差异。无论是开发小型工具还是构建大型应用,Python都能提供简洁高效的数据库解决方案。
希望本指南能帮助你掌握Python数据库操作的核心技能。立即克隆项目开始实践吧:
git clone https://gitcode.com/gh_mirrors/lea/learn-python3
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考




