Flask框架(SQLAlchemy(python3版本)中添加数据 )
安裝SQLAlcemy、配置SQLAlcemy、創建模型類可參考:https://blog.csdn.net/wei18791957243/article/details/85254130
1.?在Flask-SQLAlchemy中,插入、修改、刪除操作,均由數據庫會話管理。
??????會話用db.session表示。
2.???在準備把數據寫入數據庫前,要先將數據添加到會話中然后調用commit()方法提交會話。
??????數據庫會話是為了保證數據的一致性,避免因部分更新導致數據不一致。
???????提交操作把會話對象全部寫入數據庫,如果寫入過程發生錯誤,整個會話都會失效。
3. 添加數據?
????(1)要創建模型類的對象,創建的時候把數據傳進入
??????(2)???然后session記錄對象任務????db.session.add(role1)????# role1 是模型類對象
????????????如果有多個模型類對象,則一次性保存多個數據???
?????????????db.session.add_all([us1,us2,us3,us4])??# 保存多個數據,里面是一個列表,列表中是要添加的模型類
????(3)最后要提交任務到數據庫中????db.session.commit()
from flask import Flask from flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)class Config(object):"""配置參數"""SQLALCHEMY_DATABASE_URI = "mysql+mysqlconnector://root:123456@127.0.0.1:3306/db_python"SQLALCHEMY_TRACK_MODIFICATIONS = Trueapp.config.from_object(Config)db = SQLAlchemy(app)class Role(db.Model):"""用戶身份表"""__tablename__ = "tbl_roles"id = db.Column(db.Integer, primary_key=True)name = db.Column(db.String(32), unique=True)user = db.relationship("User", backref="role") # 從模型類中class User(db.Model):"""用戶表"""__tablename__ = "tbl_users" # 指明數據庫的表名id = db.Column(db.Integer, primary_key=True) # 整型的主鍵,會默認設置為自增主鍵name = db.Column(db.String(64), unique=True)email = db.Column(db.String(128), unique=True)password = db.Column(db.String(128))role_id = db.Column(db.Integer, db.ForeignKey("tbl_roles.id")) # 從底層中if __name__ == '__main__':'''清除數據庫中的所有數據'''db.drop_all()'''創建所有表'''db.create_all()# 給用戶身份表中添加兩個數據'''創建一個對象'''role1 = Role(name="admin")'''在Flask-SQLAlchemy中,插入、修改、刪除操作,均由數據庫會話管理。會話用db.session表示''''''session 記錄對象任務 '''db.session.add(role1)'''提交任務到數據庫中'''db.session.commit()role2 = Role(name="stuff")db.session.add(role2)db.session.commit()# 給用戶表中添加數據us1 = User(name='wang', email='wang@163.com', password='123456', role_id=role1.id)us2 = User(name='zhang', email='zhang@189.com', password='452342', role_id=role2.id)us3 = User(name='chen', email='chen@126.com', password='782677', role_id=role2.id)us4 = User(name='zhou', email='zhou@163.com', password='858585', role_id=role1.id)'''一次性添加多條數據'''db.session.add_all([us1, us2, us3, us4])db.session.commit()運行程序之后,打開數據庫,就可以看見數據已經添加到數據庫了
? ? ? ? ? ? ? ? ? ? tbl_roles(用戶身份表)
?
? ? ? ? ? ? ? ? ? ? ? ?tbl_users(用戶信息表)
總結
以上是生活随笔為你收集整理的Flask框架(SQLAlchemy(python3版本)中添加数据 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Flask框架(SQLAlchemy(p
- 下一篇: Flask框架(flask-script