1,先在终端创建一个数据库
create database db_1808b_flask charset='utf8';
2,在pycharm创建一个py 文件,把数据库引进来
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import pymysql
pymysql.install_as_MySQLdb()
app = Flask(__name__)
# 设置连接数据库的URL
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:1@127.0.0.1:3306/db_flask'
# 数据库和模型类同步修改
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
# 查询时会显示原始SQL语句
app.config['SQLALCHEMY_ECHO'] = True
# 初始化一个对象
db = SQLAlchemy(app)
3,创建一个英雄类,我们以王者荣耀为例子:
# 王者荣耀
#创建一个英雄类型,射手,刺客
class heroType(db.Model):
# 定义一个表名
__tablename__ = 'tbl_hero_type'
# 定义一个主键 Column代表列
id = db.Column(db.Integer,primary_key=True)
# nullable允许为空吗?unique可以重复吗?
name = db.Column(db.String(32),nullable=False,unique=True)
# 方便查找 去这个类下找英雄relationship,这个列不是真实存在的,里面要加类名hero
# backref 在关系的另一模型中添加反向引用
heros = db.relationship('hero',backref='type')
4,创建英雄
定义英雄
class hero(db.Model):
# 定义一个表名
__tablename__ = 'tbl_hero'
# 定义一个主键 Column代表列
id = db.Column(db.Integer, primary_key=True)
# nullable允许为空吗?unique可以重复吗?
name = db.Column(db.String(32), nullable=False, unique=True)
gender = db.Column(db.SmallInteger,default=1)
# 设置外键,ForeignKey后面填的是表名.id 类表的主键是英雄表的外键
type_id = db.Column(db.Integer,db.ForeignKey('tbl_hero_type.id'))
5,接下来建表
if __name__ == "__main__":
# app.run(debug=True)
db.create_all() # 建表语句
6,这时候我们去数据库里查询,就会发现新建的两个表
网友评论