使用Python与MySQL交互
Python是一种功能强大的编程语言,而MySQL是一个广泛使用的关系型数据库管理系统。将两者结合,可以实现高效的数据存储、检索和处理。Python拥有丰富的数据库连接库,使得与MySQL的交互变得非常便捷。
常用Python库
- pymysql: 最常用的Python库之一,专门用于连接MySQL数据库。
- MySQL Connector/Python: 官方提供的MySQL数据库连接器,提供更全面的功能。
- SQLAlchemy: 一个强大的ORM(对象关系映射)工具,可以将数据库表映射为Python对象,简化数据库操作。
基本步骤
- 安装库:
pip install pymysql - 建立连接:
-
import pymysql # 连接参数 host = 'your_host' user = 'your_user' password = 'your_password' database = 'your_database' # 建立连接 conn = pymysql.connect(host=host, user=user, password=password, database=database) # 创建游标 cursor = conn.cursor() - 执行SQL语句:
-
# 执行查询语句 cursor.execute("SELECT * FROM tabelA") # 获取查询结果 result = cursor.fetchall() # 遍历结果 for row in result: print(row) # 执行插入语句 cursor.execute("INSERT INTO tableB (column1, column2) VALUES (%s, %s)", (value1, value2)) # 提交事务 conn.commit() - 关闭连接:
cursor.close() conn.close()
示例:
import pymysql
# 连接参数
conn = pymysql.connect(host='localhost', user='root', password='your_password', database='mydatabase')
# 创建游标
cursor = conn.cursor()
# 查询所有用户
cursor.execute("SELECT * FROM users")
result = cursor.fetchall()
for row in result:
print(row)
# 插入一条用户数据
cursor.execute("INSERT INTO users (name, age) VALUES (%s, %s)", ('Alice', 30))
# 提交事务
conn.commit()
# 关闭连接
cursor.close()
conn.close()
SQLAlchemy示例
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
# 创建引擎
engine = create_engine('mysql+pymysql://user:password@host/database')
# 创建Session类
Session = sessionmaker(bind=engine)
# 创建Session实例
session = Session()
# 查询所有用户
users = session.query(User).all()
for user in users:
print(user.name, user.age)
# 添加一个用户
new_user = User(name='Bob', age=25)
session.add(new_user)
session.commit()
# 关闭Session
session.close()

723

被折叠的 条评论
为什么被折叠?



