Flask-SQLAlchemy的使用

Flask-SQLAlchemy的使用

  • 1、创建数据库
create  database flask_mysql charset utf8
  • 2、配置数据库信息
DIALECT = 'mysql'
DRIVER = 'mysqldb'
USERNAME = 'root'
PASSWORD = 'root'
HOST = '127.0.0.1'
PORT = '3306'
DATABASE = 'flask_sql'
SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT,DRIVER,USERNAME,PASSWORD,HOST,PORT,DATABASE)
SQLALCHEMY_TRACK_MODIFICATIONS = False
  • 3、主文件app配置
app = Flask(__name__)
app.config.from_object(config)
db = SQLAlchemy(app)
  • 4、初始化 flask-sqlalchemy
from flask import Flask
import config
from flask_sqlalchemy import  SQLAlchemy
  • 5、创建数据库表
app = Flask(__name__)
app.config.from_object(config)
db = SQLAlchemy(app)
class Article(db.Model):
 __tablename__ = 'article'
 id = db.Column(db.Integer,primary_key=True,autoincrement=True)
 # nullable=False 不能为空
title = db.Column(db.String(32),nullable=False)
content = db.Column(db.Text,nullable=False)
  • 6、测试数据库是否连接成功 注:程序运行没有报错表示正常的
db.create_all()
from flask import Flask
import config
from flask_sqlalchemy import  SQLAlchemy
app = Flask(__name__)
app.config.from_object(config)
db = SQLAlchemy(app)
class Article(db.Model):
    __tablename__ = 'article'
    id = db.Column(db.Integer,primary_key=True,autoincrement=True)
    # nullable=False 不能为空
    title = db.Column(db.String(32),nullable=False)
    content = db.Column(db.Text,nullable=False)
class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer,primary_key=True,autoincrement=True)
    name = db.Column(db.String,nullable=False)
    # nullable=False 不能为空
    title = db.Column(db.String(32),nullable=False)
    content = db.Column(db.Text,nullable=False)
db.drop_all()
db.create_all()
@app.route('/')
def index():
    return 'Hello World'
if __name__ == '__main__':
    app.run(debug=True)
  • 7、数据库增删查
  • 1)增加
 art = Article(title='aaa',content='bbb')
   db.session.add(art)
   db.session.commit()
  • 2)查询
 art = Article.query.filter().first()
    print(art.title)
    print(art.content)
  • 3)修改
  art.title = 'ccc'
  db.session.commit()
  • 4)删除
db.session.delete(art)
db.session.commit()

Flask-SQLAlchemy的使用