mariadb镜像使用教程(二)——Fastapi连接MariaDB

1.官网demo

Fastapi 官方文档
先看一下官网
在这里插入图片描述

这里对这几个文件解释一下,我们不一定按照这个目录结构来处理哈,比如我的main就放在了外层,
__init__.py  # 通常__init__.py文件为空,但是我们还可以为它增加其他的功能,我们在导入一个模块时候(也叫包),实际上导入的是这个模块的__init__.py文件。我们可以在__init__.py导入我们需要的模块,不需要一个个导入

crud.py # 顾名思义,处理增删改插逻辑的方法

database.py # 数据库的声明,初始化配置的地方,比如url,账户密码之类的

main.py # 启动的入口文件

models.py # 数据模型文件,和数据库的表对应

schemas.py # 可以理解为和请求对应的文件

我们可以直接把官网的demo copy到本地,安装一下依赖

pip install pymysql
pip install sqlalchemy

这样前期准备工作OK了

2.注意事项
2.1 数据 url
SQLALCHEMY_DATABASE_URL = "mysql+pymysql://root:root@localhost:3306/test"
# 格式为:mysql+pymysql://数据库用户:数据库密码@地址/数据库
2.2 删除数据库多余配置

在这里插入图片描述

删除 database.py中的这个配置
删除后如下:
engine = create_engine(
    SQLALCHEMY_DATABASE_URL
)
2.3 建表语句

直接运行他会提示mysql 的Varchar 需要length属性,所以在models.py文件中,改动如下:

# __*__ coding : UTF-8 __*__
# Author : chaochaoxiao
# date : 2021/8/4 1:35 上午
from sqlalchemy import Boolean, Column, ForeignKey, Integer, String
from sqlalchemy.orm import relationship

from .database import Base


class User(Base):
    __tablename__ = "users"

    id = Column(Integer, primary_key=True, index=True)
    email = Column(String(255), unique=True, index=True)
    hashed_password = Column(String(64))
    is_active = Column(Boolean, default=True)

    items = relationship("Item", back_populates="owner")


class Item(Base):
    __tablename__ = "items"

    id = Column(Integer, primary_key=True, index=True)
    title = Column(String(255), index=True)
    description = Column(String(255), index=True)
    owner_id = Column(Integer, ForeignKey("users.id"))

    owner = relationship("User", back_populates="items")

到此为止,运行

uvicorn main:app --reload

在这里插入图片描述

3.验证一下

打开 localhost:8000/docs ,找到用户的创建:
在这里插入图片描述
显示执行成功,到数据库看一下:
在这里插入图片描述
可以看到数据保存成功啦,连接mariadb也就到这里就成功啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值