Это команда sql, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
sql - выполнить команду в базе данных, определяемой dburl
СИНТАКСИС
SQL [опции] бурл [команды]
SQL [опции] бурл <командный файл
#! / usr / bin / sql --шебанг [опции] бурл
ОПИСАНИЕ
GNU SQL стремится предоставить простой унифицированный интерфейс для доступа к базам данных через все
клиенты командной строки различных баз данных. До сих пор основное внимание уделялось предоставлению общих
способ указать данные для входа (протокол, имя пользователя, пароль, имя хоста и порт
число), размер (размер базы данных и таблицы) и количество выполняемых запросов.
К базе данных обращаются с помощью DBURL. Если команды оставлены в стороне, вы получите это
интерактивная оболочка базы данных.
GNU SQL часто используется в сочетании с GNU параллельно.
бурл DBURL имеет следующий синтаксис: [sql:] vendor: //
[[пользователь] [: пароль] @] [хост] [: порт] / [база данных] [? sqlquery]
См. Раздел DBURL ниже.
команды Команды SQL для выполнения. К каждому аргументу будет добавлена новая строка.
Пример: «SELECT * FROM foo;» "ВЫБРАТЬ * ИЗ бара;"
Если аргументы содержат '\ n' или '\ x0a', это будет заменено новой строкой:
Пример: «SELECT * FROM foo; \ n SELECT * FROM bar;»
Если команды не заданы, SQL читается с клавиатуры или с STDIN.
Пример: echo 'SELECT * FROM foo;' | sql mysql: ///
--db-размер
--dbsize Размер базы данных. Показать размер базы данных на диске. Для Oracle это требует
доступ для чтения таблицы dba_data_files - Пользователь система есть это.
--Помогите
-h Распечатайте сводку опций в GNU SQL и выйти.
--html Вывод HTML. Включите табличный вывод HTML.
--show-процесслист
--проклист
--listproc
Показать список запущенных запросов.
--show-базы данных
--showdbs
--list-базы данных
--listdbs
Перечислите базы данных (табличные пространства) в базе данных.
--show-таблицы
--list-таблицы
--таблица-список
Перечислите таблицы в базе данных.
--noheaders
--no-заголовки
-n Удалите верхние и нижние колонтитулы и печатайте только кортежи. Ошибка в Oracle: он все еще печатает
количество найденных строк.
-p пройти через
Строка, следующая за -p, будет передана программе подключения к базе данных как
аргументы. Несколько -p будут объединены пробелом. Пример: передайте '-U' и
имя пользователя в программе:
-p "-U Скотт " также может быть написано -p -U -p Скотт.
-r Попробуй 3 раза. Краткая версия - повторные попытки 3.
- повторные попытки n раз
Попытка n раз раз. Если клиентская программа вернется с ошибкой, повторите команду.
По умолчанию это - повторные попытки 1.
--сеп string
-s string
Разделитель полей. Использовать string как разделитель между столбцами.
- пропустить первую строку
Не используйте первую строку ввода (используется GNU SQL сам при вызове с
--шебанг).
- размер стола
--tablesize
Размер таблиц. Показать размер таблиц в базе данных.
--подробный
-v Распечатайте, какая команда отправлена.
--версия
-V Распечатать версию GNU SQL и выйти.
--шебанг
-Y GNU SQL может вызываться командой shebang (#!) в первой строке скрипта.
НРАВИТСЯ:
#! / usr / bin / sql -Y mysql: ///
ВЫБЕРИТЕ * ИЗ foo;
Чтобы это работало --шебанг or -Y должен быть установлен в качестве первого варианта.
ДБУРЛ
DBURL имеет следующий синтаксис: [sql:] vendor: //
[[пользователь] [: пароль] @] [хост] [: порт] / [база данных] [? sqlquery]
Для цитирования специальных символов используйте% -кодирование, указанное в
http://tools.ietf.org/html/rfc3986# section-2.1 (Например, пароль, содержащий '/',
содержат "% 2F").
Примеры:
mysql: // Скотт:[электронная почта защищена]/ mydb
sql: оракул: // скотт:[электронная почта защищена]/ xe
postgresql: // Скотт:[электронная почта защищена]/ pgdb
стр: ///
postgresqlssl: //[электронная почта защищена]: 3333 / pgdb
sql: sqlite2: ////tmp/db.sqlite? ВЫБРАТЬ * FROM foo;
sqlite3:///../db.sqlite3?SELECT%20*%20FROM%20foo;
Поддерживаемые в настоящее время поставщики: MySQL (mysql), MySQL с SSL (mysqls, mysqlssl), Oracle
(oracle, ora), PostgreSQL (postgresql, pg, pgsql, postgres), PostgreSQL с SSL
(postgresqlssl, pgs, pgsqlssl, postgresssl, pgssl, postgresqls, pgsqls, postgress),
SQLite2 (sqlite, sqlite2), SQLite3 (sqlite3).
Псевдонимы должны начинаться с ':' и считываются из / etc / sql / aliases и ~ / .sql / псевдонимы. The
собственный ~ / .sql / псевдонимы должен быть доступен для чтения только пользователю.
Пример псевдонимов:
: myalias1 стр: // Скотт:[электронная почта защищена]/ pgdb
: myalias2 ora: // Скотт:[электронная почта защищена]/ xe
# Краткая форма mysql: // `whoami`: nopassword @ localhost: 3306 /` whoami`
: myalias3 mysql: ///
# Краткая форма mysql: // `whoami`: nopassword @ localhost: 33333 / mydb
: myalias4 mysql: //: 33333 / mydb
# Псевдоним для псевдонима
: m: myalias4
# самый удобный псевдоним
: sqlite2: ////tmp/db.sqlite
# Включение SQL-запроса
: запрос sqlite: ////tmp/db.sqlite? SELECT * FROM foo;
ПРИМЕРЫ
Получите an интерактивный подсказка
Самое простое использование GNU SQL - получить интерактивную подсказку:
SQL sql: оракул: // скотт:[электронная почта защищена]/ xe
Если у вас есть псевдоним, вы можете:
SQL : myora
Run a запрос
Чтобы запустить запрос прямо из командной строки:
SQL : myalias "ВЫБРАТЬ * от foo; "
Oracle требует перевода строки после каждого оператора. Сделать это можно так:
SQL : myora "ВЫБРАТЬ * от foo; " "ВЫБРАТЬ * от бар;"
Или это:
SQL : myora "ВЫБРАТЬ * от foo; \ nВЫБОР * от бар;"
Копировать a PostgreSQL база данных
Чтобы скопировать базу данных PostgreSQL, используйте pg_dump для создания дампа и GNU SQL чтобы импортировать:
pg_dump pg_database | SQL pg: // Скотт:[электронная почта защищена]/ pgdb
пустой ВСЕ Эта таблица in a MySQL база данных
Использование GNU параллельно легко очистить все таблицы, не отбрасывая их:
SQL -n mysql: /// 'Показать столы ' | параллельно SQL mysql: /// УДАЛИТЬ от {};
Падение ВСЕ Эта таблица in a PostgreSQL база данных
Чтобы удалить все таблицы в базе данных PostgreSQL, выполните:
SQL -n стр: /// '\ dt' | параллельно --колсеп '\ |' -r SQL стр: /// DROP ТАБЛИЦА {2};
Run as a скрипт
Вместо того, чтобы делать:
SQL mysql: /// < sql-файл
вы можете объединить sqlfile с DBURL для создания UNIX-скрипта. Создайте скрипт под названием
демонстрационный SQL:
#! / usr / bin / sql -Y mysql: ///
ВЫБОР * от фу;
Затем выполните:
CHMOD +x демонстрационный SQL; ./демоsql
Используйте --колсеп в процесс с разными столбцы
Используйте GNU параллельно's --колсеп разделить столбцы:
SQL -s «\ Т» : myalias 'ВЫБРАТЬ * от foo; ' | параллельно --колсеп «\ Т» делать_вещи 4 {} 1 {}
Повторите if связи не удается
Если иногда происходит сбой доступа к базе данных - повторные попытки может помочь убедиться, что запрос
успешно:
SQL - повторные попытки 5 : myalias 'ВЫБРАТЬ * от действительно_big_foo; '
Получите info о Бег база данных система
Покажите, насколько велика база данных:
SQL --db-размер : myalias
Перечислите таблицы:
SQL --list-таблицы : myalias
Перечислите размер таблиц:
SQL - размер стола : myalias
Перечислите запущенные процессы:
SQL --show-процесслист : myalias
СОСТАВЛЕНИЕ ОТЧЕТОВ ОШИБКИ
GNU SQL является частью GNU параллельно. Сообщайте об ошибках[электронная почта защищена]>.
Использование sql в Интернете с помощью сервисов onworks.net