最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 如何用flask链接mysql数据库

    正文概述    2020-06-14   310

    如何用flask链接mysql数据库

    本篇文章给大家介绍flask如何连接MySQL,具体步骤如下

    1.创建一个连接对象

    首先下载flask_sqlalchemy 包,然后设置用于连接数据库的URI,

    app.config['SQLALCHEMY_DATABASE_URI']='mysql://用户名:密码@127.0.0.1:3306/数据库名'

    创建用来管理数据库的对象,注意参数需要和app产生联系

    db = SQLAlchemy(app)

    2.创建模型

    这里创建一个简单的用户模型

    class User(db.Model):
        __tablename__='user'
        id = db.Column(db.Integer,primary_key=True)
        name = db.Column(db.String(20),unique=True)
        is_delete = db.Column(db.Boolean,default=False)
        email = db.Column(db.String(30),nullable=True)
    def __repr__(self):
            return self.name

    3.创建数据表

    if __name__ == '__main__':

         # 迁移数据库

         db.create_all()

    from flask import Flask
    from flask_sqlalchemy import SQLAlchemy
    # 还需要安装pymysql库# 初始化app
    app = Flask(__name__)
    # 连接数据库
    app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@localhost/python_db'
    # SQLALCHEMY_DATABASE_URI# 用于连接数据的数据库。
    # SQLALCHEMY_TRACK_MODIFICATIONS
    # 如果设置成 True (默认情况),
    # Flask-SQLAlchemy 将会追踪对象的修改并且发送信号。
    # 这需要额外的内存, 如果不必要的可以禁用它。
    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
    # 得到SQLAlchemy对象db = SQLAlchemy(app, use_native_unicode='utf8')
    # 然后创建model对象
    class User(db.Model):
        __tablename__ = 'user_list' #(设置表名)
        id = db.Column(db.Integer, primary_key=True) #(设置主键)
        username = db.Column(db.String(255), unique=True)
        password = db.Column(db.String(255), unique=True)
    # 返回一个可以用来表示对象的可打印字符串:(相当于java的toString)
        def __repr__(self):
            return '<User 用户名:%r 密码:%r>' % (self.username, self.password)# 操作数据库
    # 增def add_object(user):
        db.session.add(user)
        db.session.commit()
        print("添加 % r 完成" % user.__repr__)
    user = User()
    user.username = '占三'
    user.password = '123456'add_object(user)
    # 查 (用到and的时候需要导入库from sqlalchemy import and_)def query_object(user, query_condition_u, query_condition_p):
        result = user.query.filter(and_(user.username == query_condition_u, user.password == query_condition_p))
        print("查询 % r 完成" % user.__repr__)
        return result
    # 删
    def delete_object(user):
        result = user.query.filter(user.username == '11111').all()
        db.session.delete(result)
        db.session.commit()
    #改
    def update_object(user):
        result = user.query.filter(user.username == '111111').all()
        result.title = 'success2018'

    起源地下载网 » 如何用flask链接mysql数据库

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元