Running a Sqlite3 Script from Command Line Running a Sqlite3 Script from Command Line bash bash

Running a Sqlite3 Script from Command Line


The parameter you give to the sqlite3 program is the database file name.

To execute commands from a file, you must redirect the input to that file:

$ sqlite3 mydatabase.db < SQLTableTransfer

or tell it to read from that file:

$ sqlite3 mydatabase.db ".read SQLTableTransfer"


You can get a list of the spatial tables as follows:

echo "SELECT f_table_name FROM geometry_columns;" | spatialite -noheader -silent your_db.sqlite


For the lazy who want to just dump this into their .bashrc:

### Execute an sqlite3 file on a given dbsql3-exec () {  # TODO: write a  --help flag that doubles as error handling  # TODO: Ensure that $1 is a db; Else display --help  # TODO: Ensure that $2 is a .sql file; Else display --help  # TODO: Probably store a backup (or at least a flag)...  sqlite3 $1 ".read $2"  true}