Đây là lệnh sql có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi, chẳng hạn như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
sql - thực hiện một lệnh trên cơ sở dữ liệu được xác định bởi dburl
SYNOPSIS
sql [tùy chọn] thổ cẩm [lệnh]
sql [tùy chọn] thổ cẩm <tệp lệnh
#! / usr / bin / sql --she tập thể [tùy chọn] thổ cẩm
MÔ TẢ
GNU sql nhằm mục đích cung cấp một giao diện đơn giản, thống nhất để truy cập cơ sở dữ liệu thông qua tất cả các
các máy khách dòng lệnh của cơ sở dữ liệu khác nhau. Cho đến nay, trọng tâm là đưa ra một
cách chỉ định thông tin đăng nhập (giao thức, tên người dùng, mật khẩu, tên máy chủ và cổng
số), kích thước (cơ sở dữ liệu và kích thước bảng), và các truy vấn đang chạy.
Cơ sở dữ liệu được giải quyết bằng cách sử dụng DBURL. Nếu như lệnh bị bỏ lại bạn sẽ nhận được điều đó
vỏ tương tác của cơ sở dữ liệu.
GNU sql thường được sử dụng kết hợp với GNU song song, tương đông.
thổ cẩm DBURL có cú pháp sau: [sql:] nhà cung cấp: //
[[người dùng] [: password] @] [host] [: port] / [database] [? sqlquery]
Xem phần DBURL bên dưới.
lệnh Các lệnh SQL để chạy. Mỗi đối số sẽ có một dòng mới được thêm vào.
Ví dụ: "CHỌN * TỪ foo;" "SELECT * FROM thanh;"
Nếu các đối số chứa '\ n' hoặc '\ x0a', đối số này sẽ được thay thế bằng một dòng mới:
Ví dụ: "SELECT * FROM foo; \ n thanh SELECT * FROM;"
Nếu không có lệnh nào được đưa ra, SQL được đọc từ bàn phím hoặc STDIN.
Ví dụ: echo 'SELECT * FROM foo;' | sql mysql: ///
--db-kích thước
- kích thước Kích thước của cơ sở dữ liệu. Hiển thị kích thước của cơ sở dữ liệu trên đĩa. Đối với Oracle, điều này yêu cầu
truy cập để đọc bảng dba_data_files - người dùng hệ thống có cái đó.
--Cứu giúp
-h In bản tóm tắt các tùy chọn sang GNU sql và thoát ra.
--html Đầu ra HTML. Bật đầu ra dạng bảng HTML.
--show-processlist
--proclist
--listproc
Hiển thị danh sách các truy vấn đang chạy.
--show-database
--showdbs
- cơ sở dữ liệu danh sách
--listdbs
Liệt kê các cơ sở dữ liệu (không gian bảng) trong cơ sở dữ liệu.
--show-table
- bảng danh sách
- danh sách bảng
Liệt kê các bảng trong cơ sở dữ liệu.
--không có tiêu đề
- không có tiêu đề
-n Loại bỏ đầu trang và chân trang và chỉ in các bộ giá trị. Lỗi trong Oracle: nó vẫn in
số hàng được tìm thấy.
-p xuyên qua
Chuỗi sau -p sẽ được cấp cho chương trình kết nối cơ sở dữ liệu như
tranh luận. Nhiều -p sẽ được kết hợp với không gian. Ví dụ: vượt qua '-U' và
tên người dùng của chương trình:
-p "-U scott " cũng có thể được viết -p -U -p scott.
-r Thử 3 lần. Phiên bản ngắn của --thử lại 3.
--thử lại n lần
Thử n lần lần. Nếu chương trình khách trả về có lỗi, hãy thử lại lệnh.
Mặc định là --thử lại 1.
--tháng chín chuỗi
-s chuỗi
Bộ tách trường. Sử dụng chuỗi làm dấu phân cách giữa các cột.
--skip-đầu-dòng
Không sử dụng dòng đầu tiên (do GNU sử dụng sql chính nó khi được gọi bằng
--she tập thể).
- kích thước bàn
--kích thước bảng
Kích thước của các bảng. Hiển thị kích thước của các bảng trong cơ sở dữ liệu.
--dài dòng
-v In lệnh nào được gửi.
--phiên bản
-V In phiên bản GNU sql và thoát ra.
--she tập thể
-Y GNU sql có thể được gọi dưới dạng lệnh shebang (#!) như dòng đầu tiên của tập lệnh.
Thích bài viết này:
#! / usr / bin / sql -Y mysql: ///
CHỌN * TỪ foo;
Để làm việc này --she tập thể or -Y phải được đặt làm tùy chọn đầu tiên.
DBURL
DBURL có cú pháp sau: [sql:] nhà cung cấp: //
[[người dùng] [: password] @] [host] [: port] / [database] [? sqlquery]
Để trích dẫn các ký tự đặc biệt, hãy sử dụng% -encoding được chỉ định trong
http://tools.ietf.org/html/rfc3986# section-2.1 (Ví dụ: mật khẩu chứa '/' sẽ
chứa '% 2F').
Ví dụ:
mysql: // scott:[email được bảo vệ]/ mydb
sql: oracle: // scott:[email được bảo vệ]/ xe
postgresql: // scott:[email được bảo vệ]/ pgdb
pg: ///
postgresqlssl: //[email được bảo vệ]: 3333 / pgdb
sql: sqlite2: ////tmp/db.sqlite? SELECT * FROM foo;
sqlite3:///../db.sqlite3?SELECT%20*%20FROM%20foo;
Các nhà cung cấp hiện được hỗ trợ: MySQL (mysql), MySQL với SSL (mysqls, mysqlssl), Oracle
(oracle, ora), PostgreSQL (postgresql, pg, pgsql, postgres), PostgreSQL với SSL
(postgresqlssl, pgs, pgsqlssl, postgresssl, pgssl, postgresqls, pssqls, postgress),
SQLite2 (sqlite, sqlite2), SQLite3 (sqlite3).
Các bí danh phải bắt đầu bằng ':' và được đọc từ / etc / sql / aliases và ~ / .sql / bí danh.
của riêng người dùng ~ / .sql / bí danh chỉ người dùng mới có thể đọc được.
Ví dụ về bí danh:
: myalias1 pg: // scott:[email được bảo vệ]/ pgdb
: myalias2 ora: // scott:[email được bảo vệ]/ xe
# Dạng ngắn gọn của mysql: // `whoami`: nopassword @ localhost: 3306 /` whoami`
: myalias3 mysql: ///
# Dạng ngắn gọn của mysql: // `whoami`: nopassword @ localhost: 33333 / mydb
: myalias4 mysql: //: 33333 / mydb
# Bí danh cho một bí danh
: m: myalias4
# bí danh tốt nhất có thể
: sqlite2: ////tmp/db.sqlite
# Bao gồm một truy vấn SQL
: truy vấn sqlite: ////tmp/db.sqlite? SELECT * FROM foo;
VÍ DỤ
Nhận an tương tác nhanh chóng
Cách sử dụng cơ bản nhất của GNU sql là nhận được một lời nhắc tương tác:
sql sql: oracle: // scott:[email được bảo vệ]/ xe
Nếu bạn đã thiết lập một bí danh, bạn có thể làm:
sql : myora
chạy a truy vấn
Để chạy một truy vấn trực tiếp từ dòng lệnh:
sql : myalias "LỰA CHỌN * TỪ foo; "
Oracle yêu cầu dòng mới sau mỗi câu lệnh. Điều này có thể được thực hiện như thế này:
sql : myora "LỰA CHỌN * TỪ foo; " "LỰA CHỌN * TỪ quán ba;"
Hoặc này:
sql : myora "LỰA CHỌN * TỪ foo; \ nSELECT * TỪ quán ba;"
Sao chép a PostgreSQL cơ sở dữ liệu
Để sao chép cơ sở dữ liệu PostgreSQL, hãy sử dụng pg_dump để tạo kết xuất và GNU sql để nhập nó:
pg_dump cơ sở dữ liệu pg | sql pg: // scott:[email được bảo vệ]/ pgdb
Trống tất cả các bảng in a MySQL cơ sở dữ liệu
Sử dụng GNU song song, tương đông thật dễ dàng để làm trống tất cả các bảng mà không làm rơi chúng:
sql -n mysql: /// 'chỉ những cái bàn' | song song, tương đông sql mysql: /// DELETE TỪ {};
Rơi tất cả các bảng in a PostgreSQL cơ sở dữ liệu
Để loại bỏ tất cả các bảng trong cơ sở dữ liệu PostgreSQL, hãy làm:
sql -n pg: /// '\ dt' | song song, tương đông --colsep '\ |' -r sql pg: /// Thả BẢNG {2};
chạy as a kịch bản
Thay vì làm:
sql mysql: /// < tập tin sql
bạn có thể kết hợp sqlfile với DBURL để tạo tập lệnh UNIX. Tạo một tập lệnh có tên
demoql:
#! / usr / bin / sql -Y mysql: ///
CHỌN * TỪ foo;
Sau đó làm:
chmod +x bản trình diễn; ./demosql
Sử dụng --colsep đến quá trình nhiều cột
Sử dụng GNU song song, tương đông's --colsep để tách các cột:
sql -s '\NS' : myalias 'LỰA CHỌN * TỪ foo; ' | song song, tương đông --colsep '\NS' làm_thứ 4 {} 1 {}
Thử lại if các liên quan không
Nếu thỉnh thoảng truy cập vào cơ sở dữ liệu không thành công --thử lại có thể giúp đảm bảo truy vấn
thành công:
sql --thử lại 5 : myalias 'LỰA CHỌN * TỪ thật_big_foo; '
Nhận Thông tin về các chạy cơ sở dữ liệu hệ thống
Cho biết cơ sở dữ liệu lớn như thế nào:
sql --db-kích thước : myalias
Liệt kê các bảng:
sql - bảng danh sách : myalias
Liệt kê kích thước của các bảng:
sql - kích thước bàn : myalias
Liệt kê các quy trình đang chạy:
sql --show-processlist : myalias
BÁO CÁO GIỎI
GNU sql là một phần của GNU song song, tương đông. Báo cáo lỗi cho[email được bảo vệ]>.
Sử dụng sql trực tuyến bằng các dịch vụ onworks.net