SQLPython is a command-line interface to relational databases. It was created as an alternative to Oracle’s SQL\*Plus, and can likewise be used instead of postgres’ psql or mysql’s mysql text clients. For the most part, it can be used as any other text-based SQL interface would; this document focuses on the extra capabilities.
sqlpython is free and open-source software. Its use is governed by the MIT License.
SQLPython was created by Luca Canali at CERN. Most recent development has been done by Catherine Devlin. A group of additional sqlpython contributors has formed at Google Groups.
If python-setuptools is present on your machine, you can easily install the latest release of sqlpython by issuing from a command prompt:
easy_install sqlpython
The development trunk (very unstable) is at assembla; you can install the trunk on your machine with:
hg clone http://hg.assembla.com/python-cmd2 cmd2
cd cmd2
python setup.py develop
cd ..
hg clone http://hg.assembla.com/sqlpython sqlpython
cd sqlpython
python setup.py develop
Using hg pull, hg update subsequently will update from the current trunk.
You may also install from the trunk with easy_install:
easy_install
sqlpython [username[/password][@SID]] [“SQL command 1”, “@script.sql”, “SQL command 2...”]
or
sqlpython [–postgres|mysql] database-name username
Database connections can also be specified with URL syntax or with Oracle Easy Connect:
oracle://username:password@SID
oracle://username:password@hostname:port/dbname
oracle://username:password@hostname:port/dbname
SID represents an entry from the tnsnames.ora file.
Once connected, most familiar SQL*Plus commands can be used. Type help for additional information.
Please report bugs at http://www.assembla.com/spaces/sqlpython/tickets or to catherine.devlin@gmail.com.
SQLPython is based on the Python standard library’s cmd module, and on an extension to it called cmd2. SQLPython also draws considerable inspiration from two Perl-based open-source SQL clients, Senora and YASQL.
Version 1.7.2 of sqlpython works against PostgreSQL and MySQL, though the testing against those databases has been very slight thus far. Help in testing and improving sqlpython’s functions against those databases is welcome. Support for Microsoft SQL Server and sqlite will be available as soon as those databases are added to the Gerald project, and volunteers for Gerald will benefit sqlpython as well.