必备知识|学会SQLAlchemy

一、环境配置

安装SQLAlchemy的Python3.7环境,程序将在Pycharm平台上运行

二、基本框架

0.导入
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column,Integer,String
from sqlalchemy.orm import sessionmaker
1.创建连接
engine = create_engine('mysql+mysqlconnector://root:********@127.0.0.1:3306/testdb?charset=utf8',echo=True)

数据库类型+数据库驱动名称://用户名:口令@机器地址:端口号/数据库名?charset='utf-8'
echo=True表明将执行的sql语句打印出来

2.定义表
#创建对象的基类
Base = declarative_base()
#定义User对象
class User(Base):
    #表的名字
    __tablename__ = 'users'
    #表的结构
    id = Column(Integer,primary_key=True)       #类型是整型,主键
    name = Column(String(40))                          #字符串型,最大长度40
3.创建表
Base.metadata.create_all(engine)
4.创建对话
#创建session对象,利用session进行与数据库对话
Session = sessionmaker(engine)
session = Session()

以上为前期的准备工作,进行到这一步时,我们已经建立了和数据库的联系并在数据库里创建了表格。在第二步时可以根据自身需求对表进行个性化的定义,其他步骤不需要改动。

5.进行操作

添加记录:
通过SQLAlchemy向数据库表中添加一行记录,可以视为添加一个User对象。

# 创建新User对象:
new_user = User(id='5', name='Bob')
# 添加到session:
session.add(new_user)
# 提交即保存到数据库:
session.commit()
# 关闭session:
session.close()

查询记录:
查询出来的不再是元组Tuple,而是User对象

# 创建Query查询,filter是where条件,最后调用one()返回唯一行,如果调用all()则返回所有行:
user = session.query(User).filter(User.id=='5').one()
# 输出返回对象的name属性:
print(user.name)
# 关闭Session:
session.close()

三、小结

在Python中使用SQLAlchemy第三方库与MySQL进行对话连接有其基本框架,根据需要改动即可。

你可能感兴趣的:(必备知识|学会SQLAlchemy)