flask学习第六节 flask_sqlalchemy数据库的模型建立以及增删改查

本文介绍了如何使用Flask-SQLAlchemy进行数据库的初始化连接,包括驱动安装、ORM框架安装、SQLAlchemy对象初始化及配置。接着,通过创建数据库表模型,演示了增、删、改、查等基本数据库操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、SQLAlchemy的初始化连接

提醒:在你的虚拟环境中安装(也就是你的主app所使用的python解释器)

1.首先安装数据库的中间件驱动

这里小编安装的是pymsql作为驱动,你也可以安装mysqldb或者其他的驱动模块

安装驱动命令:pip install PyMySql -i https://pypi.douban.com/simple

2.安装flask_sqlalchemy(一套ORM框架,orm也就是模型关系映射)

pip install flask_sqlalchemy -i https://pypi.douban.com/simple

3.初始化SQLAlchemy对象

4.在config配置文件中,增加相关配置信息 大写字母不要自行更改,否则app.config.from_object()可能找不到对应的值

# dialect+driver://username:password@host:port/database
DIALECT = "mysql"  # 需要连接数据库的名称比如mysql ,oracle等
DRIVER = "pymysql"  # 连接数据库的中间件 比如dbmysql mysqldb等
USERNAME = "root"  # 连接数据库的账号
PASSWORD = "xxxx"  # 数据库密码
HOST = "127.0.0.1"  # 数据库地址
PROT = "3306"  # 数据库端口号
DATABASE = "a_12306"
SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT, DRIVER, USERNAME, PASSWORD, HOST, PROT,
                                                                       DATABASE)
SQLALCHEMY_TRACK_MODIFICATIONS = False

5.测试一下数据库连接

好我们发现正常启动,木有报错

现在我们故意把密码修改错误 在试一次 

好果然  报错了,这就说们我们初始化连接成功了

二、对数据库的操作部分

1.初始化一个数据库的表模型  比如新建一个数据库表

注意点:一定要继承db.Model这个类,db.String(这个值必须指定),

# 创建模型和表的映射 新增一个表
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)


# 这句代码如果注释不会新增一个表
db.create_all()

2.数据库表新增数据

注意:其中这个表有个id不过是自增长的 我们可以省略

# 数据库插入一条数据
article = Article(title="西方文学", content="学习西方知识")
db.session.add(article)
db.session.commit()

3.查询数据

# 从数据库查询数据
result = Article.query.filter(Article.title == "西方文学1")
if result.first() is None:
    print("查询到的结果为空")
else:
    for info in result.all():
        print(info.id)
        print(info.title)
        print(info.content)

4.修改数据

# 修改#
# 1、先把你需要修改的数据 查出来
result = Article.query.filter(Article.id == "1").first()
# 2、把这条数据,你需要修改的地方进行修改
result.title = "东方文学"
# 3、做事务的提交
db.session.commit()

5.删除数据

# 删除
# 1、需要把删除的数据查询出来
result = Article.query.filter(Article.id == "1").first()
# 2、把这个条数的数据删除掉
db.session.delete(result)
# 3、做事务的提交
db.session.commit()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值