Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#####################################
# SQLITE3 INPUT COMMANDS CHEATSHEET #
#####################################
######### dot commands ############
# dump all of the database
sqlite3 file1.db .dump
# see tables
sqlite3 file1.db .table
######### sql commands ############
# run one command (to select all from a table called $table1)
# Note needed to escape the $ if you do " ' ' "
sqlite3 file1.db "select * from '\$table1';"
# No need to escape the $ if you do ' " " ' (because bash doesnt expand $ within '')
sqlite3 file1.db 'select * from "$table1";'
# regular tables name
sqlite3 file1.db 'select * from table2;'
sqlite3 file1.db "select * from table2;"
# You can essentially stack these sql commands:
sqlite3 file1.db "select * from table2; select * from table3;"
sqlite3 file1.db "select * from '\$table1'; select * from table3;"
######### echo ############
# you can also echo in commands - echo dot commands
echo ".dump" | sqlite3 file1.db
echo ".table" | sqlite3 file1.db
# echo sql commands
echo "select * from '\$table1';" | sqlite3 file1.db
echo 'select * from "$table1";' | sqlite3 file1.db
echo 'select * from table2;' | sqlite3 file1.db
echo "select * from table2;" | sqlite3 file1.db
######### echo -e ############
# What about sqlite . commands with sql commands - then you need to echo them in with -e. dot commands need to be on a new line, so we need to emulate a new line with echo -e (using \n in the string). -e with echo allows echo to take in special characters such as \n for newline (or \t for tab, but we dont use the tab)
# Lets say you want to do the following 2 commands:
# .header on (which shows column names)
# select * from table2 (which shows the output of tables2)
# Since dot command need to end with a newline, our echo needs to be able to do that. Thats why we use a "echo -e" which we can specify special commands thru.
# rule1: after every dot command put a \n
# rule2: if not the first command, then put \n before every dot command
# rule3: dont forget to end sql commands with ;
# tip: just run the echo by itself to make sure each dot command is on its own line.
# syntax is:
echo -e "<.dotcommand>\n<sqlcommand1>;<sqlcommand2>;\n<.dotcommand>\n<sqlcommand3>;" | sqlite3 file.db
# simple example:
echo -e ".header on\nselect * from table2;" | sqlite3 file1.db
# if we were to just run the echo command, you would see this (which helps understand it):
echo -e ".header on\nselect * from table2;"
# OUTPUT:
# .header on
# select * from table2;
# more chained complex command:
echo -e ".header on\nselect * from table2;select * from '\$table1';\n.header off\nselect * from '\$table4';" | sqlite3 file1.db
# running the echo by itself:
echo -e ".header on\nselect * from table2;select * from '\$table1';\n.header off\nselect * from '\$table4';"
# OUTPUT:
# .header on
# select * from table2;select * from '$table1';
# .header off
# select * from '$table4';
##################################### # SQLITE3 INPUT COMMANDS CHEATSHEET # ##################################### ######### dot commands ############ # dump all of the database sqlite3 file1.db .dump # see tables sqlite3 file1.db .table ######### sql commands ############ # run one command (to select all from a table called $table1) # Note needed to escape the $ if you do " ' ' " sqlite3 file1.db "select * from '\$table1';" # No need to escape the $ if you do ' " " ' (because bash doesnt expand $ within '') sqlite3 file1.db 'select * from "$table1";' # regular tables name sqlite3 file1.db 'select * from table2;' sqlite3 file1.db "select * from table2;" # You can essentially stack these sql commands: sqlite3 file1.db "select * from table2; select * from table3;" sqlite3 file1.db "select * from '\$table1'; select * from table3;" ######### echo ############ # you can also echo in commands - echo dot commands echo ".dump" | sqlite3 file1.db echo ".table" | sqlite3 file1.db # echo sql commands echo "select * from '\$table1';" | sqlite3 file1.db echo 'select * from "$table1";' | sqlite3 file1.db echo 'select * from table2;' | sqlite3 file1.db echo "select * from table2;" | sqlite3 file1.db ######### echo -e ############ # What about sqlite . commands with sql commands - then you need to echo them in with -e. dot commands need to be on a new line, so we need to emulate a new line with echo -e (using \n in the string). -e with echo allows echo to take in special characters such as \n for newline (or \t for tab, but we dont use the tab) # Lets say you want to do the following 2 commands: # .header on (which shows column names) # select * from table2 (which shows the output of tables2) # Since dot command need to end with a newline, our echo needs to be able to do that. Thats why we use a "echo -e" which we can specify special commands thru. # rule1: after every dot command put a \n # rule2: if not the first command, then put \n before every dot command # rule3: dont forget to end sql commands with ; # tip: just run the echo by itself to make sure each dot command is on its own line. # syntax is: echo -e "<.dotcommand>\n<sqlcommand1>;<sqlcommand2>;\n<.dotcommand>\n<sqlcommand3>;" | sqlite3 file.db # simple example: echo -e ".header on\nselect * from table2;" | sqlite3 file1.db # if we were to just run the echo command, you would see this (which helps understand it): echo -e ".header on\nselect * from table2;" # OUTPUT: # .header on # select * from table2; # more chained complex command: echo -e ".header on\nselect * from table2;select * from '\$table1';\n.header off\nselect * from '\$table4';" | sqlite3 file1.db # running the echo by itself: echo -e ".header on\nselect * from table2;select * from '\$table1';\n.header off\nselect * from '\$table4';" # OUTPUT: # .header on # select * from table2;select * from '$table1'; # .header off # select * from '$table4';
#####################################
# SQLITE3 INPUT COMMANDS CHEATSHEET #
#####################################

