Python连接MySQL数据库是一种常见的操作,主要通过Python的数据库接口来实现。以下是几种常用的Python连接MySQL的方法:
mysql-connector-python
库mysql-connector-python
是MySQL官方提供的Python驱动程序。
pip install mysql-connector-python
import mysql.connector
# 连接到MySQL数据库
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
# 创建游标对象
mycursor = mydb.cursor()
# 执行SQL查询
mycursor.execute("SELECT * FROM yourtable")
# 获取查询结果
myresult = mycursor.fetchall()
for x in myresult:
print(x)
pymysql
库pymysql
是一个纯Python实现的MySQL客户端库。
pip install pymysql
import pymysql
# 连接到MySQL数据库
conn = pymysql.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
# 创建游标对象
cursor = conn.cursor()
# 执行SQL查询
cursor.execute("SELECT * FROM yourtable")
# 获取查询结果
results = cursor.fetchall()
for row in results:
print(row)
# 关闭连接
conn.close()
SQLAlchemy
库SQLAlchemy
是一个强大的ORM(对象关系映射)工具,可以与多种数据库交互。
pip install sqlalchemy
pip install pymysql # 或 mysql-connector-python
from sqlalchemy import create_engine, Table, Column, Integer, String, MetaData
from sqlalchemy.orm import sessionmaker
# 创建数据库引擎
engine = create_engine('mysql+pymysql://yourusername:yourpassword@localhost/yourdatabase')
# 创建会话
Session = sessionmaker(bind=engine)
session = Session()
# 定义表结构
metadata = MetaData()
users = Table('users', metadata,
Column('id', Integer, primary_key=True),
Column('name', String(50)),
Column('age', Integer)
)
# 插入数据
ins = users.insert().values(name='Alice', age=30)
session.execute(ins)
session.commit()
# 查询数据
result = session.execute("SELECT * FROM users")
for row in result:
print(row)
# 关闭会话
session.close()
原因:可能是由于数据库服务器未启动、用户名或密码错误、网络问题等。 解决方法:
原因:可能是由于用户没有足够的权限访问数据库。 解决方法:
原因:可能是由于字符编码不一致导致的。 解决方法:
通过以上方法,你可以轻松地在Python中连接和操作MySQL数据库。
领取专属 10元无门槛券
手把手带您无忧上云