
Usql: v0.7.0 released - kenshaw
https://github.com/xo/usql/releases/tag/v0.7.0
======
kenshaw
Just released the latest version of usql, which fixes issues with syntax
highlighting, adds initial support for Cassandra databases via CQL, among
other changes.

If you've not seen usql before, it's a universal command-line client for SQL
databases (and now also Cassandra), modeled on psql. usql makes it easy to
work from the command-line, in a simple and consistent way across any database
and on any platform (Windows, macOS, Linux). usql is written in Go, and
provides things like syntax highlighting and compatibility with databases
other than PostgreSQL (see below for the list of the supported databases).

Progress is moving at a decent clip towards a v1.0, which I expect to include
100% native Go support for Oracle databases, tab-completion, full
compatibility with psql's \pset (and other output formatting) commands.

usql supports the following databases:

    
    
        Microsoft SQL Server
        MySQL
        PostgreSQL
        SQLite3
        Oracle
        Apache Avatica
        Cassandra
        ClickHouse
        Couchbase
        Cznic QL
        Firebird SQL
        Microsoft ADODB (Windows only)
        ODBC
        Presto
        SAP HANA
        VoltDB
    

Hope others in the community can make use of usql. Glad to answer any
questions if anyone has any.

~~~
userbinator
ODBC isn't a "database" per se, but a standard interface that can access any
database with an ODBC driver.

...and although I'm not familiar with all of the others in that list, the ones
that I do recognise have ODBC drivers.

~~~
kenshaw
Yes and no. ODBC on Windows may (or may not) be provided by the Microsoft JET
driver, which can be considered a database unto itself. Specifically, there is
a separate ODBC driver for Go that usql supports, which is what this is
reflective of. I actually edited the above after posting to remove a double
entry for PostgreSQL and MySQL, as there are two different Go drivers for each
of those databases (4 in total) that are well supported by the community.

------
wenc
How would this compare to DBCLI?

[http://www.dbcli.com/](http://www.dbcli.com/)

pgcli

[https://www.pgcli.com/](https://www.pgcli.com/)

mycli

[https://www.mycli.net/](https://www.mycli.net/)

~~~
amjith
I'm the creator of dbcli. I can give you my perspective.

usql is a great tool if you're familiar with Postgres' psql client and wish
you could use it for other databases like MySQL, Cassandra etc.

dbcli tools are designed to preserve the usage semantics of the existing tools
but improve on them by providing auto-completion. For instance you can use
`\d` in pgcli and `SHOW TABLES` in mycli. This was a conscious decision to
make pgcli and mycli drop in replacements for of MySQL and psql. I was also
working under the assumption that people rarely use multiple databases, you're
either a postgres shop or a MySQL shop. If you have a mix of both, there is a
good chance that not a single person is interacting with both of them on a
daily basis. You have different teams using different databases. But my
reasoning there could be flawed.

There is nothing stopping someone from adding an adapter to the usql tool to
make it behave like MySQL (because they like the mysql client better) based on
a command line argument, for instance.

~~~
justinclift
As a data point, it seems to be reasonably common for people to use both
SQLite + <some other database> (eg PG).

Probably because they have different use cases that don't overlap too much. eg
SQLite is great for single file info storage and passing around. The others -
being competing multi user servers - don't do that. :)

~~~
laumars
Up until very recently I used to regularly hop between sqlite3, Informix
(don't hear much about that these days), MySQL (or compatible) and some
key/value stores like Redis and memcache. Occasionally used to dip into MSSQL
too but that wasn't often.

------
marzell
usql != U-SQL. One is a database client, the other a database language. This
could become confusing.

~~~
go_prodev
Usql != Transoft U/SQL either

------
simplecomplex
SQL is an initialism. Please capitalize it, as it should be. It stands for
Standard Query Language.

~~~
beart
A very large portion of developers I speak to pronounce it as 'seekwol'. Some
of them also prefer tabs.

~~~
simplecomplex
Acronyms should also be capitalized.

~~~
igitur
You mean like laser, radar and scuba?

