zoukankan      html  css  js  c++  java
  • flask 连接mysql及基本操作

    #导入第三方连接库sql点金术
    
    from flask_sqlalchemy import SQLAlchemy
    
     
    
    #建立对象
    
    app = Flask(__name__)
    
     
    
     
    
     
    
    #载入配置文件
    
    app.config.from_pyfile('config.ini')
    
     
    
    # #指定数据库连接还有库名
    
    # app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@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 ')
    
        #将结果集强转为list
    
        items = list(items)
    
     
    
     
    
        #使用原生语句进行修改操作
    
        #db.session.execute(" update user set password = '321321' where id = 6 ")
    
       
    
        #将动态数据传递给模板
    
        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=3).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='你好你好',password='456456')
    
        #调用添加方法
    
        db.session.add(user)
    
        #提交入库
    
        #db.session.commit()
    
     
    
        return '这里是首页'
  • 相关阅读:
    Eclipse 修改maven 仓储Repository位置
    使用Eclipse构建Maven的SpringMVC项目
    The word is not correctly spelled问题解决
    navicat for mysql 显示中文乱码解决办法
    Missing artifact net.sf.json-lib:json-lib:jar:2.2.3:compile
    ApacheTiles实战
    使用Apache Tiles3.x构建界面布局
    SpringMVC整合Tiles框架
    最近遇到的问题
    Unity3D流行的游戏开发人员构建高速检查站系统
  • 原文地址:https://www.cnblogs.com/junjun511/p/10175126.html
Copyright © 2011-2022 走看看