Python常用数据库操作指南:6大主流驱动连接与代码示例
在Python数据分析与后端开发中,稳定调用数据库接口是保障业务流转的关键。本文梳理MySQL、SQLite、PostgreSQL、Oracle、MongoDB与Redis六种主流数据库的标准交互方案,提供完整可运行的连接、查询与资源释放代码,帮助开发者根据业务场景快速选型、避开版本兼容陷阱并提升数据读写效率。
MySQL数据库:基于 pymysql 的连接与查询
pymysql 是纯Python实现的轻量级MySQL客户端,无需依赖底层C库即可跨平台运行。适用于常规Web服务与定时任务的数据读取。
import pymysql
# 建立连接(生产环境建议将敏感参数抽离至配置中心)
conn = pymysql.connect(
host='localhost',
user='root',
password='123456',
database='test',
charset='utf8mb4'
)
try:
# 创建游标对象
cursor = conn.cursor()
# 执行查询
cursor.execute("SELECT * FROM students")
# 拉取全部结果
result = cursor.fetchall()
for row in result:
print(row)
finally:
# 规范关闭游标与连接,防止内存泄漏
cursor.close()
conn.close()
SQLite数据库:sqlite3 内置轻量存储
sqlite3 随Python标准库自带,零依赖启动,非常适合本地测试、桌面应用及嵌入式场景的轻量级数据缓存。
import sqlite3
# 自动创建或打开本地文件
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
try:
cursor.execute("SELECT * FROM students")
result = cursor.fetchall()
for row in result:
print(row)
finally:
cursor.close()
conn.close()
PostgreSQL数据库:psycopg2 高性能驱动
psycopg2 支持高级数据类型、并发事务与连接池机制,是企业级Python应用中对接PostgreSQL的首选方案。
import psycopg2
conn = psycopg2.connect(
database="test",
user="postgres",
password="123456",
host="localhost",
port="5432"
)
try:
cursor = conn.cursor()
cursor.execute("SELECT * FROM students")
result = cursor.fetchall()
for row in result:
print(row)
finally:
cursor.close()
conn.close()
Oracle数据库:cx_Oracle 传统接口用法
通过短DSN格式即可直连实例。适合维护存量Oracle系统的脚本工具与ETL调度任务。
import cx_Oracle
# 使用用户名/密码@主机:端口/服务名 简写方式建立会话
conn = cx_Oracle.connect("username/password@localhost:1521/orcl")
try:
cursor = conn.cursor()
cursor.execute("SELECT * FROM students")
result = cursor.fetchall()
for row in result:
print(row)
finally:
cursor.close()
conn.close()
MongoDB数据库:pymongo 文档集合操作
pymongo 面向无模式设计,默认返回字典结构,天然契合日志分析、配置管理及快速迭代的半结构化数据场景。
from pymongo import MongoClient
client = MongoClient('mongodb://localhost:27017/')
db = client['test']
collection = db['students']
try:
# find() 返回可迭代的光标对象
cursor = collection.find()
for doc in cursor:
print(doc)
finally:
client.close()
Redis数据库:redis 键值对缓存交互
redis-py 专注内存高速读写,常用于会话保持、排行榜、分布式锁与高频热点数据穿透防护。
import redis
r = redis.Redis(host='localhost', port=6379, db=0)
# 写入字符串类型键值
r.set('name', 'Tom')
value = r.get('name')
print(value)
r.close()
不同数据库的驱动在连接字符串、游标处理与事务控制上存在差异,实际项目中应结合数据一致性要求、并发规模与运维成本综合评估。以上就是这六类Python常用数据库操作模块的详细对比与代码实现,更多关于Python第三方库管理与数据库调优的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









