flask连接mysql数据库

flask连接mysql数据库

1.首先导入Flask_sqlalchemy的包,
没有的需要先在环境中安装包:

pip install flask-sqlalchemy
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import text

2通过app.config方法来配置数据库相关的信息

# mysql主机名
HOSTNAME = "127.0.0.1"
# 端口号
PORT = 3306
# 账号
USERNAME = "root"
# 密码
PASSWORD = 1234
# 数据库名
DATABASE = "database_learn"
#  创建flask对象
app = Flask(__name__)
# 配置连接
app.config['SQLALCHEMY_DATABASE_URI'] = f'mysql+pymysql://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}?charset=utf8mb64'
# 获取连接对象
db = SQLAlchemy(app)

3.测试连接

with app.app_context():
    with db.engine.connect() as conn:
        rs = conn.execute(text("select 1"))
        print(rs.fetchone())

常见问题:

  • 1.app.app_context()需要在上下文中运行
  • 2.sqlalchemy.exc.ObjectNotExecutableError: Not an executable object: ‘select 1’ 要使用text(“select 1”)方法

全部连接代码:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import text
# mysql主机名
HOSTNAME = "127.0.0.1"
# 端口号
PORT = 3306
# 账号
USERNAME = "root"
# 密码
PASSWORD = 1234
# 数据库名
DATABASE = "database_learn"

app = Flask(__name__)

app.config['SQLALCHEMY_DATABASE_URI'] = f'mysql+pymysql://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}?charset=utf8'
db = SQLAlchemy(app)

with app.app_context():
    with db.engine.connect() as conn:
        rs = conn.execute(text("select 1"))
        print(rs.fetchone())

@app.route("/")
def hello():
    return "hello"

# flask  直接在代码里面创建表


# 当前文件做为主入口运行
if __name__ == '__main__':
    app.run()

测试结果:

(1,)
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值