Flask链接数据库
安装好mysql后,先整一个flask模板
- 先用PyCharm打开一个flask项目

链接数据库需要python的一个库‘flask_sqlalchemy’
from flask_sqlalchemy import SQLAlchemy
- 首先建立一个数据库
db = SQLAlchemy(app)
这时候运行一下会有两个警告

所以这时候需要配置一下这两个东西
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@127.0.0.1/flask_demo'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
第一个的格式是 mysql+pymysql://数据库名字:数据库密码@127.0.0.1/本次建立库的名字,配置完这两句话后就不会弹出警告了。
在配置中我们使用了pymysql,所以也需要在开头调用一下
import pymysql
pymysql.install_as_MySQLdb()
- 建立表
接下来建立我们需要的表
class Role(db.Model):
__tablename__ = 'roles'
#db.column 表示一个字段
id = db.Column(db.Integer,primary_key=True)
name = db.Column(db.String(16),unique=True)
如果想建表的话就必须调用一下db.Model
其中__tablename__ 表示的是表的名字
id和name是我们表中的两个字段,其中id为主键
class User(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer,primary_key=True)
#如果不想出现两个张三,就unique=True
name = db.Column(db.String(16),unique=True)
#db.ForeignKey('roles.id')表示是外键
role_id = db.Column(db.Integer,db.ForeignKey('roles.id'))
- 打开mysql 建立表
create database flask_demo1 charset=utf8
记得得加utf8,因为我们在数据库中得用到中文,
用use进入建立的数据库

查看一下表

现在依然是空的,因为我们还没有建立表
建立一下表
db.create_all()

成功连接数据库。
全部的代码如下:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import pymysql
pymysql.install_as_MySQLdb()
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@127.0.0.1/flask_demo1'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
class Role(db.Model):
__tablename__ = 'roles'
#db.column 表示一个字段
id = db.Column(db.Integer,primary_key=True)
name = db.Column(db.String(16),unique=True)
class User(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer,primary_key=True)
#如果不想出现两个张三,就unique=True
name = db.Column(db.String(16),unique=True)
#db.ForeignKey('roles.id')表示是外键
role_id = db.Column(db.Integer,db.ForeignKey('roles.id'))
@app.route('/')
def hello_world():
return 'Hello World!'
db.create_all()
if __name__ == '__main__':
app.run()
本文介绍了如何在Flask项目中链接MySQL数据库,包括安装必要的库、配置数据库连接、创建数据库和表,以及解决运行时警告的方法。通过示例代码展示了如何建立表并进行数据库操作。
5012

被折叠的 条评论
为什么被折叠?