######### dot commands ############

# dump all of the database
sqlite3 file1.db .dump

# see tables
sqlite3 file1.db .table

######### sql commands ############

# run one command (to select all from a table called $table1)
# Note needed to escape the $ if you do " ' ' "
sqlite3 file1.db "select * from '\$table1';"
# No need to escape the $ if you do ' " " ' (because bash doesnt expand $ within '')
sqlite3 file1.db 'select * from "$table1";'

# regular tables name
sqlite3 file1.db 'select * from table2;'
sqlite3 file1.db "select * from table2;"

# You can essentially stack these sql commands:
sqlite3 file1.db "select * from table2; select * from table3;"
sqlite3 file1.db "select * from '\$table1'; select * from table3;"

######### echo ############

# you can also echo in commands - echo dot commands
echo ".dump" | sqlite3 file1.db 
echo ".table" | sqlite3 file1.db 

# echo sql commands
echo "select * from '\$table1';" | sqlite3 file1.db 
echo 'select * from "$table1";' | sqlite3 file1.db 
echo 'select * from table2;' | sqlite3 file1.db 
echo "select * from table2;" | sqlite3 file1.db 

######### echo -e ############

# What about sqlite . commands with sql commands - then you need to echo them in with -e. dot commands need to be on a new line, so we need to emulate a new line with echo -e (using \n in the string). -e with echo allows echo to take in special characters such as \n for newline (or \t for tab, but we dont use the tab)

# Lets say you want to do the following 2 commands:
# .header on (which shows column names)
# select * from table2 (which shows the output of tables2)
# Since dot command need to end with a newline, our echo needs to be able to do that. Thats why we use a "echo -e" which we can specify special commands thru.

# rule1: after every dot command put a \n
# rule2: if not the first command, then put \n before every dot command
# rule3: dont forget to end sql commands with ;

# tip: just run the echo by itself to make sure each dot command is on its own line.

# syntax is:
echo -e "<.dotcommand>\n<sqlcommand1>;<sqlcommand2>;\n<.dotcommand>\n<sqlcommand3>;" | sqlite3 file.db

# simple example:
echo -e ".header on\nselect * from table2;" | sqlite3 file1.db 

# if we were to just run the echo command, you would see this (which helps understand it):
echo -e ".header on\nselect * from table2;"
# OUTPUT:
# .header on
# select * from table2;

# more chained complex command:
echo -e ".header on\nselect * from table2;select * from '\$table1';\n.header off\nselect * from '\$table4';" | sqlite3 file1.db

# running the echo by itself:
echo -e ".header on\nselect * from table2;select * from '\$table1';\n.header off\nselect * from '\$table4';"
# OUTPUT:
# .header on
# select * from table2;select * from '$table1';
# .header off
# select * from '$table4';
 



 

Leave a Reply

Your email address will not be published. Required fields are marked *