学习开始的前提是本地已经安装mysql并创建了一个名为
flask_data
的数据库
一、安装三方库
pip install flask-sqlalchemy
pip install pymysql
二、创建数据库表
from flask import Flask, request, abort
# 导入相关库
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
# 创建数据库的实例对象
db = SQLAlchemy(app) # 第一种实例化方式
"""# 第二种实例化方式
db = SQLAlchemy()
db.app = app
db.init_app(app)
"""
# 配置数据库
host_name = '127.0.0.1'
port = 3306
user_name = 'root'
password = '123456'
database = 'flask_data'
app.config['SQLALCHEMY_DATABASE_URI'] = fr'mysql+pymysql://{user_name}:{password}@{host_name}:{port}/{database}?charset=utf8mb4'
# 创建数据库模型
class User(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(20), unique=True)
email = db.Column(db.String(30), unique=True)
# 创建表, 这里有一个特别注意的地方:初始化数据库表之后,如果后面修改了数据库模型,这里是不会被删除和添加的, django的数据库模块是可以的
db.create_all()
# 可以使用下述代码测试连接是否成功, 如果连接成功,会输出(1,)
with app.app_context():
with db.engine.connect() as conn:
rs = conn.execute('select 1')
print(rs.fetchone())
@app.route('/')
def root():
return hello
if __name__ == '__main__':
app.run(debug=True)
这里有一个需要特别注意的,注释里也提到了:创建表之后,如果后期修改了数据库模型,则已创建数据库表不会跟着一起变更,之前学习过django
是支持的
然后使用下述命令查看表是否创建成功
# 连接数据库,回车后需要输入密码再回车一下才能连接成功
mysql -uroot -p
# 查看有当前有哪些数据库
show databases;
# 使用自己创建的那个数据库,我创建的数据库名为flask_data
use flask_data;
# 查看当前选择的数据库下有哪些表
show tables;
# 查看users表的字段有哪些
show columns from users;
结果如下:
当然,也可以使用可视化的数据库工具查看表是否创建成功,这里不进行叙述