迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 Flask 中连接 MySQL 数据库

作者:迹忆客 最近更新:2024/03/16 浏览次数:

通过这个解释,我们将学习如何在 flask_mysqldb 的帮助下在 Flask 中连接 MySQL 数据库。我们还将学习如何在线设置数据库。


借助 flask_mysqldb 在 Flask 中连接 MySQL 数据库

有时用户希望直接在 SQL 中编写查询,而不是使用诸如 sql-alchemy 之类的东西,因此无论出于何种原因,你都可以选择编写查询 SQL。在 Flask 中,mysqldb 允许你这样做。

现在我们将在名为 freemysqlhosting.net 的服务上创建一个免费的 MySQL 数据库。你可以使用此链接访问该网站。

创建帐户后,你将看到如下所示的屏幕,当你创建数据库时,你将在 15 分钟内收到一封包含你的数据库信息的电子邮件。

现在我们将使用这个数据库来获取我们的 Flask 应用程序中的信息。我们要做的第一件事是安装一个名为 Flask-MySQLdb 的模块。

pip install Flask-MySQLdb

现在我们需要导入所需的库:

from flask import Flask
from flask_mysqldb import MySQL

现在我们将创建一个应用程序实例并使用 MySQL(app) 类实例化该应用程序。如果你正在使用多个 Flask 应用程序,你还可以使用以下代码来指定你的 Flask 应用程序:

mysql = MySQL()
mysql.init_app(app)

但是我们将所有内容都放在一个文件中,因此我们不需要这样做。由于我们正在使用数据库,因此我们需要设置配置。

首先,我们需要定义 MYSQL_USER,然后我们需要 MYSQL_PASSWORD。我们还需要定义数据库所在的 MYSQL_HOST;它可以在你的本地计算机上,也可以在我们已经设置的单独服务上或其他任何地方。

我们也有数据库本身,所以我们必须定义数据库的名称。我们会添加一些不必要的额外配置,这有助于获取返回的数据。

它只需要元组,但在涉及数据库时字典更容易使用,因为列可以是键,而这些键的值将是特定列中的值。如果我们不添加任何内容,则默认采用元组。

app.config["MYSQL_USER"] = "user_name"
app.config["MYSQL_PASSWORD"] = "user_password"
app.config["MYSQL_HOST"] = "sql3.example.net"
app.config["MYSQL_DB"] = "Database_name"
app.config["MYSQL_CURSORCLASS"] = "DictCursor"

mysql = MySQL(app)

可以放端口,但是 MySQL 数据库默认使用 3306,所以我们不需要更新任何东西。现在我们要与数据库交互,因此我们将创建路由并创建一个名为 CONNECT_DB() 的函数,并且要与数据库交互,我们需要使用游标。

游标将允许我们执行语句以获取这些语句的结果。我们将创建一个名为 CS 的变量并使用 mysql.connection.cursor() 对其进行实例化,我们还将创建一个表并将其命名为 TABLE_NAME,我们将定义几个列。

@app.route("/")
def CONNECT_DB():
    CS = mysql.connection.cursor()
    CS.execute("""CREATE TABLE TABLE_NAME (id INTEGER, name VARCHAR(20))""")

我们已经创建了表并将数据插入到表中。然后,我们需要在插入数据或更新或删除后提交。

当数据插入数据库时​​,我们还将返回一个字符串。

CS.execute("""INSERT INTO TABLE_NAME VALUES (1, 'Harry')""")
CS.execute("""INSERT INTO TABLE_NAME VALUES (2, 'Arthor')""")
mysql.connection.commit()
return "Executed successfully"

让我们继续运行服务器,看看浏览器是否返回了字符串。确保你的互联网连接已连接。

我们将需要验证数据是否已插入数据库。现在将进行查询以选择表。

由于我们将检索多行,我们可以使用 fetchall()。我们将把所有信息放入 Executed_DATA 变量中。

