Fastapi
可关联市场的主流数据库,下面主要是结合sqlalchemy
操作mysql
数据库。当然你也可以使用SQLite
,因为它使用单个文件并且 Python
具有集成支持。操作起来更简单,坑也少一点。
话不多说,下面进入正题
首先得要先安装:
1. pip install sqlalchemy
工程目录中新建sql_app
包,可以理解是一个小的数据库操作包
1. sql_app
2. ├── __init__.py
3. ├── crud.py
4. ├── database.py
5. ├── main.py
6. ├── models.py
7. └── schemas.py
文件注释:
__init__.py
是包文件,暂时不用理会crud.py
是放置执行数据操作的函数database.py
是连接数据库,并进行初始化main.py
是放置接口,也是文件的主入口models.py
是创建模型属性的,主要是针对数据库创建字段和表schemas.py
是创建模型,也就是接口传的一些参数
database.py文件中的数据:
1. #!/usr/bin/env python
2. # -*- coding: utf-8 -*-
3. # @Time : 2022/2/23 14:13
4. # @Author : Lifeng
5. # @Site :
6. # @File : database.py
7. # @Software: PyCharm
8.
9. from sqlalchemy import create_engine
10. from sqlalchemy.ext.declarative import declarative_base
11. from sqlalchemy.orm import sessionmaker
12.
13. __all__ = ["BASE", "get_db"]
14.
15.
16. class _DBConnect:
17. # 定义一个变量
18. # _SQLALCHEMY_DATABASE_URL = "sqlite:///./sqlite_database.db"
19. _SQLALCHEMY_DATABASE_URL = "mysql+pymysql://root:123456@192.168.0.111:3306/fastapi-dev?charset=utf8"
20. # SQLALCHEMY_DATABASE_URL = "postgresql://user:password@postgresserver/db"
21.
22. # 创建一个连接
23. _engine = create_engine(
24. _SQLALCHEMY_DATABASE_URL
25. )
26.
27. # 创建一个持久对象