使用Flask-SQLAlchemy创建模型与表的映射
1. 模型需要继承自db.Model
2. 属性必须写成 db.Column()的数据类型
3. 数据类型 db.String 是varchar
4. db.Text 是text
5. db.Integer 是int
6. db.Column()中的数据类型需要加上长度
7. 其他参数有primary_key
8. autoincrement
9. nullable 这些参数可以设置为True OR False
class Article(db.Model):
__tablename__ = "article"
id =db.Column(db.Integer,primary_key=True, autoincrement=True)
title = db.Column(db.String(100), nullable=False)
content = db.Column(db.Text, nullable=False)
增加数据
arricle = Article(title="aaa",content="bbb")
db.session.add(arricle)
db.session.commit()
查询数据
result = Article.query.filter(Article.title=='mark').first()
print(result.content)
1. query是从db.Model中继承来的
2. query.filter(Article.title=’xx’)过滤条件
3. first()取出查询结果的第一条数据 实际上就是一个Article对象
4. .all()是查询到的所有结果 是一个Article对象数组
修改数据
1. 查询到要改的数据 拿到Article对象
2. 更新 article1.title=’new title’
3. db.session.commit()
result = Article.query.filter(Article.title=='success').first()
old_title = result.title
result.title = 'success2018'
db.session.commit()
删除
1. 查出要删除的数据 拿到Article对象
2. db.session.delete(article)
3. db.session.commit()
result = Article.query.filter(Article.title=='success2018').first()
db.session.delete(result)
db.session.commit()
更详细的知识:https://segmentfault.com/a/1190000004618621
SQLAlchemy官方文档:http://flask-sqlalchemy.pocoo.org/2.1/