Flask-sqlalchemy增删改查之(增加数据)

Flask-sqlalchemy增删改查之(增加数据)

增加数据主要需要三步操作

  • 创建模型对象
    语法:模型对象 = 模型类(字段名=字段值)
  • 将模型对象添加到会话中
    语法:组件对象.session.add(模型对象)
  • 提交会话
    语法:组件对象.session.commit()

示例代码:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)

# 相关配置
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:mysql@127.0.0.1:3306/test'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.config['SQLALCHEMY_ECHO'] = True

# 创建组件对象
db = SQLAlchemy(app)


# 构建模型类  
class User(db.Model):
    __tablename__ = 't_user'  
    id = db.Column(db.Integer, primary_key=True)  
    name = db.Column('username', db.String(20), unique=True)  
    age = db.Column(db.Integer, index=True)  


@app.route('/')
def index():
    """增加数据"""

    # 1.创建模型对象
    user1 = User(name='zs', age=20)
    # user1.name = 'zs'
    # user1.age = 20

    # 2.将模型对象添加到会话中 
    db.session.add(user1)
    # 添加多条记录
    # db.session.add_all([user1, user2, user3])

    # 3.提交会话 (会提交事务)
    # sqlalchemy会自动创建隐式事务
    # 事务失败会自动回滚
    db.session.commit()

    return "index"

if __name__ == '__main__':
    db.drop_all()
    db.create_all()
    app.run(debug=True)

注意点:
1.给模型对象设置数据 可以通过 初始化参数 或者 赋值属性 两种方式
2.session.add(模型对象) 添加单条数据到会话中,session.add_all(列表) 添加多条数据到会话中
3.这里的 会话 并不是 状态保持机制中的 session,而是 sqlalchemy 的会话。它被设计为数据操作的执行者, 从SQL角度则可以理解为是一个 加强版的数据库事务
4.sqlalchemy 会自动创建事务, 并将数据操作包含在事务中, 提交会话时就会提交事务
5.事务提交失败会自动回滚

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值