Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi öykünücüsü veya MAC OS çevrimiçi öykünücüsü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen komut sql'dir.
Program:
ADI
sql - bir dburl tarafından belirlenen bir veritabanında bir komut yürütür
SİNOPSİS
sql [seçenekler] çiftburl [komutlar]
sql [seçenekler] çiftburl < komut dosyası
#!/usr/bin/sql --şebang [seçenekler] çiftburl
AÇIKLAMA
GNU sql aracılığıyla veritabanlarına erişmek için basit, birleşik bir arayüz sunmayı amaçlamaktadır.
farklı veritabanlarının komut satırı istemcileri. Şimdiye kadar odak noktası ortak bir
oturum açma bilgilerini (protokol, kullanıcı adı, parola, ana bilgisayar adı ve bağlantı noktası) belirtmenin yolu
sayı), boyut (veritabanı ve tablo boyutu) ve çalışan sorgular.
Veritabanı bir DBURL kullanılarak adreslenir. Eğer komutlar dışarıda bırakılırsan bunu alacaksın
veritabanının etkileşimli kabuğu.
GNU sql genellikle GNU ile birlikte kullanılır paralel.
çiftburl Bir DBURL aşağıdaki sözdizimine sahiptir: [sql:]vendor://
[[user][:password]@][host][:port]/[veritabanı][?sqlquery]
Aşağıdaki DBURL bölümüne bakın.
komutlar Çalıştırılacak SQL komutları. Her argümana eklenen yeni bir satır olacaktır.
Örnek: "SELECT * FROM foo;" "çubuktan * SEÇİN;"
Argümanlar '\n' veya '\x0a' içeriyorsa, bu yeni bir satırla değiştirilecektir:
Örnek: "SELECT * FROM foo;\n SELECT * FROM bar;"
Herhangi bir komut verilmezse, klavyeden veya STDIN'den SQL okunur.
Örnek: echo 'SELECT * FROM foo;' | sql mysql:///
--db-boyutu
--dbsize Veritabanının boyutu. Veritabanının boyutunu diskte göster. Oracle için bu gerektirir
tabloyu okumak için erişim dba_data_files - Kullanıcı sistem buna sahip.
--yardım et
-h Seçeneklerin bir özetini GNU'ya yazdırın sql ve çıkış.
--html HTML çıktısı. HTML tablo çıktısını açın.
--show-işlem listesi
--proclist
--listproc
Çalışan sorguların listesini göster.
--show-veritabanları
--showdbs
--list-veritabanları
--listdbs
Veritabanındaki veritabanlarını (tablo boşlukları) listeleyin.
--tabloları göster
--list-tablolar
--tablo listesi
Veritabanındaki tabloları listeleyin.
--başlık yok
--başlıksız
-n Üstbilgileri ve altbilgileri kaldırın ve yalnızca demetleri yazdırın. Oracle'da Hata: Hala yazdırıyor
bulunan satır sayısı.
-p geçiş
-p'den sonraki dize, veritabanı bağlantı programına şu şekilde verilecektir:
argümanlar. Birden çok -p boşlukla birleştirilecek. Örnek: '-U' ve
programın kullanıcı adı:
-p "-U scott" ayrıca yazılabilir -p -U -p Scott.
-r 3 kez deneyin. Kısa versiyonu --tekrar denemeler 3.
--tekrar denemeler n kez
denemek n kez zamanlar. İstemci programı bir hatayla dönerse, komutu yeniden deneyin.
Varsayılan --tekrar denemeler 1.
--eylül dizi
-s dizi
Alan ayırıcı. Kullanmak dizi sütunlar arasında ayırıcı olarak.
--ilk satırı atlama
İlk giriş satırını kullanmayın (GNU tarafından kullanılır sql ile çağrıldığında kendisi
--şebang).
--masa boyutu
--masa boyutu
Tabloların boyutu. Veritabanındaki tabloların boyutunu gösterin.
--ayrıntılı
-v Hangi komutun gönderildiğini yazdırın.
--versiyon
-V GNU sürümünü yazdır sql ve çıkış.
--şebang
-Y GNU sql bir betiğin ilk satırı olarak bir shebang (#!) komutu olarak çağrılabilir.
Bunun gibi:
#!/usr/bin/sql -Y mysql:///
foo'DAN * SEÇİN;
Bunun çalışması için --şebang or -Y ilk seçenek olarak ayarlanmalıdır.
DBURL
Bir DBURL aşağıdaki sözdizimine sahiptir: [sql:]vendor://
[[user][:password]@][host][:port]/[veritabanı][?sqlquery]
Özel karakterleri alıntılamak için, içinde belirtilen % kodlamasını kullanın.
http://tools.ietf.org/html/rfc3986#section-2.1 (Örneğin '/' içeren bir parola
'%2F' içerir).
Örnekler:
mysql://scott:[e-posta korumalı]/mydb
sql: oracle://scott:[e-posta korumalı]/xe
postgresql://scott:[e-posta korumalı]/pgdb
sayfa:///
postgresqlssl://[e-posta korumalı]:3333/pgdb
sql:sqlite2:////tmp/db.sqlite?FOO'DAN * SEÇİN;
sqlite3:///../db.sqlite3?SELECT%20*%20FROM%20foo;
Şu anda desteklenen satıcılar: MySQL (mysql), SSL ile MySQL (mysqls, mysqlssl), Oracle
(oracle, ora), PostgreSQL (postgresql, pg, pgsql, postgres), SSL ile PostgreSQL
(postgresqlssl, pgs, pgsqlssl, postgresssl, pgssl, postgresqls, pgsqls, postgress),
SQLite2 (sqlite, sqlite2), SQLite3 (sqlite3).
Takma adlar ':' ile başlamalı ve /etc/sql/aliases dizininden okunmalıdır ve ~/.sql/takma adlar. The
kullanıcının kendi ~/.sql/takma adlar sadece kullanıcı tarafından okunabilmelidir.
Takma adlara örnek:
:myalias1 sayfa://scott:[e-posta korumalı]/pgdb
:myalias2 ora://scott:[e-posta korumalı]/xe
# mysql://`whoami`:nopassword@localhost:3306/`whoami`nin kısa biçimi
:myalias3 mysql:///
# mysql://`whoami`:nopassword@localhost:33333/mydb'nin kısa biçimi
:myalias4 mysql://:33333/mydb
# Takma ad için takma ad
:m :miyas4
# mümkün olan en sıralı takma ad
: sqlite2:////tmp/db.sqlite
# SQL sorgusu dahil
:sqlite sorgusu:////tmp/db.sqlite?SELECT * FROM foo;
ÖRNEKLER
Ön Onay an interaktif istemi
GNU'nun en temel kullanımı sql etkileşimli bir bilgi istemi almaktır:
sql sql: oracle://scott:[e-posta korumalı]/xe
Bir takma ad ayarladıysanız şunları yapabilirsiniz:
sql :myora
koşmak a sorgu
Doğrudan komut satırından bir sorgu çalıştırmak için:
sql :malias "SEÇME * DAN foo;"
Oracle, her ifadeden sonra yeni satırlar gerektirir. Bu şu şekilde yapılabilir:
sql :myora "SEÇME * DAN foo;" "SEÇME * DAN bar;"
Veya bu:
sql :myora "SEÇME * DAN foo;\nSEÇ * DAN bar;"
kopya a PostgreSQL veritabanı
Bir PostgreSQL veritabanını kopyalamak için dökümü ve GNU'yu oluşturmak için pg_dump kullanın sql içe aktarmak için:
pg_dump pg_database | sql sayfa: //scott:[e-posta korumalı]/pgdb
boş herşey tablolar in a MySQL veritabanı
GNU'yu kullanma paralel tüm tabloları düşürmeden boşaltmak kolaydır:
sql -n MySQL:/// 'göstermek tablolar' | paralel sql MySQL:/// SİL DAN {};
Damla herşey tablolar in a PostgreSQL veritabanı
Tüm tabloları bir PostgreSQL veritabanına bırakmak için şunları yapın:
sql -n sayfa:/// '\dt' | paralel --kolsep '\|' -r sql sayfa:/// DAMLA TABLO {2};
koşmak as a senaryo
Yapmak yerine:
sql MySQL:/// < sql dosyası
bir UNIX betiği yapmak için sql dosyasını DBURL ile birleştirebilirsiniz. adlı bir komut dosyası oluşturun
demosql:
#!/usr/bin/sql -Y MySQL:///
SEÇİN * DAN foo;
Sonra yap:
chmod +x demosql; ./demosql
Kullanım --kolsep için süreç çoklu sütunlar
GNU'yu kullan paralel's --kolsep sütunları ayırmak için:
sql -s '\t' :malias 'SEÇME * DAN foo;' | paralel --kolsep '\t' şeyler yapmak 4 {} 1 {}
Tekrar dene if the bağ başarısız
Veritabanına erişim ara sıra başarısız olursa --tekrar denemeler sorgudan emin olmanıza yardımcı olabilir
başarılı:
sql --tekrar denemeler 5 :malias 'SEÇME * DAN gerçekten_big_foo;'
Ön Onay bilgi hakkında the koşu veritabanı sistem
Veritabanının ne kadar büyük olduğunu gösterin:
sql --db-boyutu :malias
Tabloları listeleyin:
sql --list-tablolar :malias
Tabloların boyutunu listeleyin:
sql --masa boyutu :malias
Çalışan süreçleri listeleyin:
sql --show-işlem listesi :malias
RAPORLAMA BÖCEK
GNU sql GNU'nun bir parçasıdır paralel. Hataları şuraya bildir:[e-posta korumalı]>.
onworks.net hizmetlerini kullanarak sql'yi çevrimiçi kullanın
