Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Использование mysql в пакетном режиме




Запускать mysql можно и в пакетном режиме. Для этого нужно собрать все команды в один файл и передать его на исполнение mysql:

mysql < batch-file

При работаете с mysql в ОС Windows, можно воспользоваться следующей командой:

> mysql source batch-file

Если необходимо указать параметры соединения в командной строке, она может иметь следующий вид:

> mysql -h host -u user -p < batch-file

Enter password: ********

Работая с mysql таким образом, в сущности, создается сценарий и затем он исполняется.

Выводимые запросом результаты можно сохранить в файле для последующей обработки:

shell> mysql < batch-file > mysql.out

Если нужно продолжать обработку сценария даже при обнаружении в нем ошибок, надо использовать параметр командной строки --force.

По умолчанию при работе с mysql в пакетном режиме используется более сжатый формат вывода результатов, чем при интерактивной работе.

Если нужно, чтобы в пакетном режиме программа выводила данные так же, как и в интерактивном, надо использовать ключ mysql -t. Включить "эхо" исполняемых команд можно с помощью ключа mysql -vvv.

В командную строку mysql можно включать и сценарии - при помощи команды source:

mysql> source filename;

Зачем нужны сценарии? Причин тому несколько:

· при необходимости частого (ежедневного или хотя бы еженедельного) запуска одного и того же запроса сценарий позволяет избавиться от многократного набора этого запроса;

· можно создавать новые запросы, подобные уже существующим, просто копируя и затем изменяя файлы сценариев;

· пакетный режим может пригодиться и при разработке особенно длинных запросов, а именно - многострочных команд или больших последовательностей команд;

 


Тема: Создание запросов.

Формирование запросов средствами языка SQL:

SELECT [STRAIGHT_JOIN] [DISTINCT | ALL] <список выражений>

[INTO {OUTFILE | DUMPFILE} 'file_name' delimiters ]

[FROM table_references

[WHERE where_definition]

[GROUP BY column,...]

[ORDER BY column{unsigned_integer | col_name | formula} [ASC | DESC],...]

[HAVING full_where_definition]

[FOR UPDATE | LOCK IN SHARE MODE]]

[LIMIT [ start, ] rows ]

При указании ключевых слов следует точно соблюдать порядок, указанный выше. Например, выражение HAVING должно располагаться после всех выражений GROUP BY и перед всеми выражениями ORDER BY.

Оператор SELECT позволяет формировать запрос к базе данных. В результате выполнения этого оператора СУБД формирует результирующий набор. Если этот оператор был введен в интерактивном режиме взаимодействия с базой данных, то результат отображается в виде таблицы в текущем диалоговом окне. Если оператор SELECT выполняется из приложения на другом языке программирования, то формируется результирующий набор, размещаемый в памяти приложения или сервера БД, а затем приложение извлекает данные из результирующего набора в свои переменные.

Для выполнения запроса требуется привилегия SELECT на все таблицы, участвующие в запросе.

<список выражений> это одна из следующих конструкций:

[таблица.]столбец | (выражение) | константа | переменная| SQL_функция | системная_переменная

Синтаксис выражений имеет вид

({[ [+] | - ] {значение | функция_СУБД} [ + | - | * | ** ]}...)

а синтаксис SQL_функций – одна из следующих конструкций:

{SUM|AVG|MIN|MAX|COUNT} ([[ALL]|DISTINCT][таблица.]столбец)

{SUM|AVG|MIN|MAX|COUNT} ([ALL] выражение)

COUNT(*)

(например, SELECT name FROM people; SELECT mydata.people.name FROM people).

Можно задать «*», чтобы указать все колонки. Имена столбцов могут быть определены как column, table.column или database, table.column. Длинные формы необходимы только для того, чтобы отличать столбцы с одинаковыми именами (например, SELECT name FROM people; SELECT mydata.people.name FROM people).

SELECT можно использовать для извлечения строк, вычисленных без ссылки на какую-либо таблицу. Например: SELECT 1 + 1; -> 2

Aliases AS задает псевдоним. Псевдоним используется в качестве имени столбца в данном выражении и может применяться в ORDER BY или HAVING. Любые сложные имена столбцов или функций можно упростить, создав для них псевдонимы (alias). Внутри оператора SELECT к значению можно всегда обратиться по его псевдониму с любого места.

Пример: SELECT DATE_FORMAT(date, "%W, %M %d %Y") as nice_date FROM calendar

SELECT CONCAT(last_name,', ',first_name) AS full_name FROM mytable ORDER BY full_name;

Псевдонимы столбцов нельзя использовать в выражении WHERE, поскольку находящиеся в столбцах величины на момент выполнения WHERE могут быть еще не определены.

Пример:

# Псевдоним колонки

SELECT long_field_names_are_annoying AS myfield FROM table_name WHERE myfield = 'Joe'

# Псевдоним таблицы в MySQL

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...