zoukankan      html  css  js  c++  java
  • Flask中Mysql数据库的常见操作

    from flask import Flask,render_template
    #导入第三方链接库sql点金术
    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'

    #指定配置,用来省略提交操作
    app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True

    #建立数据库对象
    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('/select')
    def select_user():
    #简单的全量查询
    #翻译为select * from user
    ulist = User.query.all()
    print(ulist)
    for item in ulist:
    print(item.name)

    #只取一条
    #翻译为 select * from user limit 1
    ulist = User.query.first()
    print(ulist)

    #使用原生的sql语句
    #翻译为 select * from user order by id desc limit 1,2
    items = db.session.execute('select * from user order by id desc limit 1,2')
    #将结果集强转为list
    items = list(items)


    #使用原生语句进行修改操作
    # db.session.execute("update user set password = '12355554' where id=6 ")
    # return "这里是查询页面"

    #将动态数据传递给模板
    return render_template('day5.html',items=items)


    #数据库的修改操作(改)
    @app.route('/edit')
    def edit_user():
    #根据某个字段做修改操作
    #翻译为 update user set name = "张三" where id = 6
    User.query.filter_by(id=6).update({'name':'张三'})
    return "这里是修改操作"


    #数据库的删除操作(删)
    @app.route("/del")
    def del_user():
    #根据某字段做删除,filter_by可以理解为where条件限定
    #翻译为 delete from user where id=1
    User.query.filter_by(id=1).delete()
    return "这里是删除操作"

    #数据库入库操作(增)
    @app.route("/")
    def index():
    #增,入库逻辑
    #声明对象
    user = User(name='root',password='123456')
    #调用添加方法
    db.session.add(user)
    #提交入库
    db.session.commit()
    return "这是一个首页"

    if __name__ == "__main__":
    app.run()
  • 相关阅读:
    Java开发常用Util工具类
    冒泡排序
    EMQ 消息服务器
    将jar文件包打成exe文件
    mina框架搭建tcp服务器:编写自定义协议及编解码器
    SpringBoot中定时任务的设置
    SpringBoot项目+Shiro(权限框架)+Redis(缓存)集成
    计算两个时间之间的天数
    关于extern的使用
    ADC采样间隔问题+TRGO作为ADC的触发源头
  • 原文地址:https://www.cnblogs.com/antique/p/10174914.html
Copyright © 2011-2022 走看看