Приведенный выше фрагмент сущности показывает общие инструкции по загрузке данных. Все доступные параметры упомянуты в приведенном выше коде.

Теперь давайте сосредоточимся на простом примере простого чтения файла .csv и вставки его строк в совместимую таблицу.

Простой пример:

LOAD DATA INFILE ‘data.csv’ INTO TABLE db.my_table

Пример с высоты птичьего полета со всеми основными опциями:

Нужно ли говорить, что ваш CSV-файл должен быть правильно отформатирован, чтобы этот оператор работал?.

И вуаля, используя приведенный выше оператор, ваш .csv с более чем 100 тысячами строк будет импортирован в вашу таблицу за считанные секунды.

Теперь несколько важных моментов, на которые следует обратить внимание:

Приведенный выше оператор выполняется на уровне MySql, поэтому исходные файлы копируются с клиента на сервер для их импорта.
Это вызывает некоторые проблемы с безопасностью: нам необходимо убедиться, что соединение клиент-сервер защищено при использовании этого кода.

В MySql 8.0 для возможности использования LOCAL по умолчанию установлено значение False. Поскольку ваш сервер и клиент должны быть настроены на разрешение LOCAL, некоторые из вас могут получить ошибку разрешения.

В случае ошибки разрешения нам необходимо переопределить ее, включив local_infile:

SET GLOBAL local_infile = true;

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

?‍? Заключение

Инструкция MySql LOAD DATA используется для чтения файлов за очень короткое время.
Вы можете использовать этот код с любым серверным API для предоставления исходного файла.
Исходным файлом может быть любой текстовый файл, в этом примере мы использовали расширение .csv.

ЗАГРУЗИТЬ ДАННЫЕ ЛОКАЛЬНО копирует исходный файл на ваш сервер через MySql, поэтому следует принять меры безопасности на стороне сервера.

mysqlimport Утилита использует оператор LOAD DATA внутри себя.

Вы можете игнорировать заголовки в CSV, добавив в оператор IGNORE 1 LINES.

\\\"How

? Ссылка

Официальная документация

","image":"http://www.luping.net/uploads/20241001/172776132566fb8baddd92a.gif","datePublished":"2024-11-08T04:52:05+08:00","dateModified":"2024-11-08T04:52:05+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как массово загрузить данные файла CSV в таблицу MySql? Очень быстрый способ с использованием ЗАГРУЗКИ ДАННЫХ.

Как массово загрузить данные файла CSV в таблицу MySql? Очень быстрый способ с использованием ЗАГРУЗКИ ДАННЫХ.

Опубликовано 8 ноября 2024 г.
Просматривать:920

? Введение

Вы все еще используете циклы for или while для перебора строк и вставки их в базу данных? Вы все еще пишете отдельный код для чтения файла .csv и его загрузки в базу данных MySQL?

Скажите «НЕТ» линейной логике с помощью оператора «LOAD DATA», предоставляемого MySQL. Приготовьтесь изменить свой код, чтобы минимизировать количество строк и значительно повысить производительность.

MySql предоставляет оператор LOAD DATA, который представляет собой очень высокоскоростной способ чтения данных из текстовых файлов и вставки их в таблицу с минимальным использованием кода.

? Что такое оператор LOAD DATA INFILE?

Согласно официальным документам MySQL, оператор LOAD DATA используется для очень быстрого чтения данных из файла, и вы можете вставить эти данные в свою таблицу с помощью одного запроса, вместо того, чтобы обращаться к базе данных несколько раз. с запросом «INSERT INTO».

MySQL также предоставляет оператор -> «SELECT…INTO OUTFILE», который делает прямо противоположное тому, что делает «LOAD DATA», а именно считывает данные из таблицы в файл.

Утилита mysqlimport, предоставляемая MySql, внутренне вызывает оператор LOAD DATA на сервере для импорта данных.

? Как его использовать?

Приведенный выше фрагмент сущности показывает общие инструкции по загрузке данных. Все доступные параметры упомянуты в приведенном выше коде.

Теперь давайте сосредоточимся на простом примере простого чтения файла .csv и вставки его строк в совместимую таблицу.

Простой пример:

LOAD DATA INFILE ‘data.csv’ INTO TABLE db.my_table

Пример с высоты птичьего полета со всеми основными опциями:

Нужно ли говорить, что ваш CSV-файл должен быть правильно отформатирован, чтобы этот оператор работал?.

И вуаля, используя приведенный выше оператор, ваш .csv с более чем 100 тысячами строк будет импортирован в вашу таблицу за считанные секунды.

Теперь несколько важных моментов, на которые следует обратить внимание:

Приведенный выше оператор выполняется на уровне MySql, поэтому исходные файлы копируются с клиента на сервер для их импорта.
Это вызывает некоторые проблемы с безопасностью: нам необходимо убедиться, что соединение клиент-сервер защищено при использовании этого кода.

В MySql 8.0 для возможности использования LOCAL по умолчанию установлено значение False. Поскольку ваш сервер и клиент должны быть настроены на разрешение LOCAL, некоторые из вас могут получить ошибку разрешения.

В случае ошибки разрешения нам необходимо переопределить ее, включив local_infile:

SET GLOBAL local_infile = true;

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

?‍? Заключение

Инструкция MySql LOAD DATA используется для чтения файлов за очень короткое время.
Вы можете использовать этот код с любым серверным API для предоставления исходного файла.
Исходным файлом может быть любой текстовый файл, в этом примере мы использовали расширение .csv.

ЗАГРУЗИТЬ ДАННЫЕ ЛОКАЛЬНО копирует исходный файл на ваш сервер через MySql, поэтому следует принять меры безопасности на стороне сервера.

mysqlimport Утилита использует оператор LOAD DATA внутри себя.

Вы можете игнорировать заголовки в CSV, добавив в оператор IGNORE 1 LINES.

How to Bulk Upload CSV file data into MySql Table? A very fast way using LOAD DATA.

? Ссылка

Официальная документация

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/elpidaguy/how-to-bulk-upload-csv-file-data-into-mysql-table-a-very-fast-way-using-load-data- c44? 1Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить их.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3