SQLAlchemy
SQLAlchemy 是 Python 中一个通过 ORM 操作数据库的框架。
使用类和对象的方式操作数据库,更加简便相比SQL语句。
ORM 就是 Object Relational Mapper 的简写,就是关系对象映射器的意思。
创建映射关系
以王者荣耀为例,需要构建用户,英雄之间的关系。一个用户可以拥有多个英雄,一个英雄也可以被多个用户拥有。那么就需要三个表:用户,英雄,用户_英雄
创建数据库操作对象
需要引入的库
import os
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import or_, and_
app = Flask(__name__)
app.config['SECRET_KEY'] = os.urandom(24)
# url的格式为:数据库的协议://用户名:密码@ip地址:端口号(默认可以不写)/数据库名
app.config["SQLALCHEMY_DATABASE_URI"] = "mysql+pymysql://root:123456@localhost/abcd"
# 动态追踪数据库的修改. 性能不好. 且未来版本中会移除. 目前只是为了解决控制台的提示才写的
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
# 创建数据库的操作对象
db = SQLAlchemy(app)
用户类
class User(db.Model):
# 给表重新定义一个名称,默认名称是类名的小写,比如该类默认的表名是user。
__tablename__ = "user"
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(16), unique=True)
password = db.Column