在Flask中,很少使用pymysql直接写原生SQL语句来操作数据库,SQLAichemy提供的ORM技术更多c;实现数据库的增删改查操作,类似于操作普通Python对象c;Flask-SQLAlchemy需要单独安装,因为Flask-SQLAlchemy依赖于SQLAlchemy所以只要Flask安装了-SQLAlchemy,自动安装SQLAlchemy。
pip。 install。flask-sqlalchemy。
输入终端。
# 登录数据库。mysql。 -u。root。 -p。# 创建数据库(支持中文CREATE DATABASE database_learn DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci。;
from flask。 import。Flaskfrom flask_sqlalchemy。 import。SQLAlchemyfrom sqlalchemy。 import。text。app。=Flask。(。__name__。)。# 设置连接数据库的信息。HOSTNAME。='127.0.0.1'PORT。=3306。USERNAME。='root'PASSWORD。='123456'DATABASE。='database_learn'# URL设置连接数据库。app.config。[。'SQLALCHEMY_DATABASE_URI']。=f。'mysql+pymysql://{ USERNAME}:{ PASSWORD}@{ HOSTNAME}:{ PORT}/{ DATABASE}?charset=utf8mb4'# 在app.在config中设置连接数据库的信息,然后使用SQLichemy(app)创建db对象。# SQLAlchemy自动读取app.在config中连接数据库的信息。db。=SQLAlchemy。(。app。)。with app.app_context。(。)。: with db.engine.connect。(。)。as conn:。 result。=conn.execute。(。text。(。"select 1"))。print。(。result.fetchone。(。))。@app.route。(。'/')。def hello_world。(。)。:。 return。'Hello World!'if。__name__。 =='__main__':。app.run。(。debug。=True。)。
一个ORM模型对应于数据库中的一个表。
事实上,创建ORM模型,而user表的属性是username和password。
我刷新了两次add页面,所以有两个加张三。