SQLAlchemy介绍
是对于数据库的ORM的框架,直接操作模型,安装命令为pip install SQLAlchemy。
SQLAlchemy是一个独立的ORMR框架,可以独立于FLASK存在,也可以在Django中使用。
Flask-SQLAlchemy是对SQLAlchemy的一个封装,更适合在flask使用。
安装
输入命令:pip install flask-sqlalchemy
然后再输入命令:pip install pymysql 这个库是用来连接数据库的
from sqlalchemy import create_engine # 数据库的配置变量 HOSTNAME = '127.0.0.1' PORT = '3306' DATABASE = 'zhou' USERNAME = 'root' PASSWORD = 'nidemima' DB_URI = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format(USERNAME,PASSWORD,HOSTNAME,PORT,DATABASE) # 创建数据库引擎 engine = create_engine(DB_URI) #创建连接 with engine.connect() as con: rs = con.execute('SELECT 1') print rs.fetchone()
其中track第14行代码是跟踪修改。这个可以设置的。(我不设置这个就不能正常运行,好像是py的新版本要求。)
创建数据库表及定义字段
通过方框内代码既可以进行ORM模型的使用,然后create_all()即可创建数据库表了。
#ORM模型 class Article(db.Model): __tablename__ = "article" id = db.Column(db.Integer,primary_key=True,autoincrement=True) title = db.Column(db.String(200),nullable=False) content = db.Column(db.Text,nullable=False) db.create_all()
增加
@app.route("/article") def article_view(): #id是自动增长的不需要设置 先建立一个对象 然后进行增加 article = Article(title="洲的学习笔记",content="洲") db.session.add(article) #添加 db.session.commit() #提交 return "操作成功"
增删改查
@app.route("/article") def article_view(): #1.增加数据 id是自动增长的不需要设置 #article = Article(title="洲的学习笔记",content="洲") #db.session.add(article) #添加 #db.session.commit() #提交 #return "操作成功" #2.查询数据 #article = Article.query.filter_by(id=1)[0] #返回一个类列表的对象 #print(article.title) #3.修改数据 article = Article.query.filter_by(id=1)[0] article.content = "zhouzhou" db.session.commit() #4.删除数据 article = Article.query.filter_by(id=1).delete() db.session.commit()