最新动态 📢
2025年7月,Python 3.12最新稳定版对数据库驱动进行了优化,mysql-connector-python
和cx_Oracle
性能提升高达15%,现在连接数据库更快更稳!
无论是存用户数据、分析报表,还是做自动化脚本,数据库都是程序员的“黄金搭档”,今天手把手教你用Python连接MySQL和Oracle两大主流数据库,附代码片段,小白也能秒懂!
安装驱动(命令行一键搞定):
# MySQL驱动(选一个) pip install mysql-connector-python # 官方推荐 pip install pymysql # 纯Python实现 # Oracle驱动 pip install cx_Oracle # 需配合Oracle客户端
确认数据库信息:
localhost
) import mysql.connector conn = mysql.connector.connect( host="localhost", user="root", password="123456", database="test_db" ) cursor = conn.cursor() cursor.execute("SELECT * FROM users") print(cursor.fetchall()) # 获取所有数据 conn.close() # 记得关门!
import pymysql conn = pymysql.connect( host='127.0.0.1', user='dev_user', password='mypwd', db='shop_db' ) # 操作同上,用cursor执行SQL
适合复杂项目,用对象操作数据库:
from sqlalchemy import create_engine engine = create_engine("mysql+pymysql://user:pass@localhost/db_name") result = engine.execute("SELECT version()") print(result.scalar()) # 打印MySQL版本
C:\oracle\instantclient_21
) import cx_Oracle # 方式1:直接连接 conn = cx_Oracle.connect( "username/password@localhost:1521/ORCL" # ORCL是服务名 ) # 方式2:拆解参数(更清晰) dsn = cx_Oracle.makedsn("localhost", 1521, service_name="ORCL") conn = cx_Oracle.connect(user="scott", password="tiger", dsn=dsn) cursor = conn.cursor() cursor.execute("SELECT table_name FROM user_tables") for row in cursor: print(row[0]) # 打印所有表名 conn.close()
⚠️ 避坑指南:
DPI-1047
?检查Oracle客户端路径! encoding="UTF-8"
with mysql.connector.connect(...) as conn: # 操作代码 # 退出with块自动关闭
cursor.execute("INSERT INTO logs (msg) VALUES (%s)", ("用户登录",))
from mysql.connector import pooling pool = pooling.MySQLConnectionPool(pool_name="mypool", pool_size=5, **db_config)
数据库 | 推荐驱动 | 特点 |
---|---|---|
MySQL | mysql-connector | 官方维护,功能全 |
Oracle | cx_Oracle | 需客户端,企业级支持 |
👉 记住口诀:“装驱动、配参数、勤关闭”,数据库操作从此无忧!
(注:本文代码测试环境为Python 3.12+Windows 11,2025年7月验证通过)
本文由 理贞 于2025-07-30发表在【云服务器提供商】,文中图片由(理贞)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/483478.html
发表评论