A cross-platform, cross-database SQL command line tool
Some features at a glance
- Connection parameters for individual databases are kept in a configuration file in your home directory.
- Databases can be assigned multiple logical names.
- sqlcmd has command history management, with GNU Readline support. History files are saved per database.
- sqlcmd supports SQL, but also supports database metadata (getting a list of tables, querying the table’s columns and their data types, listing the indexes and foreign keys for a table, etc.).
- sqlcmd supports Unix shell-style variables.
- sqlcmd command has a .set command that displays and controls sqlcmd settings.
- sqlcmd provides a standard interface that works the same no matter what database you’re using.
- sqlcmd uses the enhanced database drivers in the Grizzled API’s db module. (Those drivers are, in turn, built on top of standard Python DB API drivers like psycopg2 and MySQLdb.)
- sqlcmd is written entirely in Python, which makes it very portable (though the database drivers are often written in C and may not be available on all platforms).
In short, sqlcmd is a SQL command tool that attempts to provide the same interface for all supported databases and across all platforms.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.