sqlalchemy 是一个用于操作数据库的 [[Python]] 库。
安装
连接
- MySQL:
mysql://username:password@host/databasename
属性
- primary_key: 主键
- unique: 唯一
- index: 索引
- nullable: 空值
- default: 默认值,发生 insert 语句时调用
- onupdated: 发生 update 语句时调用
- comment: 注释
数据类型
SQLALchemy 类型 | MySQL 类型 | Python 类型 | 描述 |
---|---|---|---|
SmallInteger | smallint | int | 数字,2 字节:-32768 到 32767 |
Integer | int | int | 数字,4 字节:-2147483648 到 2147483647 |
BigInteger | bigint | int/long | 数字,8 字节:9223372036854775807 |
Float | float | float | 浮点数:4 字节 |
Numeric | decimal | decimal.Decimal | 定点数,M + 2 字节:Numeric(M, D) |
String | varchar | str | 字符串 |
Time | time | date.time | 时间 |
Date | date | datetime.date | 日期 |
DateTime | datetime | datetime.datetime | 日期时间 |
Boolean | tinyint | bool | 布尔值 |
JSON | JSON | list | 列表/JSON |
Text | 长文本 |
过滤方法
- filter():使用指定过滤规则,并返回查询对象
- filter_by():使用指定过滤规则(以关键字表达式形式)
- order_by():根据指定条件对记录进行排序
- group_by():指定条件对记录进行分组
查询方法
- all():返回包含所有查询记录的列表
- first():返回查询的第一条记录,如未找到,返回 None
- get(id):传入主键作为参数,如未找到,返回 None
- count():返回查询结果的数量
- first_or_404():返回查询结果的第一条记录,如果未找到,返回 404
- get_or_404(id):传入主键作为参数,如未找到,返回 404
- paginate():返回第一个 Pagination 对象,可对记录进行分页处理
使用
使用 UUID 作为主键
创建
查询
更新
删除
2.0
select
-
.scalar(): 获取单个
-
.scalars() 获取所有
-
以字典形式返回所有数据
示例
时间自动更新
报错
Authentication plugin ‘caching_sha2_password’ is not supported
[[pip]] 安装 mysql-connector-python 解决,而不是 mysql-connector-python