zoukankan      html  css  js  c++  java
  • flask之SQLAlchemy语法和原生mysql语法

    作为一个程序员,我想把有限的大脑空间留给有价值的知识,本人偏向于原生语法

    特随笔于易查阅

    # -*- encoding: utf-8 -*-
    from flask import Flask,render_template
    from flask_sqlalchemy import SQLAlchemy
    app = Flask(__name__)
    #从配置文件导入
    app.config.from_pyfile("config.ini")
    #指定数据库连接和库名
    #app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:mysql@127.0.0.1:3306/myflask?charset=utf8'

    #建立数据库对象
    db = SQLAlchemy(app)
    #建立数据库类,用来映射数据库,将数据库的模型作为参数传入
    class User(db.Model):
    #声明表名=
    # __tablename__="user"
    #建立字段函数
    id = db.Column(db.Integer,primary_key=True)
    name =db.Column(db.String(200))
    password =db.Column(db.String(200))
     
    @app.route("/")
    def index():
    #增,入库逻辑
    #声明对象
    user= User(name="你好",password="123123")
    #调用添加方法
    db.session.add(user)
    return "hehe"
    @app.route("/del")
    def del_user():
    #根据某个字段删除,filter_by可以理解为where 例如delete from user where id = 1
    User.query.filter_by(id=7).delete()
    return "删除操作"
    @app.route("/update")
    def update_user():
    #根据某个字段修改操作 updata ueser set name="张三" where id=2
    User.query.filter_by(id=2).update({'name':'张三'})
    return "修改操作"
    @app.route("/select")
    def select_user():
    #查询 select * from user
    ulist = User.query.all()
    print(ulist)
    for i in ulist:
    print(i.name)
    #只取一条
    ulist = User.query.first()
    print(ulist)

    #使用原生的sql语句修改
    # db.session.execute("insert into user values(0,'李四',456),(0,'王五',555)")
    # db.session.execute("truncate table user")
    # db.session.execute("update user set name='张三' where id = 2")
    # db.session.execute("delete from user where id = 2")
    #使用原生的sql语句
    # ret = db.session.execute("select * from user")
    #将结果集强转为LIST
    # ret = list(ret)
    return render_template("day05.html",items=items)
    if __name__ == "__main__":
    app.run()
  • 相关阅读:
    ASP.NET网页动态添加数据行
    动态生成自定义控件ascx如何给ascx传值
    读取txt文件将文本行组合成特定格式
    怎样对文本文件内的文本行排序
    动态变更Repeater控件HeaderTemplate列名
    减少代码冗余,封装你的程序
    在Repeater控件的OnItemDataBound获取数据源记录总数
    查看服务器系统资源(cpu,内容)利用率前几位的进程的方法
    Nginx反向代理+缓存开启+url重写+负载均衡(带健康探测)的部署记录
    gerrit代码简单备份方案分享
  • 原文地址:https://www.cnblogs.com/xcsg/p/10175192.html
Copyright © 2011-2022 走看看