51

实用工具推荐 — SQL 数据库的通用命令行界面 usql

 5 years ago
source link: https://www.oschina.net/p/usql?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

usql 是 SQL 数据库的通用命令行界面。支持主流的数据库软件,如 PostgreSQL, MySQL, Oracle Database, SQLite3, Microsoft SQL Server 以及许多其他的数据库(包括 NoSQL 和非关系型数据库)。

usql 的灵感来自 PostgreSQL 的 psql,通过命令行提供了一种简单的方式来操作 SQL 和 NoSQL 数据库。usql 支持大多数 psql 的核心特性,如变量、反引号(backticks)和命令,并具有 psql 不支持的其他功能,如语法高亮、基于上下文的自动补全和多数据库支持等。

使用

安装完成后,usql 可以像以下方式这样使用:

# connect to a postgres database
$ usql postgres://booktest@localhost/booktest

# connect to an oracle database
$ usql oracle://user:pass@host/oracle.sid

# connect to a postgres database and run script.sql
$ usql pg://localhost/ -f script.sql

命令行选项

$ usql --help
usql, the universal command-line interface for SQL databases.

usql 0.7.0
Usage: usql [--command COMMAND] [--file FILE] [--output OUTPUT] [--username USERNAME] [--password] [--no-password] [--no-rc] [--single-transaction] [--set SET] DSN

Positional arguments:
  DSN                    database url

Options:
  --command COMMAND, -c COMMAND
                         run only single command (SQL or internal) and exit
  --file FILE, -f FILE   execute commands from file and exit
  --output OUTPUT, -o OUTPUT
                         output file
  --username USERNAME, -U USERNAME
                         database user name [default: ken]
  --password, -W         force password prompt (should happen automatically)
  --no-password, -w      never prompt for password
  --no-rc, -X            do not read start up file
  --single-transaction, -1
                         execute as a single transaction (if non-interactive)
  --set SET, -v SET      set variable NAME=VALUE
  --help, -h             display this help and exit
  --version              display version and exit

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK