Python 链接 MySQL
1. 下载包
这里用
SQLAlchemy
pip3 install SQLAlchemy
pip3 install mysql-connector-python mysql-connector-python
2. 简单的一个示例
# 导入
from sqlalchemy import Column, create_engine
from sqlalchemy.types import INTEGER, String
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
# 创建对象的基类
Base = declarative_base()
# 初始化表
def init_db():
Base.metadata.create_all(engine)
# 删除表
def drop_db():
Base.metadata.drop_all()
# 定义 User 对象:
class User(Base):
# 表的名字:
__tablename__ = 'user'
# 表的结构:
id = Column(INTEGER, primary_key=True)
name = Column(String(20))
if __name__ == '__main__':
# 初始化数据库连接
engine = create_engine('mysql+mysqlconnector://root:password@localhost:3306/test?charset=utf8')
# 创建 DBSession 类型
DBSession = sessionmaker(bind=engine)
init_db()
# 创建 session 对象
session = DBSession()
# 创建新 User 对象
new_user = User(id='1', name='ykenan')
# 添加到 session
session.add(new_user)
# 创建 Query 查询,filter 是 where 条件, 最后调用 one() 返回唯一行, 如果调用 all() 则返回所有行
user = session.query(User).filter(User.id == '1').one()
# 打印类型和对象的name属性:
print('type:', type(user))
print('name:', user.name)
# 提交即保存到数据库
session.commit()
# 关闭 session
session.close()