## Commands

The console tool allows the user to enter SQL commands (which can span several lines and must be terminated with a semi colon). The commands are executed synchronously and the results displayed right after execution, for example:

    cnc1> select *
        > from customers order by name;
    id | name            | last_update           | default_served_by | country | city
    ---+-----------------+-----------------------+-------------------+---------+-----
     2 | Ed Lamton       | 2008-08-12 00:00:00+0 |                 4 | SP      | MDR
     9 | Greg Popoff     | 2007-12-25 00:00:00+0 |                 2 | SP      | MDR
     3 | Lew Bonito      | 2008-08-13 00:00:00+0 |                 1 | FR      | TLS
     4 | Mark Lawrencep  | 2007-12-25 00:00:00+0 |                   | SP      | MDR
    10 | Vladimir Zirkov | 2001-01-31 00:00:00+0 |                 4 |         |
    (5 rows)
    cnc1>

The SQL dialect to be used must be understood by the database to which the connection is opened, so it is possible to use database's specific commands, for example with a PostgreSQL database:

    cnc2> show search_path;
    search_path
    --------------
    "$user",public
    (1 row)
    cnc2>

There are also some internal commands which all start either with a dot or backslash and perform some actions such as changing the default output mode (to HTML for example) or getting meta information about the database structure. For example, use the .? to display a help message about all internal commands (with truncated output here):

    gda> .?
    Formatting
      \H [HTML|XML|CSV|DEFAULT]
                         Set output format

    General
      \?                 List all available commands
      \bind CNC_NAME CNC_NAME1 CNC_NAME2 [CNC_NAME ...]
                         Bind several connections together into the CNC_NAME virtual connection