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

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

在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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。