Pip installable database schema that attempts to mimic the Fandango database
Reason this release was yanked:
Application relies on config file for its main function which should be part of the package.
Project description
SQL-BUDDY
Sql-buddy is a study aid for SQL fundamentals that you can run on the terminal. You can think of it as the command-line version of index cards you would normally use for studying a subject.
Installation
You can install sql-buddy with pip: PYPI
pip install sql-buddy
sql-buddy is supported by Python 3.7 and above.
How to use
sql-buddy is a command line application. There are two components:
- The first component emulates a simple collection of object that represent SQL concepts like GROUP BY:
$ python -m sql_buddy
Welcome to sql-buddy. Populating In-memory Database...
Press Esc + ENTER to enter sql_buddy commands. Press CTRL-D to quit
Type 'commands' and press Esc + ENTER to get a list of sql_buddy commands
As the instructions state you can type 'commands' and hit Esc + ENTER (RETURN):
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
group_by:
Divide the rows returned from the select statement into groups. For each group, you can apply an aggregate function like sum(), min(), max(), avg().
group_by_with_having:
We use having in place of the where clause because aggregations like sum() do not work with the where clause.
To search the definition, syntax, usage, and related concepts of a specific SQL concept:
> search=>group_by
group_by:
Divide the rows returned from the select statement into groups. For each group, you can apply an aggregate function like sum(), min(), max(), avg().
syntax: select col_1, col_2 from table_name group by col_1, col2
usage: select staff_id, count(staff_id) from payment group by staff_id
related concepts: ['group_by_with_having', 'where', 'having', 'order by', 'aggregation', 'sum', 'min', 'max', 'avg']
The syntax for any individual SQL concept is:
> search=>{concept_name}
Like Python variables concept names cannot have spaces and must be lowercase.
- The second component is an SQL REPL straight from the
prompt-toolkit
documentation example tutorial:
Run sql_buddy like before but with the -o flag:
$ python -m sql_buddy -o
And simply type SQLite queries:
select last_name, first_name, execution_date from deathrow limit 3;
('Brooks, Jr.', 'Charlie', '1982-12-07')
('Autry', 'James', '1984-03-14')
("O'Bryan", 'Ronald', '1984-03-31')
Sql-buddy comes with a csv data called tx_deathrow_full.csv that contains information about Texas deathrow inmates: selectstarsql.com.
The ideal setting for sql-buddy
is two have two terminals open at the same time. One to utilize the first component to look up SQL concepts, and the other to run queries against an actual SQLite database table.
All data makes use of in-memory-only databases created through sqlite3
and sqlalchemy
methods.
For help:
$ python -m sql_buddy -h
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.