flask(四)------操作mysql数据库

一、连接mysql数据库和创建表

首先下载flask_sqlalchemy库和mysql-python库

flask_sqlalchemy是将模型类中的语句转换为SQL语句的,mysql-python是与数据库建立起连接

通过flask_sqlalchemy库中的SQLAlchemy创建出对象,使用对象创建模型类,调用create_all()在数据库中创建出表

# coding:utf-8
from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)


class Config(object):
    # sqlalchemy配置参数
    SQLALCHEMY_DATABASE_URI = "mysql://root:123456@127.0.0.1:3306/flask"
    # 设置sqlalchemy自动跟踪数据库
    SQLALCHEMY_TRACK_MODIFICACTIONS = True


# 添加到配置中
app.config.from_object(Config)


# 创建数据库sqlalchemy工具对象
db = SQLAlchemy(app)
class User(db.Model):
    """用户表"""
    # 设置表名
    __tablename__ = "tbl_users"
    #       字段      字段类型    主键
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=True)  # unique=True去重
    email = db.Column(db.String(128), unique=True)
    password = db.Column(db.String(128))
    # 设置外键
    roles_id = db.Column(db.Integer, db.ForeignKey("tbl_roles.id"))


class Role(db.Model):
    """用户角色/身份表"""
    __tablename__ = "tbl_roles"

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(32), unique=True)
    # 与表User在模型类层建立关系,便于查询,可以不设置(backref="role"也可以不设置)
    users = db.relationship("User", backref="role")


if __name__ == '__main__':
    # 清除数据库中所有的表
    db.drop_all()

    # 创建所有的表
    db.create_all()

向表中添加数据

查询

查询所有:类名.query.all()

查询第一条数据

根据主键id查询

使用db.session查询

使用  or

offset() 偏移原始查询返回的结果,也就是跳过几条开始往后查询

order_by的两种使用方式,建议第二种

desc()降序,asc()升序,默认升序

求和count

from sqlalchemy import func,func.count()

修改数据

 

相当于django中的def __str__

 

语法参考文章https://www.cnblogs.com/minsons/p/8193514.html

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值