- SQLAlchemy 是python里一个很有名的库,它是对数据库的抽象,让开发者不用直接和 SQL 语句打交道,而是通过 Python 对象来操作数据库,在忽略一些性能开销的应用场景, SQLAlchemy往往能大大的提高开发者的开发效率
- SQLAlchemy 官网
- SQLAlchemy是一个关系型数据库框架,它提供了高层的 ORM 和底层的原生数据库的操作。flask-sqlalchemy 是一个简化了 SQLAlchemy 操作的flask扩展,作为flask的扩展,它也秉承了很多falsk风格的操作.
下面是简单的实现:
from getpass import *
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__) # 创建一个flask应用对象
app.config["DEBUG"] = True # 开启调试模式
# 连接数据库,数据库密码,由终端输入
app.config["SQLALCHEMY_DATABASE_URI"] = "mysql://root:" + getpass.getpass("请输入密码:")+ "@localhost/python" app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False #动态追踪修改设置
db = SQLAlchemy(app) # 实例化SQLAlchemy类 绑定app
class Tb(db.Model):
# __tablename__ = "tb" # 此处指定表名,如不写,需要在终端先执行db.create_all(),默认表名为tb
id = db.Column(db.Integer,primary_key = True)
name = db.Column(db.String(64),nullable = True)
age = db.Column(db.Integer)
def __init__(self,name,age):
self.name = name
self.age = age
def __repr__(self):
return "<Tb{}>".format(name)
@app.route("/")
def create_user():
user1 = Tb("狼王",28)
user2 = Tb("狗王",88)
user3 = Tb("猪王",18)
user4 = Tb("羊王",68)
db.session.add_all([user1,user2,user3,user4])
db.session.commit() # 修改提交,如没有此操作,所有修改操作都不会在数据库上生效
return "<h1>add succssfully!</h1>"
if __name__ == '__main__':
app.run()
|