Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Оператор LOAD XML. Загрузка данных в базу из XML

Синтаксис оператора LOAD XML

Оператор LOAD XML. Загрузка данных в базу из XML. Автор24 — интернет-биржа заказчиков и авторов

Оператор LOAD XML считывает данные в таблицу из XML-файла;

file_name – имя файла в виде строки.

В дополнительном операторе ROWS IDENTIFIED BY tagname должен быть записан в виде литеральной строки и окружен угловыми скобками ( ).

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

Оператор LOAD XML. Загрузка данных в базу из XML. Автор24 — интернет-биржа заказчиков и авторов

Статья: Оператор LOAD XML. Загрузка данных в базу из XML
Найди решение своей задачи среди 1 000 000 ответов

Для считывания файла назад в таблицу нужно использовать оператор LOAD XML INFILE.

Элемент – эквивалент строки таблицы БД.

Данный оператор поддерживает 3 разных формата XML:

  • Имена столбцов задаются через атрибуты и соответствующие им значения столбцов:

    Оператор LOAD XML. Загрузка данных в базу из XML. Автор24 — интернет-биржа заказчиков и авторов

  • Имена столбцов задаются в виде тегов и значений столбцов как наполнения этих тегов:

    Оператор LOAD XML. Загрузка данных в базу из XML. Автор24 — интернет-биржа заказчиков и авторов

  • Имена столбцов name в атрибуте :

    Оператор LOAD XML. Загрузка данных в базу из XML. Автор24 — интернет-биржа заказчиков и авторов

Данный формат используется другими инструментами MySQL (например, mysqldump).

Все форматы можно использовать в одном и том же XML-файле.

Пункт IGNORE number ROWS или IGNORE number LINES пропускает первый number строки в XML-файле.

Рассмотрим использование данного оператора на примере.

Пример 1

Предположим, что таблица создана следующим образом:

Оператор LOAD XML. Загрузка данных в базу из XML. Автор24 — интернет-биржа заказчиков и авторов

Предположим, что данная таблица пуста.

Далее предположим, что существует простой XML-файл person.xml, который содержит следующие данные:

Оператор LOAD XML. Загрузка данных в базу из XML. Автор24 — интернет-биржа заказчиков и авторов

Для импорта данных в person.xml в таблицу person можно воспользоваться следующим оператором:

Оператор LOAD XML. Загрузка данных в базу из XML. Автор24 — интернет-биржа заказчиков и авторов

Считается, что person.xml находится в каталоге данных MySQL.

В ситуации, когда файл не может быть найден, появится следующее сообщение об ошибке:

Оператор LOAD XML. Загрузка данных в базу из XML. Автор24 — интернет-биржа заказчиков и авторов

Пункт ROWS IDENTIFIED BY '' ставит в соответствие каждый элемент в XML-файле строке таблицы, в которую импортируются данные. В данном примере это таблица person в базе данных test.

В результате будут импортированы 6 строк в таблицу test.person. Проверить результат можно с помощью простого оператора SELECT:

Оператор LOAD XML. Загрузка данных в базу из XML. Автор24 — интернет-биржа заказчиков и авторов

Оператор LOAD XML. Загрузка данных в базу из XML. Автор24 — интернет-биржа заказчиков и авторов

«Оператор LOAD XML. Загрузка данных в базу из XML» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти

Данный пример показывает, как говорилось выше, что любые из трех разрешенных форматов XML могут находиться в одном и том же файле и считываться в операторе LOAD XML.

Для выполнения обратных действий, т.е. вывода табличных данных MySQL в XML-файл, можно, используя mysql клиент, выполнить следующие команды:

Оператор LOAD XML. Загрузка данных в базу из XML. Автор24 — интернет-биржа заказчиков и авторов

Опция --xml позволяет mysql клиенту использовать для вывода форматирование XML;

Опция –e заставляет клиент сразу после опции выполнить SQL-оператор.

С помощью пункта ROWS IDENTIFIED BY '' можно импортировать данные из одного XML-файла в таблицу базы данных с разными определениями.

Пример 2

Предположим, что существует файл address.xml, содержащий следующий XML:

Оператор LOAD XML. Загрузка данных в базу из XML. Автор24 — интернет-биржа заказчиков и авторов

Можно снова воспользоваться таблицей test.person, очистить все существующие записи и показать ее структуру:

Оператор LOAD XML. Загрузка данных в базу из XML. Автор24 — интернет-биржа заказчиков и авторов

Далее создадим таблицу address в базе данных test при использовании оператора CREATE TABLE:

Оператор LOAD XML. Загрузка данных в базу из XML. Автор24 — интернет-биржа заказчиков и авторов

Для импорта данных из XML-файла в таблицу person выполним следующий оператор LOAD XML, определяющий строки в виде элементов :

Оператор LOAD XML. Загрузка данных в базу из XML. Автор24 — интернет-биржа заказчиков и авторов

Проверить импорта записей выполняется с помощью оператора SELECT:

Оператор LOAD XML. Загрузка данных в базу из XML. Автор24 — интернет-биржа заказчиков и авторов

У элементов в XML-файле, начиная с , нет никаких соответствующих столбцов в таблице person , поэтому их пропускают.

Для импорта данных из элементов в таблицу address используем оператор LOAD XML, как показано на рисунке:

Оператор LOAD XML. Загрузка данных в базу из XML. Автор24 — интернет-биржа заказчиков и авторов

С помощью оператора SELECT можно проверить, были ли данные импортированы.

Данные из элемента не импортируется. Однако, столбец person_id в таблице address, значение атрибута person_id от родительского элемента для каждого импортируется в таблицу address.

Воспользуйся нейросетью от Автор24
Не понимаешь, как писать работу?
Попробовать ИИ
Дата написания статьи: 06.09.2016
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot