在Flask中使用MySQL数据库
前面两章分别对mysql数据库进行了安装、flask的简单介绍,而本章将继续学习flask操作的mysql数据库。
MySQL数据库在Flask开发中起到了存储、管理和检索数据的重要作用,使得应用程序能够有效地处理和展示数据。

在它的查询控制台console中实行如下语句(按ctrl+enter实行):
create database new_python_mysql;
直接对mysql数据库右键单击新建,选择表格

show create table python_mysql.user; #结果: CREATE TABLE `user` ( `id` int NOT NULL AUTO_INCREMENT, `name` varchar(10) DEFAULT '', `sex` varchar(10) DEFAULT '', `age` int DEFAULT '0', `email` varchar(128) DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='user_table'
#新增一条数据:
insert into python_mysql.user( name, sex, age,email) values ('xinxin','women',23,'xinxin@qq.com');
使用pymysql库可以在Python中连接和操作MySQL数据库。它提供了一系列的方法和函数,使得在Python中使用MySQL数据库变得更加方便和灵活。
import pprint
import pymysql
from pymysql import cursors
#连接mysql数据库
def conn_mysql():
return pymysql.connect(
host="localhost",
port= 端口号,
user= "root",
password= 你的密码,
database= "python_mysql",
charset= "utf8"
)
#查询数据
def query_data(sql):
conn = conn_mysql()
try:
cursor = conn.cursor(pymysql.cursors.DictCursor) #返回数据是字典形式,而不是数组
cursor.execute(sql)
return cursor.fetchall()
finally:
conn.close()
#更新数据:
def insert_or_update_data(sql):
conn = conn_mysql()
try:
cursor = conn.cursor()
cursor.execute(sql)
conn.commit() #提交
finally:
conn.close()
#尝试执行
if __name__ == "__main__":
sql = "insert user (name,sex,age,email) values ('xingshi','man',18,'xingshi@qq.com')"
insert_or_update_data(sql)
sql = "select * from user"
datas = query_data(sql)
pprint.pprint(datas)
@app.route("/show_add_user")
def show_add_user():
return render_template("show_add_user.html")
show_add_user.html 文件
提交用户信息
提交用户信息:
@app.route("/do_add_user",methods = ["POST"])
def do_add_user():
print(request.form)
name = request.form.get("name")
sex = request.form.get("sex")
age = request.form.get("age")
email = request.form.get("email")
sql = f"""
insert into user(name,sex,age,email)
values ('{name}','{sex}',{age},'{email}')
"""
print(sql)
db.insert_or_update_data(sql)
return "success"
#展示用户列表
@app.route("/show_users")
def show_users():
sql = "select id,name from user"
datas = db.query_data(sql)
return render_template("show_users.html",datas = datas)
#... 定义一行标签,一组行标签内可以建立多组由或 标签所定义的单元格
# ... 定义表头单元格。表格中的文字将以粗体显示
#... 定义单元格标签
show_users.html 文件
查看用户列表
查看用户列表
@app.route("/show_user/")
def show_user(user_id):
sql ="select * from user where id=" +user_id
datas = db.query_data(sql)
# print(datas)
user = datas[0]
# print(user)
return render_template("show_user.html",user=user)
show_user.html 文件
查看单个用户信息
查看单个用户信息
初始提交用户信息界面:

提交一个用户的信息:

显示提交成功,说明数据成功提交到mysql数据库中


进入展示用户列表的界面

点进最后一个用户的信息页面:

本章主要简单介绍了mysql在flask开发中作用,并简单的做了一个向数据库中提交用户信息的页面程序。
人间总有一两风,填我十万八千梦。
–2023-9-24 进阶篇