Python常用数据库操作指南:6大主流驱动连接与代码示例

Evan
Evan
发布时间:2026-10-11 | 4人浏览过
原创

在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第三方库管理与数据库调优的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表