MySQL / 10. Импорт и экспорт данных

Предположим, у вас есть файл в формате CSV с именем somedata.csv, содеращий 12 столбцов значений, разделенных запятыми. Вы хотите извлечь данные из столбцов 2, 11, 5, 9 и сохранить их в таблице MySQL, включающей столбцы name, birth, height и weight (имя, дата рождения, рост, вес). При этом необходимо убедиться в том, что рост и вес представлены целыми положительными числами и преобразовать дату из формата MM/DD/YY в формат CCYY-MM-DD. Как это можно сделать? С одной стороны, задача достаточно специфичная. Но с другой – она вполне типична, так как вопросы переноса данных с различными условиями часто возникают при загрузке информации в MySQL. Было бы очень хорошо, если бы файлы с данными всегда были аккуратно отформатированы и подготовлены к загрузке в MySQL, но, как правило, это не так. В результате часто приходится предварительно обрабатывать информацию, чтобы привести ее к виду, приемлемому для MySQL. Обратное тоже верно: данные, выгруженые из MySQL, могут нуждаться в обработке перед использованием в других программах.
Статьи раздела '10. Импорт и экспорт данных':
Диагностическая утилита для LOAD DATA
Задача LOAD DATA или mysqlimport при загрузке файла данных в MySQL выводит ненулевой счетчик предупреждений, но вы не представляете, какие строки или столбцы вызвали проблемы. Решение Запустите для файла утилиту, которая опре...
Извлечение и перестановка столбцов файлов данных
Задача Вы хотите извлечь столбцы из файла данных или расположить их в другом порядке. Решение Используйте утилиту, которая по требованию может выводить столбцы файла. Обсуждение Сценарий cvt_file.pl служит инструментом пр...
Импорт XML в MySQL
Задача Вы хотите импортировать XML-документ в таблицу MySQL. Решение Настройте программу синтаксического анализа XML для чтения документа. Затем используйте записи документа для формирования и выполнения предложений INSERT. ...
Импорт с помощью LOAD DATA и утилиты mysqlimport
Задача Вы хотите загрузить данные из файла в таблицу, используя встроенные средства импорта MySQL. Решение Используйте предложение LOAD DATA или утилиту командной строки mysqlimport. Обсуждение Предложение LOAD DATA испол...
Импорт файлов в формате CSV
Задача Вам надо загрузить файл, имеющий формат CSV. Решение Просто укажите соответствующие спецификаторы формата в предложении LOAD DATA. Обсуждение Файлы в формате CSV содержат значения, разделенные запятыми вместо табул...
Использование временных таблиц для преобразования дат
Задача Вы хотите выполнить предварительную обработку входных данных для MySQL, но у вас нет доступа к соответствующим внешним утилитам. Решение Загрузите данные во временную таблицу, переформатируйте ее, используя предложения...
Использование дат с недостающими частями
Задача Даты в вашем файле данных являются неполными, то есть в них отсутствуют какие-то составляющие. Решение MySQL может представить их в формате ISO, используя для недостающих составляющих нули. Обсуждение Некоторые при...
Использование кавычек и специальных символов
Задача Ваш файл данных содержит значения, заключенные в кавычки, или экранированные символы. Решение В предложении LOAD DATA укажите, что определенные символы не должны загружаться в базу данных необработанными. Обсуждение...
Копирование таблиц и баз данных на другой сервер
Задача Вы хотите скопировать таблицы или базы данных с одного сервера MySQL на другой. Решение Используйте вместе mysqldump и mysql, соединив их каналом (pipe). Обсуждение Вывод mysqldump в формате SQL можно использовать ...
Не преувеличивайте возможности LOAD DATA
Задача Вам кажется, что LOAD DATA умнее, чем есть на самом деле. Решение Не думайте, что LOAD DATA знает все о формате вашего файла данных. И удостоверьтесь в том, что сами знаете, каков этот формат. Если файл передавал-ся с ...
Обмен данными между MySQL и FileMaker Pro
Задача Вы хотите осуществлять обмен информацией между MySQL и FileMaker Pro. Решение В Windows вы можете установить из FileMaker Pro ODBC-соединение с сервером MySQL. Можно и экспортировать таблицы из MySQL в файлы, а затем и...
Обмен данными между MySQL и Microsoft Access
Задача Вы хотите осуществлять обмен информацией между MySQL и Access. Решение Чтобы использовать информацию, хранящуюся в MySQL, установите соединение с сервером MySQL непосредственно из Access. Чтобы передать данные из Acces...
Обмен данными между MySQL и Microsoft Excel
Задача Вы хотите осуществлять обмен информацией между MySQL и Excel. Решение Используйте такие утилиты, как DBTools и MySQLFront. Или примените модули Perl, которые читают и записывают файлы электронных таблиц Excel, для созд...
Обработка дубликатов индексированных записей
Задача Записи в ваших входных данных дублируют значения уникальных ключей уже существующих записей таблицы. Решение В предложении LOAD DATA укажите, будут ли новые записи игнорироваться или замещать старые. Обсуждение По ...
Образцы для адресов электронной почты и URL
Задача Вы хотите определить, содержится ли в значении адрес электронной почты или URL. Решение Используйте образец необходимого уровня строгости. Обсуждение В предыдущих разделах образцы использовались для идентификации т...
Образцы для дат и времени
Задача Вы хотите убедиться в том, что строка представляет собой дату или время. Решение Используйте образец для значения времени интересующего вас типа. Не забудьте о проверке таких деталей, как разделители элементов и длины ...
Определение местоположения файла данных
Задача Вы не уверены в том, как указать в предложении LOAD DATA местоположение файла данных, особенно если он находится в другом каталоге. Решение Надо запомнить правила, которыми MySQL руководствуется при поиске файлов. О...
Определение порядка ввода столбцов
Задача Столбцы файла расположены не в том же порядке, что столбцы таблицы, в которую вы его загружаете. Решение Укажите предложению LOAD DATA, как совместить столбцы файла и таблицы, определив их взаимное соответствие. Обс...
Определение структуры таблицы для файла данных
Задача Вам дают файл с данными и говорят: «Вот файл, перенеси его в MySQL». Таблицы для хранения данных еще нет. Решение Напишите самостоятельно предложение CREATE TABLE. Или используйте утилиту, которая определяет структуру ...
Преобразование дат при помощи SQL
Задача Вы хотите преобразовать даты, используя предложения SQL. Решение При экспорте используйте функцию DATE_FORMAT() для преобразования значений. При импорте считайте значения в строковый столбец и преобразуйте в настоящие ...

Страницы: 1 2