跳转到主要内容

DynamoDB 查询语言

项目描述

DQL

构建:

build coverage

文档:

http://dql.readthedocs.org/

下载:

http://pypi.python.org/pypi/dql

源代码:

https://github.com/stevearc/dql

一种简单、类似 SQL 的 DynamoDB 语言

截至 2020 年 11 月,Amazon 已经为 DynamoDB 发布了 PartiQL 支持。您应首先调查此功能是否满足您的需求。

入门指南

安装可以通过多种方式完成

  • pex文件可在发布页面上找到。

  • 您可以使用脚本来生成 pex 文件: curl -o- install.py https://raw.githubusercontent.com/stevearc/dql/master/bin/install.py | python

  • 使用 pip: pip install dql

示例

以下是一些基本的 DQL 示例以供您开始

启动 REPL

$ dql
us-west-1>

创建表

us-west-1> CREATE TABLE forum_threads (name STRING HASH KEY,
         >                             subject STRING RANGE KEY,
         >                             THROUGHPUT (4, 2));

插入数据

us-west-1> INSERT INTO forum_threads (name, subject, views, replies)
         > VALUES ('Self Defense', 'Defense from Banana', 67, 4),
         > ('Self Defense', 'Defense from Strawberry', 10, 0),
         > ('Cheese Shop', 'Anyone seen the camembert?', 16, 1);

查询

us-west-1> SCAN * FROM forum_threads;
us-west-1> SELECT count(*) FROM forum_threads WHERE name = 'Self Defense';
us-west-1> SELECT * FROM forum_threads WHERE name = 'Self Defense';

突变

us-west-1> UPDATE forum_threads ADD views 1 WHERE
         > name = 'Self Defense' AND subject = 'Defense from Banana';
us-west-1> DELETE FROM forum_threads WHERE name = 'Cheese Shop';

更改表

us-west-1> ALTER TABLE forum_threads SET THROUGHPUT (8, 4);
us-west-1> DROP TABLE forum_threads;

别忘了使用 help

变更日志

0.6.2 - 未发布

  • 修复:由于 python 3.9 而显现的缺少依赖项(typing_extensions)问题

  • 添加:使用 python 3.9 运行测试

  • 任务:一般清理和代码风格检查

  • 任务:移除travis-ci;添加github工作流程

  • 新增:clearcls 命令。

  • 更新:clear、cls、exit命令不再记录在历史记录中。

