1.Flask连接数据库(mysql)
连接mysql共两种写法,一种写在config.py里面,另一种直接简单粗暴一段话,这里推荐简单写法如下:
#app.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import pymysql
pymysql.install_as_MySQLdb()
app = Flask(__name__) #创建app对象
#上面都是基础配置,下面是连接mysql的核心代码
#连接数据库 root:用户名 123456:密码 localhost:路径 test:数据库名
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:123456@localhost/test'
完善app.py如下
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import pymysql
pymysql.install_as_MySQLdb()
app = Flask(__name__) #创建app对象
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:123456@localhost/test' #连接数据库
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
db = SQLAlchemy(app) #创建db对象
db.create_all()
2.创建数据库模型与表的映射
我们创建了一个Student类,id为主键primary_key=True
class Student(db.Model): #创建数据库模型类
__tablename__ = 'student' #表名称
id = db.Column(db.Integer, primary_key=True) #id primary_key=True 主键
name = db.Column(db.String(100),nullable=False)
age = db.Column(db.Integer,nullable=False)
完整的app.py如下
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import pymysql
pymysql.install_as_MySQLdb()
app = Flask(__name__) #创建app对象
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:123456@localhost/test' #连接数据库
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
db = SQLAlchemy(app) #创建db对象
class Student(db.Model): #创建数据库模型类
__tablename__ = 'student' #表名称
id = db.Column(db.Integer, primary_key=True) #id primary_key=True 主键
name = db.Column(db.String(100),nullable=False)
age = db.Column(db.Integer,nullable=False)
db.create_all()
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()