zoukankan      html  css  js  c++  java
  • Flask对数据库的操作-----

    首先得做好做基本的框架

    # -*- encoding: utf-8 -*-
    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/my_flask?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('/')
    def index():
         return "这是首页"
    
    
    
    
    if __name__ == "__main__":
        app.run()
    

      

    对数据库的增

    @app.route('/')
    def index():
        #增,,入库逻辑
        #声明对象
        user = User(name = '你好你好', password = '456456')
        #调用添加方法
        db.session.add(user)
        #提交入库
        # db.session.commit()
    
        return '这里是首页'
    

      

    对数据库的删

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

      

    对数据库的改

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

     

    对数据库的查

    @app.route('/select')
    def select_user():
        #简单的全量查询
        #翻译为 select * from user
        ulist = User.query.all()
        print(ulist)
        for item in ulist:
            print(item.id,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 ')
        #将结果集强转成list
        items = list(items)
        print(items)
    
    
        #使用原生语句进行修改操作
        # db.session.execute(" update user set password = '31313' where id = 6")
    
        #将动态数据传递给模板
        return render_template('day5.html',item = items)
    

      

  • 相关阅读:
    OpenWrt arp 命令发布
    [Cocos2d-x]Cocos2d-x 3.2 学习笔记
    智课雅思词汇---二十四、名词性后缀ary(也是形容词后缀)
    算法讲课---1、贪心
    智课雅思词汇---二十三、名词性后缀mony
    js进阶---12-11、jquery如何给动态创建出来的元素绑定事件
    js进阶---12-12、jquery事件委托怎么使用
    js进阶---12-10、jquery绑定事件和解绑事件是什么
    新东方雅思词汇---7.3、dioxide
    对啊英语音标---四、双元音常见的字母发音组合有哪些
  • 原文地址:https://www.cnblogs.com/wjya/p/10175024.html
Copyright © 2011-2022 走看看