Mysql выгрузка в csv

Mysql выгрузка в csv

В этой статье мы расскажем вам, как использовать оператор LOAD DATA INFILE для импорта CSV-файла в таблицу MySQL.

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

Перед импортом файла, вам необходимо подготовить следующее:

  • Таблицу базы данных, в которую будут импортированы данные из файла;
  • CSV-файл с соответствующим числом столбцов и соответствующим форматом данных в каждом столбце;
  • Учетную запись пользователя, который подключается к серверу базы данных MySQL и имеет привилегии FILE и INSERT .

Предположим, что мы имеем таблицу, которая называется discounts со следующей структурой:


Мы используем оператор CREATE TABLE , чтобы создать таблицу discounts :

Файл discounts.csv в первой строке содержит заголовки столбцов, в трех других строках — данные:


Следующий оператор импортирует данные из файла c:tmpdiscounts.csv в таблицу discounts :

Поля файла завершаются запятой, относящейся к FIELD TERMINATED BY ‘,’ , которая заключена в двойные кавычки, предусмотренные форматом ENCLOSED BY ‘»‘ .

Каждая строка CSV файла завершается символом новой строки, обозначающим TERMINATED BY ‘n’ .

Поскольку первая строка файла содержит заголовки столбцов, которые не должны быть импортированы в таблицу, мы игнорируем ее, указав опцию IGNORE 1 ROWS .

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

Преобразование данных при импорте

Иногда формат данных не соответствует целевым столбцам таблицы. В простых случаях, вы можете преобразовать их с помощью условия SET в операторе LOAD DATA INFILE .

Предположим, что столбец данных срока действия скидок в файле discount_2.csv имеет формат мм / дд / гггг:


При импорте данных в таблицу discounts мы должны преобразовать их в формат даты MySQL с помощью функции str_to_date() :

Читайте также:  Maps me для windows phone

Импорт файла клиента для замещения на сервере базы данных MySQL

Можно импортировать данные от клиента (локального компьютера) на удаленный сервер базы данных MySQL, с помощью оператора LOAD DATA INFILE .

При использовании опции LOCAL в LOAD DATA INFILE клиентская программа считывает файл на стороне клиента и отправляет его на сервер MySQL. Файл будет загружен во временную папку базы данных сервера операционной системы, например, C: Windows Temp для ОС Windows или / TMP для Linux .

Эта папка не настраивается и не задается MySQL.

Давайте рассмотрим следующий пример:

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

Учетная запись пользователя, под которым мы подключается к серверу MySQL для импорта данных, может не иметь привилегию FILE , если используется опция LOCAL .

При импорте файла от клиента на удаленный сервер базы данных с помощью LOAD DATA LOCAL могут возникнуть некоторые проблемы с безопасностью , о которых вы должны знать, чтобы избежать потенциальных рисков.

Импорт CSV файла с помощью MySQL Workbench

MySQL Workbench предоставляет инструмент для импорта данных в таблицу БД. Он позволяет редактировать данные перед внесением изменений.

Ниже приведены этапы импорта данных в таблицу БД:

Откройте таблицу, в которую будут загружаться данные:


Нажмите кнопку Import , выберите CSV файл и нажмите кнопку Open :


Просмотрите данные, нажмите кнопку Apply :



В MySQL Workbench появится диалоговое окно « Apply SQL Script to Database », нажмите кнопку Apply , чтобы добавить данные в таблицу БД.

Мы рассказали вам, как импортировать CSV в таблицу MySQL с помощью LOAD DATA LOCAL , а также с использованием MySQL Workbench .

Читайте также:  C visual studio picturebox

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

Данная публикация представляет собой перевод статьи « Import CSV File Into MySQL Table » , подготовленной дружной командой проекта Интернет-технологии.ру

Выгрузка данных из таблицы MySQL в файл csv

В этой статье речь пойдет о том как с помощю запроса выгрузить данные из таблиц mysql в CSV файл.

Запрос для выгрузки данных из таблицы MySQL в файл csv

name_table — имя таблицы.

name_file — имя файла.

; — разделитель полей (столбцов).

Файл будет создан на локальном сервере где установленна база данных MySQL.

Ну и все, запрос частенько я использовал в своей работе, надеюсь он пригодиться и Вам.

Добавить комментарий

Меня два раза спрашивали [члены Парламента]: «Скажите на милость, мистер Бэббидж, что случится, если вы введёте в машину неверные цифры? Cможем ли мы получить правильный ответ?» Я не могу себе даже представить, какая путаница в голове может привести к подобному вопросу. / Charles Babbage /

Выгрузить данные MySQL в csv файл

Столкнулся с задачей, необходимо выгрузить данные MySQL в csv файл. У меня потребовалось некоторое время для поиска решений. Решил сделать заметку по данной теме «Выгрузить данные MySQL в csv файл «.

Выполняем подключение к mysql, можно выполнить:

Например, мне нужно экспортировать все данные с базы данных user, но для начала, я посмотрю что в этой базе находится:

После чего, я выполняю запрос на экспорт следующей командой:

Теперь более подробно о данной строке:

  • INTO OUTFILE — В этом поле необходимо указать путь и имя файла для выгрузки данных (путь должен быть абсолютным).
  • FIELDS TERMINATED BY — В этом поле необходимо указать как будут разделены поля.
  • ENCLOSED BY — В этом поле необходимо указать разделитель для каждого поля в файле. Он будет обрабатываться указанным символом.
  • TERMINATED BY — В этом поле необходимо указать разделитель для строк.
  • LINES STARTING BY и TERMINATED BY ‘
    ’ разделяет каждую строку значением, которое прописано в LINES STARTING BY и строки заканчиваются разделителем который объявлен в TERMINATED BY.
  • user — это имя мой базы данных с которой я хочу выгрузить данные в CSV.
Читайте также:  Https duckduckgo com html

Можно указать названия для каждого из столбцов, например:

PS: будьте внимательны, может отличаться структура таблиц. Но я взял это в качестве примера.

Ничего сложного, нужно просто пару раз попробовать и понять как оно работает. На этом, у меня все с данной темой «Выгрузить данные MySQL в csv файл «.

Ссылка на основную публикацию
Adblock detector