flask_sqlalchemy连接Mysql数据库

【注】
1、由于是建立的flask项目,所以不能直接点绿色按钮运行,如图:
flask_sqlalchemy连接Mysql数据库_第1张图片
2、应该在terminal终端中运行python myfile.py,并且在main函数不能加 app.run(),否则不能成功执行,如图:
flask_sqlalchemy连接Mysql数据库_第2张图片
具体代码如下:

#requirements.txt
Flask==1.1.2
flask_sqlalchemy==2.4.4
PyMySQL==0.10.0

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)


class Config(object):
    """配置参数"""
    # 设置连接数据库的URL
    user = 'root'
    password = 'lff12345'
    database = 'my_db'
    app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://%s:%[email protected]:3306/%s' % (user, password, database)

    # 设置sqlalchemy自动更跟踪数据库
    SQLALCHEMY_TRACK_MODIFICATIONS = True

    # 查询时会显示原始SQL语句
    app.config['SQLALCHEMY_ECHO'] = True

    # 禁止自动提交数据处理
    app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = False


# 读取配置
app.config.from_object(Config)

# 创建数据库sqlalchemy工具对象
db = SQLAlchemy(app)


class User(db.Model):
    # 定义表名
    __tablename__ = 'users'
    # 定义字段
    name_id = db.Column(db.String(32), unique=True, primary_key=True)
    balance = db.Column(db.DECIMAL(38, 2))

    def __int__(self, name_id, balance):
        self.name_id = name_id
        self.balance = balance


def add(name_id, balance):
    """
    增加数据
    :param name_id: 用户名
    :param balance: 余额
    :return:
    """
    user = User(name_id=name_id, balance=balance)
    db.session.add(user)
    db.session.commit()


if __name__ == '__main__':
    # app.run(debug=True)
    # 创建所有表
    db.create_all()
    add('user001', 1234.12)
    add('user002', 1111.15)
    add('user003', 2134.54)
    add('use', 1234.12)
    add('use' * 10 + 'ab', 1234.12)

你可能感兴趣的:(Python,数据库,mysql,python,数据库)