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()
|