0.6.1

  • 特性:跨会话保留查询历史。(#40)

  • 修复:无法在索引上使用count(*) (#37)

  • 修复:保存数据到某些文件格式时失败

  • 修复:约束函数接受带引号的字段名 (#36)

  • 任务:更新Dynamo Local配置以在项目根目录中安装依赖项。

0.6.0

  • 错误修复:在按需表上使用ls时修复了ZeroDivisionError (#32)

  • 新增:ls命令接受glob模式 (#30)

  • 新增:更好的错误处理和显示。 (#28)

  • 新增:使用-c选项执行的标准错误处理。 (#28)

  • 新增:键盘中断将打印神秘的表情符号。 (#28)

  • 新增:使用-c时,可以使用--json参数将结果格式化为JSON

  • 任务:一般开发环境和CI更新,以简化开发。 (#27)

0.5.28

  • 错误修复:某些SAVE文件格式的编码错误

0.5.27

  • 错误修复:在Python 3中正确节流

停止支持python 3.4

0.5.26

  • 使用python-future代替six作为兼容性库

  • 现在分发wheel包

  • 错误修复:在Python 2上确认提示崩溃

0.5.25

  • 错误修复:与Python 3的兼容性错误

0.5.24

  • 错误修复:支持字段名中含有-的关键条件

0.5.23

  • 错误修复:mac上的默认编码错误

停止支持python 2.6

0.5.22

  • 错误修复:现在可以使用-c "command"运行任何CLI命令

0.5.21

  • 错误修复:当使用具有活动‘watch’命令的终端调整大小时,修复了崩溃问题

  • “Watch”列将动态调整以适应终端宽度

0.5.20

  • 错误修复:保存到JSON时,浮点数不再转换为整数

  • 错误修复:在使用WHERE … IN时正确替换保留字

0.5.19

  • 锁定pyparsing的版本,在2.1.5之后再次破坏了兼容性。

0.5.18

  • 错误修复:修复了正确的名称替换/选择逻辑

  • bin/run_dql.py替换为bin/install.py。类似的概念,更好的执行。

0.5.17

  • 错误修复:无法显示二进制数据

0.5.16

  • 错误修复:无法在更新语句中使用布尔值

0.5.15

  • 在Windows上优雅地处理缺少的导入

0.5.14

  • 缺少curses库不会导致ImportError

0.5.13

  • 修复了有时即使找到结果也会显示“无结果”的查询错误。

0.5.12

  • 区分LIMIT和SCAN LIMIT

  • 限制消耗吞吐量的选项和查询语法

  • 崩溃修复和其他小的健壮性改进

0.5.11

  • SELECT <attributes>现在可以使用完整表达式

0.5.10

  • 使用SELECT ... SAVE创建的文件插入记录的LOAD命令

  • 默认SAVE格式是pickle

  • SAVE命令可以gzip文件

0.5.9

  • 保存到文件时不打印结果到控制台

  • “auto” pagesize以适应终端高度

  • 使用KEYS IN选择特定属性时,只检索那些属性

  • 跨越多页的ORDER BY查询不再卡在第一页

  • 列格式化器更智能地适应列宽度

  • 智能格式化器在切换到扩展模式方面更智能

0.5.8

  • Mac OS X的Tab补全

0.5.7

  • run_dql.py锁定了一个版本

  • 自动检测终端宽度的输出显示

0.5.6

  • 格式选项保存正确

  • WHERE表达式可以比较字段到字段(例如WHERE foo > bar

  • 始终在查询/扫描不投影所有属性的不索引后执行batch_get

0.5.5

  • 一般错误修复

  • 自包含 run_dql.py 脚本

0.5.4

  • 修复 watch 显示问题

  • SELECT 命令可以将结果保存到文件中

0.5.3

  • ALTER 命令可以指定 IF (NOT) EXISTS

  • 新增 watch 命令,用于监控表消耗容量

  • SELECT 可以获取查询索引未投影的属性

  • SELECT 可以按非范围键属性排序

0.5.2

  • EXPLAIN <query> 将打印运行查询时将做出的 DynamoDB 调用

  • ANALYZE <query> 将运行查询并打印消耗容量信息

0.5.1

  • 格式化非项查询返回值(如计数)

  • 禁用在命令行上传递 AWS 凭据

0.5.0

  • 破坏性更改:SELECT、SCAN、UPDATE、DELETE 的新语法

  • 破坏性更改:移除了 COUNT 查询(现在使用 SELECT count(*)

  • 破坏性更改:移除了在查询中嵌入 Python 的功能

  • INSERT 的新替代语法

  • ALTER 可以创建和删除全局索引

  • 查询和更新现在使用最新的 DynamoDB 表达式 API

  • opt 命令下统一 CLI 选项

0.4.1

  • 更新以保持与 botocore 和 dynamo3 新版本兼容

  • 改进 CloudWatch 支持(用于获取消耗的表容量)

0.4.0

  • 破坏性更改:由于缺少 botocore 支持,将停止支持 Python 3.2

  • 功能:支持 JSON 数据类型

0.3.2

  • 错误修复:允许 DUMP SCHEMA 命令的表名中使用“.”

  • 错误修复:向本地连接传递端口参数不会崩溃

  • 错误修复:连接到 DynamoDB local 时提示说“localhost”

0.3.1

  • 错误修复:允许在表名中使用“.”

0.3.0

  • 功能:SELECT 和 COUNT 可以有 FILTER 子句

  • 功能:FILTER 子句可以组合 OR 约束

0.2.1

  • 错误修复:打印“COUNT”查询时崩溃

0.2.0

  • 功能:支持 Python 3

0.1.0

  • 首次公开发布

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。

源分发

dql-0.6.2.tar.gz (53.9 kB 查看哈希值)

上传时间

构建分发

dql-0.6.2-py3-none-any.whl (57.7 kB 查看哈希值)

上传时间 Python 3

支持者