To jest polecenie sql, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS
PROGRAM:
IMIĘ
sql - wykonaj polecenie w bazie danych określonej przez dburl
STRESZCZENIE
sql [opcje] głupać [Polecenia]
sql [opcje] głupać <plik poleceń
#!/usr/bin/sql --szulernia [opcje] głupać
OPIS
GNU sql ma na celu zapewnienie prostego, ujednoliconego interfejsu dostępu do baz danych za pośrednictwem wszystkich
Klienci wiersza poleceń różnych baz danych. Jak dotąd skupialiśmy się na dawaniu tego, co wspólne
sposób określenia informacji logowania (protokół, nazwa użytkownika, hasło, nazwa hosta i port
liczba), rozmiar (rozmiar bazy danych i tabeli) oraz uruchomione zapytania.
Baza danych jest adresowana przy użyciu DBURL. Jeśli Polecenia zostaną pominięte, dostaniesz to
interaktywna powłoka bazy danych.
GNU sql jest często używany w połączeniu z GNU równolegle.
głupać DBURL ma następującą składnię: [sql:]vendor://
[[użytkownik][:hasło]@][host][:port]/[baza danych][?sqlquery]
Zobacz sekcję DBURL poniżej.
Polecenia Polecenia SQL do uruchomienia. Do każdego argumentu dodany zostanie znak nowej linii.
Przykład: „WYBIERZ * Z foo;” „WYBIERZ * Z paska;”
Jeśli argumenty zawierają „\n” lub „\x0a”, zostanie to zastąpione znakiem nowej linii:
Przykład: „WYBIERZ * Z foo;\n WYBIERZ * Z paska;”
Jeśli nie podano żadnych poleceń, SQL jest odczytywany z klawiatury lub STDIN.
Przykład: echo 'WYBIERZ * Z foo;' | sql mysql:///
--rozmiar bazy danych
--rozmiar bazy danych Rozmiar bazy danych. Pokaż rozmiar bazy danych na dysku. W przypadku Oracle jest to wymagane
dostęp do odczytu tabeli pliki dba_data_files - użytkownik system ma to.
--help
-h Wydrukuj podsumowanie opcji do GNU sql i wyjść.
--html Dane wyjściowe HTML. Włącz tabelaryczne wyjście HTML.
--show-processlist
--proklista
--listproc
Pokaż listę uruchomionych zapytań.
--show-bazy danych
--showdbs
--list-bazy danych
--listdbs
Wyświetl listę baz danych (obszarów tabel) w bazie danych.
--show-stoły
--lista-tabele
--lista-tabeli
Wypisz tabele w bazie danych.
--bez nagłówków
--bez nagłówków
-n Usuń nagłówki i stopki i wydrukuj tylko krotki. Błąd w Oracle: nadal drukuje
liczba znalezionych wierszy.
-p Przejść przez
Łańcuch następujący po -p zostanie przekazany programowi łączącemu się z bazą danych jako
argumenty. Wiele -p zostanie połączonych spacją. Przykład: podaj „-U” i
nazwa użytkownika do programu:
-p „-U Scotta można również zapisać -p -U -p Scott.
-r Spróbuj 3 razy. Krótka wersja --ponowne próby 3.
--ponowne próby nrazy
Próbować nrazy czasy. Jeśli program kliencki zwróci błąd, ponów komendę.
Domyślnie jest --ponowne próby 1.
--wrz ciąg
-s ciąg
Separator pól. Używać ciąg jako separator między kolumnami.
--pomiń pierwszą linię
Nie używaj pierwszego wiersza wejścia (używanego przez GNU sql się, gdy zostanie wywołany z
--szulernia).
--rozmiar tabeli
--rozmiar tabeli
Rozmiar tabel. Pokaż rozmiar tabel w bazie danych.
--gadatliwy
-v Wydrukuj, które polecenie zostało wysłane.
--wersja
-V Wydrukuj wersję GNU sql i wyjść.
--szulernia
-Y GNU sql można wywołać jako polecenie shebang (#!) jako pierwszą linię skryptu.
Jak to:
#!/usr/bin/sql -Y mysql:///
WYBIERZ * Z foo;
Aby to zadziałało --szulernia or -Y należy ustawić jako pierwszą opcję.
DBURL
DBURL ma następującą składnię: [sql:]vendor://
[[użytkownik][:hasło]@][host][:port]/[baza danych][?sqlquery]
Aby zacytować znaki specjalne, użyj kodowania % określonego w
http://tools.ietf.org/html/rfc3986#sekcja-2.1 (Np. hasło zawierające „/” mogłoby
zawierają „%2F”).
Przykłady:
mysql://scott:[email chroniony]/mójbaz
sql:oracle://scott:[email chroniony]/xe
postgresql://scott:[email chroniony]/pgdb
strona:///
postgresqlssl://[email chroniony]:3333/str.db
sql:sqlite2:////tmp/db.sqlite?WYBIERZ * Z foo;
sqlite3:///../db.sqlite3?SELECT%20*%20FROM%20foo;
Aktualnie obsługiwani dostawcy: MySQL (mysql), MySQL z SSL (mysqls, mysqlssl), Oracle
(oracle, ora), PostgreSQL (postgresql, pg, pgsql, postgres), PostgreSQL z SSL
(postgresqlssl, pgs, pgsqlssl, postgressl, pgssl, postgresqls, pgsqls, postgress),
SQLite2 (sqlite, sqlite2), SQLite3 (sqlite3).
Aliasy muszą zaczynać się od „:” i są odczytywane z /etc/sql/aliases i ~/.sql/aliases.
własne użytkownika ~/.sql/aliases powinny być czytelne wyłącznie dla użytkownika.
Przykład aliasów:
:myalias1 pg://scott:[email chroniony]/pgdb
:myalias2 ora://scott:[email chroniony]/xe
# Krótka forma mysql://`whoami`:nopassword@localhost:3306/`whoami`
:myalias3 mysql:///
# Krótka forma mysql://`whoami`:nopassword@localhost:33333/mydb
:myalias4 mysql://:33333/mydb
# Alias dla aliasu
:m:myalias4
# najlepszy możliwy alias
: sqlite2:////tmp/db.sqlite
# Łącznie z zapytaniem SQL
:query sqlite:////tmp/db.sqlite?WYBIERZ * Z foo;
PRZYKŁADY
Get an interaktywne podpowiedź
Najbardziej podstawowe zastosowanie GNU sql jest uzyskanie interaktywnego monitu:
sql sql:oracle://scott:[email chroniony]/xe
Jeśli masz skonfigurowany alias, możesz:
sql :myora
Uruchom a pytanie
Aby uruchomić zapytanie bezpośrednio z wiersza poleceń:
sql :myalias "WYBIERAĆ * OD bla;"
Oracle wymaga znaków nowej linii po każdej instrukcji. Można to zrobić w następujący sposób:
sql :myora "WYBIERAĆ * OD bla;" "WYBIERAĆ * OD bar;"
Albo to:
sql :myora "WYBIERAĆ * OD foo;\nWYBIERZ * OD bar;"
Skopiuj a PostgreSQL baza danych
Aby skopiować bazę danych PostgreSQL, użyj pg_dump do wygenerowania zrzutu i GNU sql aby go zaimportować:
pg_dump pg_baza danych | sql strona://scott:[email chroniony]/pgdb
pusty cała kolekcja stoły in a MySQL baza danych
Korzystanie z GNU równolegle łatwo jest opróżnić wszystkie tabele bez ich upuszczania:
sql -n mysql:/// 'pokazywać stoły | równolegle sql mysql:/// DELETE OD {};
Spadek cała kolekcja stoły in a PostgreSQL baza danych
Aby usunąć wszystkie tabele z bazy danych PostgreSQL, wykonaj:
sql -n strona:/// „\dt” | równolegle --colsep '\|' -r sql strona:/// DROP STÓL JADALNIANY {2};
Uruchom as a scenariusz
Zamiast robić:
sql mysql:/// < plik sql
możesz połączyć plik sql z DBURL, aby utworzyć skrypt UNIX. Utwórz skrypt o nazwie
demosql:
#!/usr/bin/sql -Y mysql:///
SELECT * OD bla;
Następnie wykonaj:
chmod +x demosql; ./demosql
Zastosowanie --colsep do wygląda tak wielokrotność kolumny
Użyj GNU równolegle's --colsep aby oddzielić kolumny:
sql -s '\T' :myalias 'WYBIERAĆ * OD bla;' | równolegle --colsep '\T' robić coś 4 {} 1 {}
Spróbować ponownie if dotychczasowy połączenie nie
Jeśli czasami nie można uzyskać dostępu do bazy danych --ponowne próby może pomóc upewnić się, że zapytanie
udaje się:
sql --ponowne próby 5 :myalias 'WYBIERAĆ * OD naprawdę_big_foo;'
Get Informacje Parę słów o dotychczasowy bieganie baza danych system
Pokaż jak duża jest baza danych:
sql --rozmiar bazy danych :myalias
Wypisz tabele:
sql --lista-tabele :myalias
Podaj rozmiary tabel:
sql --rozmiar tabeli :myalias
Lista uruchomionych procesów:
sql --show-processlist :myalias
RAPORTOWANIE ROBAKI
GNU sql jest częścią GNU równolegle. Zgłoś błędy do[email chroniony]>.
Używaj sql online, korzystając z usług onworks.net