当前位置: 首页 > 后端技术 > Python

Python+Flask+MySQL连接数据库

时间:2023-03-26 12:01:17 Python

1、准备安装MySQL:MySQL安装所需的Python库pipinstallflaskpipinstallflask-sqlalchemypipinstallpymysql2、编写Python代码fromflaskimportFlaskfromflask_sqlalchemyimportSQLAlchemyapp=Flask(__name__)app.config['SECRET_KEY']='2333'#密码app.config['SQLALCHEMY_DATABASE_URI']='mysql+pymysql://root:2333@localhost:3306/runoob'#协议:mysql+pymysql#用户名:root#密码:2333#IP地址:localhost#端口:3306#数据库名:runoob#这里的数据库需要提前建好app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN']=Truedb=SQLAlchemy(app)#新建表RoleclassRole(db.Model):__tablename__='roles'#tablenameid=db.Column(db.Integer,primary_key=True)#id字段,int类型,主键name=db.Column(db.String(64),unique=True)#name字段,string类型,唯一users=db.relationship('User',backref='role',lazy='dynamic')#外键关系,动态更新def__repr__(self):#相当于toStringreturn''%self.name#NewtableUserclassUser(db.Model):__tablename__='users'id=db.Column(db.Integer,primary_key=True)username=db.Column(db.String(64),unique=True,index=True)#indexrole_id=db.Column(db.Integer,db.ForeignKey('roles.id'))#外键def__repr__(self):return''%self.usernameif__name__=='__main__':db.drop_all()#删除现有表db.create_all()#创建这两个表app.run()运行。运行成功结果如下:*ServingFlaskapp"HelloMysql"(lazyloading)*环境:productionWARNING:Thisisadevelopmentserver.不要在生产部署中使用它。请改用生产WSGI服务器。*Debugmode:off*Runningonhttp://127.0.0.1:5000/(PressCTRL+Ctoquit)3.查看数据库mysql>SHOWDATABASES;mysql>useRUNOOB;//数据库名mysql>SHOWTABLES;可以看到建表成功:+----------------+|Tables_in_runoob|+-----------------+|角色||users|+-----------------+4.参考中国传媒大学《数据可视化》课时33