本篇文章小编给大家分享一下python MySQLdb连接数据使用代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
1.文件结构
MySQLdb和pymysql的使用差不多阅读的小伙伴可以自己尝试实现
2.实验效果
3.主文件:main.py
import MySQLdb from flask_wtf import FlaskForm from wtforms.validators import DataRequired,EqualTo,Length from wtforms import StringField,SubmitField,PasswordField,TelField from flask import Flask,render_template,redirect,url_for,abort,request,jsonify app=Flask(__name__) app.secret_key='stu' #连接数据mysql conn=MySQLdb.connect( host='127.0.0.1', port=3306, user='root', password='root', db='main' ) cur=conn.cursor() #增加用户表单 class StuForm(FlaskForm): name=StringField(label='用户名: ',validators=[DataRequired()]) password=PasswordField(label='密码: ',validators=[DataRequired(),Length(min=3,max=8)]) submit=SubmitField(label='提交') #搜索用户表单 class SStuForm(FlaskForm): name = StringField(label='用户名: ', validators=[DataRequired()]) submit=SubmitField(label='提交') #更新用户表单 class UStuForm(FlaskForm): name = StringField(label='用户名: ', validators=[DataRequired()]) password = PasswordField(label='密码: ', validators=[DataRequired(), Length(min=3, max=8)]) submit = SubmitField(label='提交') #删除用户表单 class DStuForm(FlaskForm): name = StringField(label='用户名: ', validators=[DataRequired()]) submit = SubmitField(label='提交') def CreateTab(): sql="create table student(name varchar(20),password varchar(30))" cur.execute(sql) conn.commit() cur.close() @app.route('/add',methods=['POST','GET']) def add(): stuform=StuForm() if request.method=='POST': if stuform.validate_on_submit(): name=stuform.name.data password=stuform.password.data print('name: {}'.format(name)) print('password: {}'.format(password)) sql=f"insert into student(name,password) values('{name}','{password}')" cur.execute(sql) conn.commit() return jsonify('Add Successed!') return render_template('add.html',stuform=stuform) @app.route('/search',methods=['POST','GET']) def search(): sstuform=SStuForm() if request.method=='POST': if sstuform.validate_on_submit(): name=sstuform.name.data sql=f"select count(name) from student where name='{name}'" cur.execute(sql) conn.commit() count=cur.fetchone()[0] if count<=0: return jsonify('The User is not exist!') else: sql=f"select name,password from student where name='{name}'" cur.execute(sql) conn.commit() result=cur.fetchall() return jsonify(result) return render_template('search.html',sstuform=sstuform) @app.route('/update',methods=['POST','GET']) def update(): ustuform=UStuForm() if request.method=='POST': if ustuform.validate_on_submit(): name = ustuform.name.data password=ustuform.password.data sql = f"select count(name) from student where name='{name}'" cur.execute(sql) conn.commit() count = cur.fetchone()[0] if count <= 0: return jsonify('The User is not exist!') else: sql = f"update student set name='{name}',password='{password}' where name='{name}'" cur.execute(sql) conn.commit() return jsonify('Update Successed!') return render_template('update.html',ustuform=ustuform) @app.route('/delete',methods=['POST','GET']) def delete(): dstuform=DStuForm() if request.method=='POST': if dstuform.validate_on_submit(): name=dstuform.name.data sql = f"select count(name) from student where name='{name}'" cur.execute(sql) conn.commit() count = cur.fetchone()[0] if count <= 0: return jsonify('The User is not exist!') else: sql=f"delete from student where name='{name}'" cur.execute(sql) conn.commit() return jsonify('Delete Successed!') return render_template('delete.html',dstuform=dstuform) @app.route('/function',methods=['POST','GET']) def function(): if request.method=='POST': submit1 = request.form.get('submit1') submit2 = request.form.get('submit2') submit3 = request.form.get('submit3') submit4 = request.form.get('submit4') print('submit1: {}'.format(submit1)) print('submit2: {}'.format(submit2)) print('submit3: {}'.format(submit3)) print('submit4: {}'.format(submit4)) if submit1 is not None: return redirect(url_for('add')) if submit2 is not None: return redirect(url_for('search')) if submit3 is not None: return redirect(url_for('update')) if submit4 is not None: return redirect(url_for('delete')) return render_template('base.html') if __name__ == '__main__': print('Pycharm') # CreateTab() app.run(debug=True)
4.base.html文件
Title 功能选择
5.update.html文件
Insert
6.delete.html文件
Insert
7.search.html文件
Insert