1.通过导入第三方的python数据库,进行连接
2.flask自带的flask-sqlalchemy(ORM 对象关系映射)
SQLALCHEMY_DATABASE_URI 用于连接的数据库 URI 。例如:sqlite:tmp/test.db 或 mysql://username:password@server/db
SQLALCHEMY_BINDS 一个映射 binds 到连接 URI 的字典。更多 binds 的信息见 用 Binds 操作多个数据库 。
SQLALCHEMY_ECHO 如果设置为 Ture , SQLAlchemy 会记录所有 发给 stderr 的语句,这对调试有用。
SQLALCHEMY_RECORD_QUERIES 可以用于显式地禁用或启用查询记录。查询记录 在调试或测试模式自动启用。更多信息见 get_debug_queries() 。
SQLALCHEMY_NATIVE_UNICODE 可以用于显式禁用原生 unicode 支持
SQLALCHEMY_POOL_SIZE 数据库连接池的大小
SQLALCHEMY_POOL_TIMEOUT 设定连接池的连接超时时间
SQLALCHEMY_POOL_RECYCLE 设置自动回收连接
SQLALCHEMY_COMMIT_ON_TEARDOWN 每次请求结束后都会自动提交数据库中的变动
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = 'sqlite:///' + 'database_path'
db = SQLAlchemy(app)
定义模型
继承db.Model 模型
db.column 属性
class Asian(db.Model):
__tablename__ = "asian"
id = db.Column(db.Integer, primary_key=True)
name = name = db.Column(db.String(64), unique=False)
class Human(db.Model):
__tablename__ = "human"
id = db.Column(db.Integer, primary_key=True)
name = name = db.Column(db.String(64), unique=False)
db.relationship
以上参数用于建立表之间的关联