logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

mdb-sql - SQL interface to MDB Tools

Authors

       The mdb-sql utility was written by Brian Bruns.

Bugs

       The supported SQL syntax is a very limited subset and deficient in several ways.

MDBTools 1.0.1                                   05 January 2025                                      mdb-sql(1)

Commands

mdb-sql in interactive mode takes some special commands.

       connecttodatabase
              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.

       listtables
              The list tables command will display a list of available tables in this database, similar  to  the
              mdb-tables utility on the command line.

       describetable<table>
              Will display the column information for the specified table.

       quit   Will exit the tool.

Description

mdb-sql is a utility program distributed with MDB Tools.

       mdb-sql allows querying of an MDB database using a limited SQL subset language.

Environment

LC_COLLATE
              Defines the locale for string-comparison operations. See locale(1).

       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
              Colon-separated list of options:

              •  debug_like

              •  debug_write

              •  debug_usage

              •  debug_ole

              •  debug_row

              •  debug_props

              •  debug_all is a shortcut for all debug_* options

              •  no_memo (deprecated; has no effect)

              •  use_index (experimental; requires libmswstr)

History

mdb-sql first appeared in MDB Tools 0.3.

Name

mdb-sql - SQL interface to MDB Tools

Notes

       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.

       The 'like' operator performs a case-sensitive pattern match, with ANSI-style wildcards. An underscore  in
       the pattern will match any single character, and a percent sign will match any run of characters.

       The 'ilike' operator is similar, but performs a case-insensitive pattern match.

Options

-H,--no-header
              Suppress header row.

       -F,--no-footer
              Suppress footer row.

       -p,--no-pretty-print
              Turn off pretty printing. By default results are printed in an ascii table format which looks nice
              but is not conducive to manipulating the output with unix tools. This option prints output plainly
              in a tab separated format.

       -d,--delimiterchar
              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  enabled  this
              option is meaningless.

       -i,--inputfile
              Specify  an  input  file. This option allows an input file containing the SQL to be passed to mdb-sql.  See Notes.

       -o,--outputfile
              Specify an output file. This option allows the name of an  output  file  to  be  used  instead  of
              stdout.

       --version
              Print the mdbtools version and exit.

See Also

mdb-array(1)  mdb-count(1)  mdb-export(1)  mdb-header(1)  mdb-hexdump(1)  mdb-import(1)  mdb-json(1) mdb-parsecsv(1) mdb-prop(1) mdb-queries(1) mdb-schema(1) mdb-tables(1) mdb-ver(1) isql(1)

Sql Language

       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 <top clause> [* | <column list>] FROM <table> WHERE <where clause> <limit clause>

       topclause:
              TOP <integer> [ PERCENT ]

       columnlist:
              <column> [, <column list>]

       where clause: <column> <operator> <literal> [AND <where clause>]

       limit clause: LIMIT <integer>

       operator:
              =, =>, =<, <>, like, ilike, <, >

       literal:
              integers, floating point numbers, or string literal in single quotes

Synopsis

mdb-sql [-HFp] [-dchar] [-ifile] [-ofile] [database]
       mdb-sql-h|--helpmdb-sql--version

See Also