sql++ is an easily configurable, feature-rich, portable command-line SQL tool. It can be used with many different databases and in place of other commandline tools such as MySQL's mysql-client, Microsoft SQL, PostgreSQL's psql, and Oracle's sqlplus.
sql++ project has features such as multiple connections, multi-database interfacing, subselects for all databases, regardless of whether the database has native subselects or not, and much more.
· Term::ReadLine::Gnu on *NIX, Term::ReadLine::Perl on Win32 (this will be installed as 'Term::ReadLine')
To install sql++, run:
This will check for the required modules. It will then tell you what available database drivers you have.
If you are missing any of the required modules, it will attempt to install them for you if you allow it. If you wish to install the modules yourself or install.pl has problems installing them and requires manual installation, get them from CPAN (http://search.cpan.org) and install them. You can return to the installation later.
If you wish to use sql++ with other databases that install.pl did not say you had a driver for, continue with the installation and you can choose to install any from a larger list it will give you.
If the database you want to use is not in the list at all, check http://search.cpan.org for the database name. If you come up with a DBD::database_name module, download it and follow the instructions to install it.
Here are some examples of the different features of sql++.
# quickly doing a select on many different values for a WHERE clause
IMPORT - '' SELECT domain, nameserver FROM domains_table WHERE domain = ?;
# copying a table into another table using sql++'s subselect
INSERT INTO table1 VALUES(subsel(SELECT * FROM table2));
# copying a table into another table in a completely different
# database, as well as type of database using sql++'s subselect
# plus multiple connections
connect -t oracle -u user -X pass oradb
> Created connection handle '1' to oradb
connect -t mysql -u user -X pass mydb
> Created connection handle '2' to mydb
conn 2 INSERT INTO my_tbl VALUES(subsel(conn 1 SELECT * FROM ora_tbl));
# taking a long row, making a simple modification, and inserting it quickly
# using the overwrite export function, edit function, and import function
oexport x , SELECT * FROM user WHERE user='root';
> your editor opens and you make a quick change to
> the comma seperated data and then save and exit
import x , INSERT INTO user VALUES(??);
Read the README or run `morehelp` while in sql++ for more examples.
What's New in This Release:
· This release adds MySQL's --safe-updates flag, introduces Microsoft SQL support, and has various bugfixes.