我们将其打印到控制台并显示返回值:

CS.execute("""SELECT * FROM TABLE_NAME""")
Executed_DATA = CS.fetchall()
print(Executed_DATA)
return str(Executed_DATA[1]["name"])

让我们保存并刷新页面。我们可以看到显示的值,如果我们在控制台中向下看,我们可以看到一个包含两个项目的元组。

完整的 Python 代码:

from flask import Flask
from flask_mysqldb import MySQL

app = Flask(__name__)

app.config["MYSQL_USER"] = "user_name"
app.config["MYSQL_PASSWORD"] = "user_password"
app.config["MYSQL_HOST"] = "sql3.example.net"
app.config["MYSQL_DB"] = "Database_name"
app.config["MYSQL_CURSORCLASS"] = "DictCursor"

mysql = MySQL(app)

# mysql.init_app(app)


@app.route("/")
def CONNECT_DB():
    CS = mysql.connection.cursor()
    # CS.execute('''CREATE TABLE TABLE_NAME (id INTEGER, name VARCHAR(20))''')

    # CS.execute('''INSERT INTO TABLE_NAME VALUES (1, 'Harry')''')
    # CS.execute('''INSERT INTO TABLE_NAME VALUES (2, 'Arthor')''')
    # mysql.connection.commit()
    # return 'Executed successfully'

    CS.execute("""SELECT * FROM TABLE_NAME""")
    Executed_DATA = CS.fetchall()
    print(Executed_DATA)
    return str(Executed_DATA[1]["name"])


if __name__ == "__main__":
    app.run(debug=True)

上一篇:在 C# 中将 List<string>转换为字符串

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

运行 Flask 应用程序

发布时间:2023/03/27 浏览次数:148 分类:Python

我们将通过这个解释了解如何在 Visual Studio Code 中设置 Flask 环境并创建 Flask 的基本应用程序。

Flask 发送 Post 请求

发布时间:2023/03/27 浏览次数:215 分类:Python

我们将通过这个解释了解两种基本的 HTTP 方法(get 和 post),我们还将了解它们之间的区别,然后通过一个基本示例来说明如何从 Flask 中的基本表单发送数据。

在 Flask 中使用 url_for 创建动态 URL

发布时间:2023/03/27 浏览次数:257 分类:Python

通过这个解释,我们将了解 url_for() 函数的作用以及我们如何在 Flask 中创建动态 URL。我们还将学习如何在模板中使用 url_for()。

在 Flask 应用程序中显示图像

发布时间:2023/03/27 浏览次数:157 分类:Python

通过这个解释,我们将学习如何将图像添加到网页并在 Flask 应用程序中上传或显示多个图像。

使用 Flask 下载文件

发布时间:2023/03/27 浏览次数:291 分类:Python

通过这个解释,我们将学习如何在 Flask 中的 send_file 函数的帮助下创建一个可下载的链接以将文件下载为附件。

使用 Flask 获取查询参数

发布时间:2023/03/27 浏览次数:152 分类:Python

通过这个解释,我们将学习如何借助 Flask 中的请求查询字符串从 URL 中获取参数。

更改 Flask 中的端口

发布时间:2023/03/27 浏览次数:247 分类:Python

我们通过这个解释学习如何在通过命令行界面运行我们的 Flask 应用程序时更改端口,我们还将学习如何在不同的端口和不同的操作系统中同时运行 Flask 应用程序。

Flask 应用程序路由

发布时间:2023/03/27 浏览次数:160 分类:Python

我们将通过这个解释了解如何在 Flask 中创建路由,以及在 Flask 中调用路由时如何获得响应。

Flask 网络套接字

发布时间:2023/03/27 浏览次数:160 分类:Python

通过这个解释,我们将了解 WebSocket 是什么以及它是如何在客户端和服务器之间工作的。我们还将学习如何借助 Flask 中的 flask_socketio 模块制作一个实时聊天应用程序。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便