1.配置URL连接数据库
2.在MySQL中建立一张表


from flask import Flask
from flask_sqlalchemy import SQLAlchemyapp = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:3202336152@localhost/student?charset=utf8'  #配置URL
db = SQLAlchemy(app)  #创建数据库对象class Article(db.Model):  #创建数据表模型__tablename__ = 'information'  #表名id = db.Column(db.Integer, primary_key=True, autoincrement=True)  #声明各个列内容name = db.Column(db.String(100), nullable=False)number = db.Column(db.Integer, nullable=False)@app.route('/')
def hello_world():return 'Hello World!'if __name__ == '__main__':db.drop_all()  #清除表内容db.create_all()  #新创建表app.run()

通过命令可以看见已经生成MySQL表

整体代码实现

  • python 源代码
from flask import Flask, render_template,flash,request
from flask_sqlalchemy import SQLAlchemy
from flask_wtf import FlaskForm
from wtforms import StringField,SubmitField,IntegerField
from wtforms.validators import DataRequiredapp = Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:320123@localhost/student?charset=utf8'
app.config['SQLALCHEMY_TRACK_MODIFCATIONS'] = False
app.secret_key = 'huanyu'db = SQLAlchemy(app)class Stu(db.Model):__tablename__ = 'information'id = db.Column(db.BigInteger, primary_key=True, autoincrement=True)name = db.Column(db.String(100), primary_key=True, nullable=True)xuehao = db.Column(db.BigInteger,  nullable=True)number = db.Column(db.BigInteger, nullable=True)#自定义表单类
class Login(FlaskForm):name = StringField('姓名:', validators=[DataRequired()])   #验证函数xuehao = IntegerField('学号:', validators=[DataRequired()])number = IntegerField('电话:', validators=[DataRequired()])submit = SubmitField('提交')@app.route('/',methods = ['GET','POST'])
def index():stu = Login()#调用WTF函数实现验证if stu.validate_on_submit():#验证通过获取数据stu_name = stu.name.datastu_xuehao = stu.xuehao.datastu_number = stu.number.data#添加数据try:new_stu = Stu(name=stu_name, xuehao=stu_xuehao, number=stu_number)db.session.add(new_stu)db.session.commit()except Exception as e:print(e)    #打印错误类型flash('添加失败')db.session.rollback()else:#验证不通过提示错误if request.method == 'POST':flash('参数不全')return render_template('index.html', stu=stu)if __name__ == '__main__':#db.drop_all()  删除表#db.create_all()  新建表app.run(debug=True)
  • HTML 源代码
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>武汉工程大学</title><style type="text/css">*{background-color:write;}#tou p{font-size: 40px;text-align: center;}#qq {text-align: center;font__size:25px;}</style>
</head>
<body><div id="tou"><p>学生信息填写</p>
</div><HR style="FILTER: alpha(opacity=100,finishopacity=0,style=3)" width="100%" color=#201E1E SIZE=6><div align="center" id="qq"><form method="post">{{ stu.csrf_token }}{{ stu.name.label }} <p>{{ stu.name }}</p> <br>{{ stu.xuehao.label }} <p>{{ stu.xuehao }}</p> <br>{{ stu.number.label }} <p>{{ stu.number }}</p> <br>{{ stu.submit }} <br>{% for message in get_flashed_messages() %}{{ message }}{% endfor %}</form></div></body>
</html>

实现效果

提交后即可保存本地数据库…

坚持是检验真理的唯一标准
come on — 寰宇

