一个 Go 工具包揽一切 SQL 数据库客户端
Go语言精选
共 2828字,需浏览 6分钟
·
2021-08-10 00:31
今天发现了一个超级棒的工具:通用的 SQL 数据库命令行工具。如果你喜欢通过命令行操作数据库,这个工具绝对值的拥有。为什么?
第一、它跨平台,支持 Windows、Mac 和 Linux 等平台,相应可以通过 Scoop、Homebrew 等安装,或者通过预编译好的二进制安装。如果你有 Go 开发环境,可以通过源码安装。因为这个工具是用 Go 语言实现的。
第二、支持众多 SQL 数据库,比如常见的 PostgreSQL, MySQL, Oracle Database, SQLite3, Microsoft SQL Server。源码安装默认支持它们。如果要支持更多,可以通过 build tags 编译。详细的支持列表如下:
Driver | Build Tag | Driver Used |
---|---|---|
Microsoft SQL Server | mssql | github.com/denisenkom/go-mssqldb |
MySQL | mysql | github.com/go-sql-driver/mysql |
Oracle Database | oracle | github.com/sijms/go-ora |
PostgreSQL | postgres | github.com/lib/pq |
SQLite3 | sqlite3 | github.com/mattn/go-sqlite3 |
MySQL | mymysql | github.com/ziutek/mymysql/godrv |
Oracle Database | godror | github.com/godror/godror |
PostgreSQL | pgx | github.com/jackc/pgx/stdlib |
Alibaba MaxCompute | maxcompute | sqlflow.org/gomaxcompute |
Apache Avatica | avatica | github.com/Boostport/avatica |
Apache H2 | h2 | github.com/jmrobles/h2go |
Apache Hive | hive | sqlflow.org/gohive |
Apache Ignite | ignite | github.com/amsokol/ignite-go-client |
Apache Impala | impala | github.com/bippio/go-impala |
AWS Athena | athena | github.com/uber/athenadriver/go |
Azure Cosmos | cosmos | github.com/btnguyen2k/gocosmos |
Cassandra | cassandra | github.com/MichaelS11/go-cql-driver |
ClickHouse | clickhouse | github.com/kshvakov/clickhouse |
Couchbase | couchbase | github.com/couchbase/go_n1ql |
Cznic QL | ql | modernc.org/ql |
Firebird SQL | firebird | github.com/nakagami/firebirdsql |
Genji | genji | github.com/genjidb/genji/sql/driver |
Google BigQuery | bigquery | gorm.io/driver/bigquery/driver |
Google Spanner | spanner | github.com/rakyll/go-sql-driver-spanner |
Microsoft ADODB | adodb | github.com/mattn/go-adodb |
ModernC SQLite | moderncsqlite | modernc.org/sqlite |
ODBC | odbc | github.com/alexbrainman/odbc |
Presto | presto | github.com/prestodb/presto-go-client/presto |
SAP ASE | tds | github.com/thda/tds |
SAP HANA | hdb | github.com/SAP/go-hdb/driver |
Snowflake | snowflake | github.com/snowflakedb/gosnowflake |
Trino | trino | github.com/trinodb/trino-go-client/trino |
Vertica | vertica | github.com/vertica/vertica-sql-go |
VoltDB | voltdb | github.com/VoltDB/voltdb-client-go/voltdbclient |
MOST DRIVERS | most | all drivers excluding ODBC (requires CGO and additional dependencies) |
ALL DRIVERS | all | all drivers |
实话说,真的不要太强大。
而且,虽然支持这么多数据库,但连接和使用却是类似的。
如何连接数据库
usql 命令接上 DSN 就可以连上对应的数据库了。DSN 的语法如下(三种形式):
driver+transport://user:pass@host/dbname?opt1=a&opt2=b
driver:/path/to/file
/path/to/file
比如连接到 MySQL 数据库的例子:
$ usql my://user:pass@host/dbname
$ usql mysql://user:pass@host:port/dbname
$ usql my://
$ usql /var/run/mysqld/mysqld.sock
链接到 SQLite3:
$ usql dbname.sqlite3
此外,还支持直接使用 usql 进入交互界面,然后通过 \c + dsn 的方式连接。这样可以随时切换数据库。
此外,该工具还支持语法高亮,执行外部 shell 命令等。这么好的工具,赶紧试试吧!
对了,项目地址:https://github.com/xo/usql,Star 数 6.1k+。
文末「阅读原文」可直达项目首页。
推荐阅读
评论
SQL AdminJava数据库客户端
SQLAdmin是一个Java客户端,应用程序通过JDBC连接并发送查询不同的数据库。其主要思想是建立一个多平台和多数据库瘦客户端。
SQL AdminJava数据库客户端
0
RazorSQL数据库客户端工具
RazorSQL是一个非开源的功能非常强大数据库查询工具、SQL的编辑、数据库管理工具。支持通过JDBC和ODBC连接超过29种的数据库。
RazorSQL数据库客户端工具
0
DataPieDesktop数据库客户端工具
DataPie是一个通用的数据库导入,导出,数据查询,存储过程调用的客户端工具,基于.NET6Winform,支持SQLServer,SQLITE,MYSQL,POSTGRESQL数据库。支持EXCE
DataPieDesktop数据库客户端工具
0
ViennaSQL数据库客户端工具
ViennaSQL是一个用JAVA写成的图形用户界面的数据库客户端工具,通过JDBC来访问和管理SQL数据库,只要有JDBC驱动的数据库都可用ViennaSQL来管理,只要能运行JAVA的地方它就能运
ViennaSQL数据库客户端工具
0