Spec-Zone.ru › MariaDB

ЗАГРУЗКА XML

Синтаксис

LOAD XML [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
    [REPLACE | IGNORE]
    INTO TABLE [db_name.]tbl_name
    [CHARACTER SET charset_name]
    [ROWS IDENTIFIED BY '<tagname>']
    [IGNORE number {LINES | ROWS}]
    [(column_or_user_var,...)]
    [SET col_name = expr,...]

Описание

Оператор LOAD XML считывает данные из XML-файла в таблицу. file_name должно быть указано как строковая константа. tagname в необязательной фразе ROWS IDENTIFIED BY также должно быть указано как строковая константа и должно быть заключено в угловые скобки (< и >).

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

shell> mariadb --xml -e 'SELECT * FROM mytable' > file.xml

Для повторного чтения файла в таблицу используйте LOAD XML INFILE. По умолчанию элемент <row> рассматривается как эквивалент строки базы данных; это можно изменить с помощью фразы ROWS IDENTIFIED BY.

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

  • Имена столбцов в качестве атрибутов, а значения столбцов в качестве значений атрибутов:
<row column1="value1" column2="value2" .../>
  • Имена столбцов в качестве тегов, а значения столбцов в качестве содержимого этих тегов:
<row>
  <column1>value1</column1>
  <column2>value2</column2>
</row>
  • Имена столбцов — атрибут name тегов <field>, а значения — содержимое этих тегов:
<row>
  <field name='column1'>value1</field>
  <field name='column2'>value2</field>
</row>

Это формат, используемый другими инструментами, такими как mariadb-dump.

Все 3 формата могут быть использованы в одном XML-файле; процедура импорта автоматически определяет формат для каждой строки и правильно его интерпретирует. Теги сопоставляются по имени тега или атрибута и имени столбца.

Следующие фразы работают в основном одинаково для LOAD XML и для LOAD DATA:

  • LOW_PRIORITY или CONCURRENT
  • LOCAL
  • REPLACE или IGNORE
  • CHARACTER SET
  • (column_or_user_var,...)
  • SET

Дополнительную информацию об этих фразах см. в LOAD DATA.

Фраза IGNORE number LINES или IGNORE number ROWS пропускает первые number строк в XML-файле. Она аналогична фразе IGNORE ... LINES оператора LOAD DATA.

Если используется ключевое слово LOW_PRIORITY, вставки откладываются до тех пор, пока ни один другой клиент не будет читать из таблицы. Ключевое слово CONCURRENT позволяет использовать одновременные вставки. Эти фразы нельзя указывать вместе.

Этот оператор активирует триггеры INSERT.

См. также

  • У движка хранилища CONNECT есть тип таблицы XML.
Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержание не проходит предварительной проверки MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/load-xml/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API