Flask学习与项目实战5:通过SQLAlchemy连接数据库进行ORM模型的简单增删改查
【摘要】
SQLAlchemy介绍
是对于数据库的ORM的框架,直接操作模型,安装命令为pip install SQLAlchemy。
SQLAlchemy是一个独立的ORMR框架,可以独立于FLASK存在,也...
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()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
其中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()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
增加
@app.route("/article")
def article_view():
#id是自动增长的不需要设置 先建立一个对象 然后进行增加
article = Article(title="洲的学习笔记",content="洲")
db.session.add(article)
#添加
db.session.commit()
#提交
return "操作成功"
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
增删改查
@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()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
文章来源: blog.csdn.net,作者:洲的学习笔记,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/weixin_51484460/article/details/122641766
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)