使用pymysql和sqlalchemy连接mysql , python语言实现
时间: 2023-04-07 18:01:15 浏览: 78
可以回答这个问题。使用pymysql和sqlalchemy连接mysql的python代码如下:
```
import pymysql
from sqlalchemy import create_engine
# 使用pymysql连接mysql
conn = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='password',
database='test_db',
charset='utf8mb4'
)
# 使用sqlalchemy连接mysql
engine = create_engine('mysql+pymysql://root:password@localhost:3306/test_db?charset=utf8mb4')
```
相关问题
sqlalchemy连接mysql , 使用python语言实现
可以使用以下代码实现:
```
from sqlalchemy import create_engine
# 创建连接引擎
engine = create_engine('mysql+pymysql://username:password@host:port/database_name')
# 连接数据库
conn = engine.connect()
# 执行SQL语句
result = conn.execute('SELECT * FROM table_name')
# 获取结果
for row in result:
print(row)
# 关闭连接
conn.close()
```
其中,`username`、`password`、`host`、`port`、`database_name`、`table_name` 需要根据实际情况进行替换。
pymysql 和 sqlalchemy
以下是关于pymysql和sqlalchemy的介绍:
1. pymysql模块:
```python
import pymysql
# 建立连接
connection = pymysql.connect(
host='localhost',
user='root',
password='******',
db='test_db',
charset='utf8',
cursorclass=pymysql.cursors.DictCursor
)
# 获取游标
cursor = connection.cursor()
# 执行SQL语句
cursor.execute("SELECT * FROM books")
# 获取结果
result = cursor.fetchall()
# 关闭连接
connection.close()
```
2. SQLAlchemy模块:
```python
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:******@localhost/test_db', echo=True)
# 创建基类
Base = declarative_base()
# 定义映射类
class Book(Base):
__tablename__ = 'books'
id = Column(Integer, primary_key=True)
title = Column(String(50))
author = Column(String(50))
# 创建表
Base.metadata.create_all(engine)
# 创建会话
Session = sessionmaker(bind=engine)
session = Session()
# 查询数据
books = session.query(Book).all()
# 关闭会话
session.close()
```