SQLLine

通过 JDBC 向关系型数据库发出 SQL 的 Shell。「Shell for issuing SQL to relational databases via JDBC」

Github星跟蹤圖

Build Status

Command-line shell for issuing SQL to relational databases via JDBC.

History

A fork of Marc Prud'hommeaux's
sqlline project, also
incorporating changes made by the
LucidDB project,
now modernized, mavenized and forkable in github.
See also release history.

License and distribution

SQLLine is distributed under the
3-clause BSD License,
meaning that you are free to redistribute, modify, or sell it with
almost no restrictions.

It is distributed via the
Maven Central Repository.

Demos

demos

Quick start

If you have Coursier installed, you
can quickly connect to a demo Hypersonic database with:

$ coursier launch sqlline:sqlline:1.12.0 org.hsqldb:hsqldb:2.5.0 net.hydromatic:foodmart-data-hsqldb:0.4 -M sqlline.SqlLine -- -u jdbc:hsqldb:res:foodmart -n FOODMART -p FOODMART -d org.hsqldb.jdbcDriver
0: jdbc:hsqldb:res:foodmart> select avg("shelf_height" * "shelf_width" * "shelf_depth") as "avg_volume" from "product";
+-------------------------+, avg_volume, +-------------------------+, 2147.3845245442353, +-------------------------+
1 row selected (0.01 seconds)
0: jdbc:hsqldb:res:foodmart> !quit

Getting started

Copy the sqlline script (or sqlline.bat for Windows),
sqlline-VERSION-jar-with-dependencies.jar and a JDBC driver jar into
the same directory. (Or just put sqlline on your PATH.)

$ sqlline -d com.mysql.jdbc.Driver
sqlline> !connect jdbc:mysql://localhost:3306/scott user password
sqlline> !tables
+------------+--------------+-------------+---------------+----------+, TABLE_CAT, TABLE_SCHEM, TABLE_NAME, TABLE_TYPE, REMARKS, +------------+--------------+-------------+---------------+----------+, null, SCOTT, BONUS, TABLE, null, null, SCOTT, DEPT, TABLE, null, null, SCOTT, EMP, TABLE, null, null, SCOTT, SALGRADE, TABLE, null, null, metadata, COLUMNS, SYSTEM_TABLE, null, null, metadata, TABLES, SYSTEM_TABLE, null, +------------+--------------+-------------+---------------+----------+
sqlline> SELECT 1 + 2 AS c;
+---+, C, +---+, 3, +---+
sqlline> !quit

To get help:

$ sqlline --help

If you prefer, you can invoke Java directly, without using the
sqlline script:

$ java -jar sqlline-VERSION-jar-with-dependencies.jar --help

Connecting using URLs

A URL (or connect string) is a string that specifies the location of your
database, and perhaps credentials and other parameters specific to your
database's JDBC driver. It always starts with 'jdbc:', usually followed by
the machine name of the database and additional parameters.

For example, the following
bash command connects to
Apache Drill, assuming that Drill is installed in
/opt/apache-drill-1.15.0:

$ /opt/apache-drill-1.15.0/bin/sqlline -u "jdbc:drill:drillbit=example.com;auth=kerberos"

Because ';' is a command separator in bash, the URL is included in
double-quotes ('"'). You will need to quote the URL and other arguments if
they contain characters that are special in your shell; different shells have
different special characters, but
space (' '),
dollar ('$'),
single-quote ('''),
bang ('!') and
percent ('%') are some common examples.

Read the manual.

Maven Usage

Use the following definition to use sqlline in your maven project:

<dependency>
  <groupId>sqlline</groupId>
  <artifactId>sqlline</artifactId>
  <version>1.12.0</version>
</dependency>

Building

To build or run SQLLine, you need Java 8 or higher.
(When running on Java 15 and higher, you will need to
set scriptEngine before you use promptscript.)

Check out and build:

git clone git://github.com/julianhyde/sqlline.git
cd sqlline
./mvnw package

Committers

More information

主要指標

概覽
名稱與所有者julianhyde/sqlline
主編程語言Java
編程語言Shell (語言數: 3)
平台
許可證BSD 3-Clause "New" or "Revised" License
所有者活动
創建於2013-03-16 00:45:40
推送於2023-07-08 05:54:21
最后一次提交
發布數17
最新版本名稱sqlline-1.12.0 (發布於 )
第一版名稱sqlline-1.1.4 (發布於 2013-07-23 05:18:11)
用户参与
星數643
關注者數18
派生數147
提交數395
已啟用問題?
問題數271
打開的問題數52
拉請求數26
打開的拉請求數10
關閉的拉請求數182
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?