Использование 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
Читайте также: II. Использование галереи фильтров Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|