使用Python构建命令行的SQL学习辅助工具

sql-budd的Python项目详细描述


SQL巴迪

SQLBuddy是Sql基础知识的学习辅助工具,可以在终端上运行。你可以把它看作是你通常用来研究一个主题的索引卡的命令行版本。在

安装

您可以使用pip安装sql buddy:

pip install sql-buddy

python3.7及更高版本支持sqlbuddy。在

如何使用

sqlbuddy是一个命令行应用程序。有两个部分:

  1. 第一个组件模拟一个简单的对象集合,这些对象表示SQL概念,如groupby:

$ python -m sql_buddy

欢迎使用sql buddy。正在填充内存数据库。。。在

按Esc+ENTER键输入sql“buddy”命令。 按CTRL-D退出

键入'commands'并按Esc+ENTER以获取sqlbuddy命令的列表

按照说明,您可以键入“commands”并按Esc+ENTER(返回):

commands * list all: lists all the SQL concepts and queries * list some: list the first 10 concepts in the SQL concepts database * search=>{concept_name} gives you the definition, syntax, and usage of a specific SQL concept like group_by * i.e. search=>group_by * i.e. search=>order_by * i.e. search=>where * all SQL concept names must be in lowercase and have underscores in place of spaces

> list all

分组依据:

将从select语句返回的行分成组。对于每个小组,你 可以应用sum()、min()、max()、avg()等聚合函数。在

分组有:

我们使用having代替where子句,因为sum()这样的聚合不起作用 使用where子句。在

要搜索特定SQL概念的定义、语法、用法和相关概念,请执行以下操作:

> search=>group_by

分组依据:

将从select语句返回的行分成组。对于每个小组,你 可以应用sum()、min()、max()、avg()等聚合函数。在

语法: 从“表名”“按列1,列2分组”中选择“列1,列2”

用法: 按员工编号从付款组中选择员工编号,计数(员工编号)

相关概念: ['group_by_with_having'、'where'、'having'、'order by'、'aggregation'、'min'、'max'、'avg']

任何单个SQL概念的语法都是:

> search=>{concept_name}

像Python变量一样,概念名不能有空格,而且必须是小写的。在

  1. 第二个组件是来自prompt-toolkit文档示例教程的SQL REPL:

prompt-toolkit

像以前一样运行sql_buddy,但要使用-o标志:

$ python -m sql_buddy -o

只需键入SQLite查询:

^{pr2}$

sqlbuddy附带了一个名为tx_deashrow的csv数据_完整.csv其中包含关于德州死囚的信息:selectstarsql.com。在

sql-buddy的理想设置是两个同时打开两个端子。一个是利用第一个组件来查找SQL概念,另一个是针对实际的SQLite数据库表运行查询。在

所有数据都使用通过sqlite3sqlalchemy方法创建的只在内存中的数据库。在

寻求帮助:

$ python -m sql_buddy -h

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java接口中的每个方法都是抽象的,但在抽象类中,我们也只能使用抽象方法   初始化Java中声明的、未初始化的变量会发生什么情况?   java BouncyCastle openPGP将字节[]数组加密为csv文件   在Java中将类A(和所有子类)映射到类B的实例的字典   RSA公钥编码,在Java和Android中,代码相同,结果不同   java在安卓中实现数字检测语音识别   java取消选择复选框   java如何在其他配置中重用Maven配置XML片段   java有没有一种有效的方法来检查HashMap是否包含映射到相同值的键?   spring处理程序调度失败;嵌套的例外是java。lang.NoClassDefFoundError:org/apache/http/client/HttpClient   带有ehcache的java多层缓存   java如何访问chromium(或任何其他浏览器)cookie   java通过将两个集合与spring data mongodb data中的条件合并来获取计数   安卓中R.java的语法错误