SQL interface to MDB Tools


mdb-sql [-HFp] [-d delimiter] [-i file] [-o file] [database]


mdb-sql is a utility program distributed with MDB Tools. mdb-sql allows querying of an MDB database using a limited SQL subset language.


-H Suppress header row. -F Suppress footer row. -p Turn off pretty printing. By default results are printed in an ascii table format which looks nice but is not conducive to ma‐ nipulating the output with unix tools. This option prints output plainly in a tab separated format. -d Specify an alternative column delimiter. If no delimiter is specified, columns will be delimited by a tab character if pretty printing (-p) is turned off. If pretty printing is en‐ abled this option is meaningless. -i Specify an input file. This option allows an input file contain‐ ing the SQL to be passed to mdb-sql. See Notes. -o Specify an output file. This option allows the name of an output file to be used instead of stdout.


mdb-sql in interactive mode takes some special commands. connect to If no database was specified on the command line this command is necessary before any querys are issued. It also allows the switching of databases once in the tool. disconnect Will disconnect from the current database. go Each batch is sent to the parser using the 'go' command. reset A batch can be cleared using the 'reset' command. list tables The list tables command will display a list of available tables in this database, similar to the mdb-tables utility on the com‐ mand line. describe table

Will display the column information for the specified table. quit Will exit the tool.


The currently implemented SQL subset is quite small, supporting only single table queries, no aggregates, and limited support for WHERE clauses. Here is a brief synopsis of the supported language. select: SELECT [* | ] FROM

WHERE column list: [, ] where clause: [AND ] operator: =, =>, =<, <>, like, <, > literal: integers, floating point numbers, or string literal in single quotes


When passing a file (-i) or piping output to mdb-sql the final 'go' is optional. This allow constructs like echo "Select * from Table1" | mdb-sql mydb.mdb to work correctly. The -i command can be passed the string 'stdin' to test entering text as if using a pipe.


MDB_JET3_CHARSET Defines the charset of the input JET3 (access 97) file. Default is CP1252. See iconv(1). MDBICONV Defines the output charset. Default is UTF-8. mdbtools must have been compiled with iconv. MDBOPTS semi-column separated list of options: • use_index • no_memo • debug_like • debug_write • debug_usage • debug_ole • debug_row • debug_props • debug_all is a shortcut for all debug_* options


mdb-sql first appeared in MDB Tools 0.3.


The mdb-sql utility was written by Brian Bruns.


The supported SQL syntax is a very limited subset and deficient in sev‐ eral ways.


gmdb2(1) mdb-export(1) mdb-hexdump(1) mdb-prop(1) mdb-ver(1) mdb-ar‐ ray(1) mdb-header(1) mdb-parsecsv(1) mdb-schema(1) mdb-tables(1) isql(1)

Copied to clipboard
Access all the data from your phone. Works 100% offline and has no third party analytics.
Apple App Store Google Play Store
Simon Schubert -
My other projects: