Python 操作 MySQL 的5种方式
原创以下是涉及“Python 操作 MySQL 的5种对策”的文章,内容以HTML格式返回:
```html
1. 使用 MySQLdb
MySQLdb 是 Python 连接 MySQL 数据库的一种常用对策。首先需要安装 MySQLdb 模块:
pip install mysqlclient
然后可以使用以下代码连接并操作 MySQL 数据库:
import MySQLdb
# 连接数据库
db = MySQLdb.connect(host="localhost", user="root", passwd="password", db="test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute() 方法执行 SQL 查询
cursor.execute("SELECT * FROM table_name")
# 获取查询最终
results = cursor.fetchall()
for row in results:
print(row)
# 关闭数据库连接
db.close()
2. 使用 pymysql
pymysql 是另一个 Python 连接 MySQL 数据库的模块。首先需要安装 pymysql:
pip install pymysql
示例代码如下:
import pymysql
# 连接数据库
db = pymysql.connect(host="localhost", user="root", password="password", database="test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 执行 SQL 查询
cursor.execute("SELECT * FROM table_name")
# 获取查询最终
results = cursor.fetchall()
for row in results:
print(row)
# 关闭数据库连接
db.close()
3. 使用 SQLalchemy
SQLalchemy 是一个强盛的 SQL 工具包和对象关系映射(ORM)框架。首先安装 SQLalchemy:
pip install sqlalchemy
示例代码如下:
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
# 创建数据库连接
engine = create_engine("mysql+pymysql://root:password@localhost/test")
# 定义映射类
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String(50))
age = Column(Integer)
# 创建 session
Session = sessionmaker(bind=engine)
session = Session()
# 查询数据
for user in session.query(User).filter_by(age=25):
print(user.name, user.age)
# 关闭 session
session.close()
4. 使用 Django ORM
Django 是一个高级的 Python Web 框架,内置了 ORM。在使用 Django ORM 之前,需要配置好数据库连接:
# 在 settings.py 中配置数据库连接
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test',
'USER': 'root',
'PASSWORD': 'password',
'HOST': 'localhost',
'PORT': '3306',
}
}
示例代码如下:
from django.db import models
# 定义模型
class User(models.Model):
name = models.CharField(max_length=50)
age = models.IntegerField()
# 查询数据
users = User.objects.filter(age=25)
for user in users:
print(user.name, user.age)
5. 使用 peewee
peewee 是一个明了、轻量级的 Python ORM,可以用于操作 MySQL 数据库。首先安装 peewee:
pip install peewee
示例代码如下:
from peewee import *
# 创建数据库连接
db = MySQLDatabase("test", user="root", password="password")
# 定义模型
class User(Model):
name = CharField()
age = IntegerField()
class Meta:
database = db
# 查询数据
for user in User.filter(age=25):
print(user.name, user.age)
# 关闭数据库连接
db.close()
```
这篇文章介绍了 Python 操作 MySQL 数据库的五种对策,包括 MySQLdb、pymysql、SQLalchemy、Django ORM 和 peewee。你可以依实际需求选择合适的对策。