zoukankan      html  css  js  c++  java
  • Flask Mysql数据库连接

    下载库:

      pip install flask-sqlalchemy

    下载后进入终端使用python后import导入模块测试没有报错就说明成功了

    py文件:

    # -*- encoding: utf-8 -*-
    from flask import Flask
    #导入第三方链接库sql点金术
    from flask_sqlalchemy import SQLAlchemy
    
    app = Flask(__name__)
    
    app.config.from_pyfile('config.ini')
    
    # #指定数据库连接还有库名,也可以写到配置文件里,root前为固定写法,root对应的是mysql的密码@后对应的是服务网址和端口/这里对应的是数据库名?后指定的是字符集
    app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:mysql@127.0.0.1:3306/myflask?charset=utf8'
    # #省略提交数据库,也可以加到配置文件里,下面操作有commit所以这里注释掉
    # app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
    
    
    #建立数据库对象
    db = SQLAlchemy(app)
    #建立数据库类,用来映射数据库表,将数据库的模型作为参数传入
    class User(db.Model):
        #声明表名
        __tablename__ = 'user'
        #建立字段函数 建立字函数段必须和建立好的mysql表内字段名和约束一致
        id = db.Column(db.Integer,primary_key=True)
        name = db.Column(db.String(255))
        password = db.Column(db.String(255))
    
    @app.route('/')
    def index():
        #增加,入库逻辑 
        #声名对象,调用类指定添加内容,id为自增主键可以不传入值
       user = User(name="你好你好",password="asd789")
        #调用添加方法
        db.session.add(user)
        # #提交入库
        db.session.commit()
        return '这是首页'
    
    #数据库的查询操作(查)
    @app.route('/select')
    def select_user():
        
        # #简单的全量查询
        # #翻译 select * from 
        # ulist = User.query.all()
        # for i in ulist:
        #     print(i.name)
        #     print(i.password)
        
        # #只取一条
        # #翻译成 select * from user limit 1
        # ulist = User.query.first()
        # print(ulist.name)
        # print(ulist.password)
    
        # #使用原生的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)
       
        return render_template('day5.html',items=items)
    
    #数据库的修改
    @app.route('/edit')
    def edit_user():
    
        #根据某个字段做修改操作
        #翻译为 update user set name='张三' where id = 2
        User.query.filter_by(id=2).update({'name':'456','password':'789'})
    
    
        #使用原生语句进行修改操作
        # db.session.execute('update user set password = "123" where id = 6')
    
        return '修改操作'
    
    #数据库删除操作
    @app.route('/del')
    def deluser():
        #删除根据某个字段做删除,filter_by可以理解为where条件限定
        #翻译为delete from user where id = 1
        User.query.filter_by(id = 8).delete()     
        return "这是删除操作"  
    
    
    #数据库入库操作
    @app.route('/')
    def index():
        #增加,入库逻辑 b
        #声名对象
        user = User(name="你好你好",password="asd789")
        #调用添加方法
        db.session.add(user)
        # #提交入库
        # db.session.commit()
        return '这是首页'
    
    if __name__ == "__main__":
        app.run()
  • 相关阅读:
    vue_源码 原理 剖析
    vue_vuex
    vue_VueRouter 路由_路由器管理n个路由_并向路由组件传递数据_新标签路由_编程式路由导航
    vue_mint-ui
    vue_ajax 请求
    vue_组件间通信:自定义事件、消息发布与订阅、槽
    vue_小项目_吃饭睡觉打豆豆
    vue-cli 脚手架 Command Line Interface
    程序员面试金典-面试题 04.03. 特定深度节点链表
    程序员面试金典-面试题 04.02. 最小高度树
  • 原文地址:https://www.cnblogs.com/Niuxingyu/p/10173093.html
Copyright © 2011-2022 走看看