flask框架操作MySQL数据库相关推荐

  1. Python FastAPI 框架 操作Mysql数据库 增删改查

    2 比 1 更容易理解,可以先看2(单文件级别) 1.FastAPI 框架 操作Mysql数据库(项目多文件级别) FastAPI 可以使用任何您想要的关系型数据库. 在这里,让我们看一个使用着SQL ...

  2. Flask框架连接mysql数据库

    1.安装mysql 下载安装包进行安装,可以参考  安装mysql 安装完成后修改密码 2.登录数据库 进入到安装目录bin下,打开cmd窗口 在cmd出口中输入命令 mysql -u root -p ...

  3. mysql java dbutil_Java -- DBUtils 框架 操作MySQL数据库

    1. 增删改查 常用Handler处理器示例 QueryRunner类提供了两个构造方法: •默认的构造方法 •需要一个javax.sql.DataSource来作参数的构造方法. public Ob ...

  4. 【MySQL】如何最大程度防止人为误操作MySQL数据库?这次我懂了!!

    点击上方蓝色"冰河技术",关注并选择"设为星标" 持之以恒,贵在坚持,每天进步一点点! 作者个人研发的在高并发场景下,提供的简单.稳定.可扩展的延迟消息队列框架 ...

  5. python mysql工具类_Python工具类(一)—— 操作Mysql数据库

    如何调用直接看__main__函数里如何调用此工具类就阔以啦! # encoding=utf-8 import pymysql # 导入所有Mysql配置常量,请自行指定文件 from conf.se ...

  6. tornado web mysql_Tornado WEB服务器框架 Epoll-- 【Mysql数据库】

    5.1 数据库 与Django框架相比,Tornado没有自带ORM,对于数据库需要自己去适配.我们使用MySQL数据库. 在Tornado3.0版本以前提供tornado.database模块用来操 ...

  7. 【tips】ORM - SQLAlchemy操作MySQL数据库

    优先(官方文档SQLAlchemy-version1.2): sqlalchemy | 作者:斯芬克斯 推荐一(长篇幅version1.2.0b3):python约会之ORM-sqlalchemy | ...

  8. Node.js SQL数据库操作 (上)(操作MySQL数据库及 数据库连接池)

    文章目录 Node.js MySQL驱动 操作 MySQL 数据库 连接 MySQL 数据库 增删改查操作 防止 SQL 注入攻击 数据库连接池操作 Node.js MySQL驱动 Node.js的原 ...

  9. ef框架链接mysql数据库_.net EF框架 MySql实现实例

    1.nuget中添加包EF和MySql.Data.Entity 2.config文件添加如下配置 1.配置entitframework节点(一般安装EF时自动添加) 2.配置system.data节点 ...

最新文章

  1. 某资深互联网人分析:支付宝面临巨大困难,被微信争夺市场,年轻用户流失严重...
  2. Win7实用技巧之五库功能妙用
  3. 商品类型的下拉框绑定一个事件,通过ajax获取属性
  4. PAT甲级 -- 1079 Total Sales of Supply Chain (25 分)
  5. set trans 必须是事务处理的第一个语句_MySQL中特别实用的几种SQL语句送给大家
  6. python与机械教育初探_Python公开课-机械学习之手写识别
  7. Harris角点检测原理详解(转载)
  8. weblogic for linux 下载,weblogic for linux安装
  9. aida64使用教程
  10. 2022低压电工判断题及在线模拟考试
  11. XJOI 9291 Hello OI
  12. 业绩爆发,押注“泛半导体”,TCL押对了吗?
  13. ruby--数值类(Numeric)
  14. 给一个不多于5位的正整数,要求: 1.求出它是几位数; 2.分别输出每一位数字; 3.按逆序输出各位数字;
  15. 鲁大师电动车智能化测评报告第十八期:加量降价,九号完成产品破圈?
  16. greasemonkey 使用心得
  17. mongodb aggregate按日期分组统计及spring mongo实现
  18. Effective C++ 读书笔记 Item1-Item4
  19. WinHttp 类封装
  20. PS动效插件imagemotion汉化版

热门文章

  1. rfa 文件读取_RFA文件扩展名 - 什么是.rfa以及如何打开? - ReviverSoft
  2. 计算n以内的偶数和(c++)
  3. MySQL报错1406_MySQL #1406 Data too long错误
  4. 奇异雅可比矩阵 (BVP4c)
  5. 自己有电脑的,不看后悔一辈子哦
  6. BOOST库介绍,安装
  7. 什么是映射?为什么需要映射
  8. 酷派n3c有没有英文语言,联发科CPU的手机便宜的多,21克M2C、酷派锋尚N3C配置、报价对比...
  9. 区块链来了|跨境转账可以实时到账?全球支付体系将重构
  10. 如何开通微信支付红包实时到账功能【密】