русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Сохранение результатов во внешний файл


Дата добавления: 2013-12-24; просмотров: 3356; Нарушение авторских прав


Объединение таблиц

Как было сказано выше, оператор select возвращает результат в виде таблицы. Если формат результирующих таблиц (число, порядок следования и тип столбцов) совпадает, то возможно объединение результатов выполнения двух операторов select в одну результирующую таблицу. Это достигается использованием оператора union.

Пусть имеются два запроса, представленные в листинге 7.38.

Объединить результаты из этих двух таблиц можно, соединив два запроса select при помощи ключевого слова union, как это продемонстрировано в листинге 7.39.

Во втором запросе select, производящем выборку из таблицы orders, к значению первичного ключа id_orders добавляется значение 5, таким образом, все значения в результирующей таблице становятся уникальными. Однако если результирующая таблица содержит повторяющиеся строки, СУБД MySQL автоматически отбрасывает дубликаты (листинг 7.40)

Как видно из листинга 7.40, вместо десяти записей выводится только пять. Изменить поведение по умолчанию можно при помощи ключевого слова all, которое добавляется после оператора union. Использование union all требует, чтобы возвращались все строки из обеих результирующих таблиц.

Для формы union all существует противоположенный оператор union distinct, ho т. к. оператор union по умолчанию отбрасывает не уникальные столбцы, ключевое слово distinct часто опускают.

 

 

Результирующую таблицу, получаемую в результате выполнения оператора select, можно сохранить в текстовый файл. Это позволяет более внимательно изучить результаты, подвергнуть их дальнейшей обработки при помощи внешней программы или вставить их в таблицу при помощи оператора load data infile.

Для сохранения результатов в текстовом файле предназначен оператор select в форме select into outfile ' file_name'. Эта разновидность команды осуществляет запись выбранных строк в файл, указанный в file_name.



Выполнение SQL-запроса, показанного в листинге 7.42, приведет к созданию файла text.sql в директории C:/mysqI5/data/shop.

Важной деталью при составлении запроса, сохраняющего результат SELECT-запроса во внешнем текстовом файле, является то, что предложение into outfile располагаeся до ключевого слова from. Открытие данного файла в текстовом редакторе Notepad) Windows приведет к тому, что перевод строк не производится, а вместо символа перевода строки присутствует квадратик, которым обозначаются нечитаемые символы. Здесь, так же как и в случае оператора load data infile, по умолчанию принят UNIX-формат, т. е. перевод строк осуществляется только символом передачи строки \n, без добавления символа перевод каретки /r/n который требует windows.

Точно так же, как и для оператора load data infile, формат текстового файла задается при помощи ключевых слов:

Ключевое слово lines позволяет задать символ начала и конца строки при помощи инструкций starting by и terminated by соответственно. Для того чтобы строка начиналась со слова "table ", а заканчивалась переводом строки в стиле Windows —\r\n необходимо выполнить запрос, представленный в листинге 7.43.

 

 

 

В результате будет создан файл следующего содержания:

Конструкция order by id_catalog обеспечивает сортировку по первому полю таблицы catalogs.

Ключевое слово fields позволяет задать порядок обработки полей, совместно с ним применяются следующие конструкции:

Выполнение запроса из листинга 7.44 приводит к созданию файла text.sql следующего содержания:




<== предыдущая лекция | следующая лекция ==>
Группировка записей | Тема 3.8 MySQL. Выборка данных. Многотабличные запросы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.153 сек.