文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

3.Python-用Python实现MySQL数据库的增删改查

2023-10-18 19:30

关注

题记

        用python实现mysql数据库的增删改查,以下是具体的代码和操作步骤

安装flask模块

        pip install flask

安装mysql.connector模块

        pip install mysql-connector-python

编写app.py文件 

        app.py文件如下: 

为什么显示不完整???# jsonify是Flask提供的用于生成JSON响应的函数# mysql.connector是一个用于连接和操作MySQL数据库的Python库from flask import Flask, request, render_template, jsonifyimport mysql.connectorapp = Flask(__name__)# 连接到MySQL数据库# 填写host,用户名,密码,数据库名db = mysql.connector.connect(    host="localhost",    user="root",    password="123456",    database="test")# 创建游标对象cursor = db.cursor()# 创建表格(如果不存在)cursor.execute("CREATE TABLE IF NOT EXISTS students (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT)")@app.route('/')def index():    # 查询数据库中的所有数据,cursor是用来执行SQL语句的游标对象    # cursor.fetchall()方法用于获取查询结果的所有行数据,并将其存储在students变量中    # render_template函数用来渲染index.html模板文件    # 在index.html中,通过在模板中使用{% for student in students %}和{% endfor %}来遍历students列表    cursor.execute("SELECT * FROM students")    students = cursor.fetchall()    return render_template('index.html', students=students)@app.route('/add', methods=['POST'])def add():    # request.form属性可以获取表单数据    name = request.form['name']    age = request.form['age']    # 向数据库插入数据    # %s是占位符,用于表示后面的值将会被替换    # values变量是一个元组,包含了要插入的name和age的值    # 使用db.commit()方法提交事务,将数据真正地插入到数据库中    sql = "INSERT INTO students (name, age) VALUES (%s, %s)"    values = (name, age)    cursor.execute(sql, values)    db.commit()    return "数据已成功添加到数据库!"# 用于指定id@app.route('/delete/', methods=['GET'])def delete(id):    # 删除指定ID的数据    sql = "DELETE FROM students WHERE id = %s"    values = (id,)    cursor.execute(sql, values)    db.commit()    return "数据已成功删除!"@app.route('/update/', methods=['GET'])def update1(id):    sql = "SELECT * FROM students WHERE id = %s"    values = (id,)    cursor.execute(sql, values)    # 使用cursor.fetchone()方法获取查询结果的第一行数据,并将其存储在student变量中    student = cursor.fetchone()    return render_template('update.html',student=student)@app.route('/update/', methods=['POST'])def update(id):    name = request.form['name']    age = request.form['age']    # 更新指定ID的数据    sql = "UPDATE students SET name = %s, age = %s WHERE id = %s"    values = (name, age, id)    cursor.execute(sql, values)    db.commit()    return "数据已成功更新!"@app.route('/select/', methods=['GET'])def select(id):    # 查询指定ID的数据    sql = "SELECT * FROM students WHERE id = %s"    values = (id,)    cursor.execute(sql, values)    student = cursor.fetchone()    # jsonify()函数将student转换为JSON格式    if student:        return jsonify(student)    else:        return "未找到匹配的数据!"if __name__ == '__main__':    app.run()
# jsonify是Flask提供的用于生成JSON响应的函数# mysql.connector是一个用于连接和操作MySQL数据库的Python库from flask import Flask, request, render_template, jsonifyimport mysql.connectorapp = Flask(__name__)# 连接到MySQL数据库# 填写host,用户名,密码,数据库名db = mysql.connector.connect(    host="localhost",    user="root",    password="123456",    database="test")# 创建游标对象cursor = db.cursor()# 创建表格(如果不存在)cursor.execute("CREATE TABLE IF NOT EXISTS students (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT)")@app.route('/')def index():    # 查询数据库中的所有数据,cursor是用来执行SQL语句的游标对象    # cursor.fetchall()方法用于获取查询结果的所有行数据,并将其存储在students变量中    # render_template函数用来渲染index.html模板文件    # 在index.html中,通过在模板中使用{% for student in students %}和{% endfor %}来遍历students列表    cursor.execute("SELECT * FROM students")    students = cursor.fetchall()    return render_template('index.html', students=students)@app.route('/add', methods=['POST'])def add():    # request.form属性可以获取表单数据    name = request.form['name']    age = request.form['age']    # 向数据库插入数据    # %s是占位符,用于表示后面的值将会被替换    # values变量是一个元组,包含了要插入的name和age的值    # 使用db.commit()方法提交事务,将数据真正地插入到数据库中    sql = "INSERT INTO students (name, age) VALUES (%s, %s)"    values = (name, age)    cursor.execute(sql, values)    db.commit()    return "数据已成功添加到数据库!"# 用于指定id@app.route('/delete/', methods=['GET'])def delete(id):    # 删除指定ID的数据    sql = "DELETE FROM students WHERE id = %s"    values = (id,)    cursor.execute(sql, values)    db.commit()    return "数据已成功删除!"@app.route('/update/', methods=['GET'])def update1(id):    sql = "SELECT * FROM students WHERE id = %s"    values = (id,)    cursor.execute(sql, values)    # 使用cursor.fetchone()方法获取查询结果的第一行数据,并将其存储在student变量中    student = cursor.fetchone()    return render_template('update.html',student=student)@app.route('/update/', methods=['POST'])def update(id):    name = request.form['name']    age = request.form['age']    # 更新指定ID的数据    sql = "UPDATE students SET name = %s, age = %s WHERE id = %s"    values = (name, age, id)    cursor.execute(sql, values)    db.commit()    return "数据已成功更新!"@app.route('/select/', methods=['GET'])def select(id):    # 查询指定ID的数据    sql = "SELECT * FROM students WHERE id = %s"    values = (id,)    cursor.execute(sql, values)    student = cursor.fetchone()    # jsonify()函数将student转换为JSON格式    if student:        return jsonify(student)    else:        return "未找到匹配的数据!"if __name__ == '__main__':    app.run()

编写index.html文件 

        index.html文件要放在templates文件夹下

        index.html文件如下: 

    学生管理    

学生管理

{% for student in students %} {% endfor %}
ID 姓名 年龄 操作
{{ student[0] }} {{ student[1] }} {{ student[2] }} 删除 修改 搜索

新增学生





    学生管理    

学生管理

{% for student in students %} {% endfor %}
ID 姓名 年龄 操作
{{ student[0] }} {{ student[1] }} {{ student[2] }} 删除 修改 搜索

新增学生





 

 编写update.html文件

        update文件如下: 

    修改学生    

修改学生

{ student[0] }}是一个占位符,将会被具体的学生ID替换-->




    修改学生    

修改学生

{ student[0] }}是一个占位符,将会被具体的学生ID替换-->




 

执行程序

        启动命令:

        python app.py 

        访问地址:

        localhost:5000 

展示图 

 觉得有用可以收藏或点赞!

来源地址:https://blog.csdn.net/m0_70819559/article/details/133818876

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