Как импортировать csv в mysql
Как импортировать CSV файл в таблицу MySQL
В таблице нет ограничений, и все поля содержат значения VARCHAR (256), за исключением столбцов, которые содержат count (представлены INT), yes/no (представлены BIT), цены (представленные DECIMAL) и текстовые объявления (представлены текстом).
Я попытался загрузить данные в файл:
Я думаю, проблема в том, что текстовые объявления содержат более одной строки, а MySQL анализирует файл так, как если бы каждая новая строка соответствовала одной строке базы данных. Я могу загрузить файл в OpenOffice без проблем.
Файл clientdata.csv содержит 2593 строки и 570 записей. Первая строка содержит имена столбцов. Я думаю, что он разделен запятыми, и текст, по-видимому, ограничен с помощью doublequote.
Но все еще есть много полностью NULL записей, и ни одна из данных, которые загружены, кажется, находится в нужном месте.
ОТВЕТЫ
Ответ 1
Ядро вашей проблемы похоже на сопоставление столбцов в CSV файле с таковыми в таблице.
Многие графические клиенты mySQL имеют очень приятные диалоговые окна импорта для такого рода вещей.
Моим любимым для работы является Windows HeidiSQL. Он предоставляет графический интерфейс для создания команды LOAD DATA ; вы можете повторно использовать его программно позже.
Чтобы открыть диалоговое окно «Импорт текстового файла», перейдите к Tools > Import CSV file :
Ответ 2
Используйте mysqlimport для загрузки таблицы в базу данных:
Ответ 3
Самый простой способ, которым я импортировал более 200 строк, ниже команды в окне phpmyadmin sql
У меня есть простая таблица страны с двумя столбцами CountryId, CountryName
Помните одно, никогда не появляющееся во втором столбце, иначе ваш импорт остановится
Ответ 4
Я знаю, что вопрос старый, но я хотел бы поделиться этим
Я использовал этот метод для импорта более 100 КБ записей (
5 МБ) за 0,046 с
Вот как ты это делаешь:
Очень важно включить последнюю строку, если у вас более одного поля, т.е. обычно оно пропускает последнее поле (MySQL 5.6.17)
Затем, если у вас есть первая строка в качестве заголовка для ваших полей, вы можете включить эту строку также
Вот как это выглядит, если в вашем файле есть строка заголовка.
Ответ 5
phpMyAdmin может обрабатывать импорт CSV. Вот шаги:
Подготовьте CSV файл, чтобы поля были в том же порядке, что и поля таблицы MySQL.
Удалите строку заголовка из CSV (если есть), чтобы в файле были только данные.
Перейдите в интерфейс phpMyAdmin.
Выберите таблицу в левом меню.
Нажмите кнопку импорта вверху.
Перейдите в файл CSV.
Выберите параметр «CSV, используя LOAD DATA».
Введите «,» в «поля, завершенные».
Введите имена столбцов в том же порядке, что и в таблице базы данных.
Нажмите кнопку «Пуск», и все будет готово.
Это примечание, которое я подготовил для своего будущего использования и поделился здесь, если кому-то может помочь.
Ответ 6
В следующий раз, когда вам нужно сделать что-то подобное, попробуйте использовать sqlizer.io. Это простой онлайн-инструмент, в который вы можете загрузить свой CSV файл. Он будет генерировать команду CREATE TABLE со всеми правильными типами и серией операторов INSERT, которые соответствуют созданной таблице.
Вам просто нужно изменить тип файла из таблицы Excel в CSV файл:
Ответ 7
Вы можете исправить это, указав столбцы в инструкции LOAD DATA. Из руководства :
. поэтому в вашем случае вам нужно указать 99 столбцов в том порядке, в котором они отображаются в файле csv.
Ответ 8
Командная строка mysql подвержена слишком большому количеству проблем при импорте. Вот как вы это делаете:
Ответ 9
Попробуй, это сработало для меня
IGNORE 1 ROWS здесь игнорирует первую строку, которая содержит имена полей. Обратите внимание, что для имени файла вы должны ввести абсолютный путь к файлу.
Ответ 10
Если вы используете MySQL Workbench (в настоящее время версия 6.3), вы можете сделать это:
Ответ 11
Я вижу что-то странное. Вы используете для ESCAPING тот же символ, который вы используете для ENCLOSING. Таким образом, движок не знает, что делать, когда он находит «», и я думаю, что именно поэтому, кажется, ничто не находится в нужном месте. Я думаю, что если вы удалите строку ESCAPING, он должен работать отлично.
Если вы не проанализируете (вручную, визуально. ) свой CSV и не найдете, какой персонаж использует для побега. Иногда это «\». Но если у вас его нет, не используйте его.
Ответ 12
Вы также можете попробовать этот онлайн-инструмент для создания SQL create/insert операторов на основе CSV. http://www.convertcsvtomysql.com/
Что мне нравится в этом инструменте:
Ответ 13
Чтобы установить пакет
Ответ 14
Если вы используете Windows-машину с загруженной электронной таблицей Excel, новый плагин mySql в Excel является феноменальным. Люди в Oracle действительно хорошо справились с этим программным обеспечением. Вы можете напрямую подключиться к базе данных из Excel. Этот плагин будет анализировать ваши данные и настраивать таблицы для вас в формате, совместимом с данными. У меня были некоторые файлы csv больших монстров данных для преобразования. Этот инструмент был большой экономии времени.
Вы можете делать обновления из Excel, которые будут заполняться в базе данных онлайн. Это очень хорошо работало с файлами mySql, созданными на ультра дешевом хостинге GoDaddy. (Обратите внимание, что когда вы создаете таблицу в GoDaddy, вам нужно выбрать некоторые нестандартные настройки, чтобы отключить доступ к базе данных в базе данных. )
С помощью этого плагина у вас есть чистая интерактивность между вашей электронной таблицей XL и онлайн-хранилищем данных mySql.
Ответ 15
PHP-запрос для импорта csv файла в базу данных mysql
** Примеры данных файла CSV **
Ответ 16
Вот пример снимка экрана excel:
И вы получите, как показано ниже. CSV-экран данных, если вы открываете его с помощью блокнота ++ или любого другого блокнота.
ЛОКАЛЬНАЯ ИНФОРМАЦИЯ ЗАГРУЗИТЬ ДАННЫЕ
‘D:/folder_name/myfilename.csv’ INTO TABLE mail ПОЛЯ, ПРЕРЫВШИЕСЯ ‘,’ (имя, имя, адрес электронной почты, телефон)
Если большие данные, вы можете взять кофе и загрузить его.
Это все, что вам нужно.
Ответ 17
Измените имя сервера, имя пользователя, пароль, имя db, путь к вашему файлу, имя_таблицы и поле, которое находится в вашей базе данных, которую вы хотите вставить
Ответ 18
Я использую MySQL верстак, чтобы сделать ту же работу.
Ответ 19
Ответ 20
Как импортировать CSV файлы в таблицы SQL
Файл примера: CSV файл данных Overseas_trade_index
Необходимо создать столбцы, связанные с CSV файла.
Необходимо подключить базу данных MySQL в терминале.
Пожалуйста, введите эту команду, чтобы импортировать данные CSV в таблицы MySQL.
Найти эти данные по внешнему торговому индексу в базе данных sqld:
Ответ 21
Используйте Embulk
Мастер импорта неструктурированных файлов в SQL
Мастер импорта неструктурированных файлов позволяет легко скопировать данные из неструктурированного файла (CSV-файл, TXT-файл) в новую таблицу в вашей базе данных. Мастер импорта неструктурированных файлов поддерживает файлы форматирования с разделителями-запятыми и с фиксированной шириной. В этом обзоре описано, почему нужно использовать этот мастер, как его найти, а также приведен простой пример.
Почему нужно использовать этот мастер?
Этот мастер создан на основе интеллектуальной платформы Program Synthesis using Examples (PROSE) и позволяет улучшить текущий процесс импорта. Для пользователей, которые не обладают глубокими знаниями в предметной области, импорт данных часто представляет собой трудную и утомительную задачу, чреватую ошибками. При использовании мастера достаточно указать входной файл и уникальное имя таблицы, и платформа PROSE сделает все остальное.
PROSE анализирует шаблоны данных во входном файле и определяет имена столбцов, типы, разделители и т. д. Платформа запоминает структуру файла и выполняет все действия по обработке данных.
Подробные сведения о том, как улучшен пользовательский интерфейс мастера импорта неструктурированных файлов, см. в этом видео.
Предварительные требования
Эта функция доступна в SQL Server Management Studio (SSMS) 17.3 и более поздних версий. Убедитесь, что вы используете последнюю версию. Ее можно найти здесь.
Приступая к работе
Чтобы открыть мастер импорта неструктурированных файлов, выполните следующие действия.
Дополнительные сведения о различных функциях мастера см. в следующем руководстве:
Учебник
При выполнении действий, описанных в этом учебнике, вы можете использовать свой собственный неструктурированный файл. Если у вас нет собственного файла, можете скопировать следующий CSV-файл из Excel. Назовите этот файл example.csv и сохраните его в формате CSV в удобном месте, например на рабочем столе.
Шаг 1. Открытие мастера и страница «Приступая к работе»
Откройте мастер, как описано здесь.
Первая страница мастера — это страница приветствия. Если вы не хотите, чтобы она открывалась снова, установите флажок Больше не показывать это окно.
Шаг 2. Указание входного файла
Нажмите кнопку «Обзор», чтобы выбрать входной файл. По умолчанию мастер ищет файлы в форматах CSV и TXT. PROSE определит, является ли это файлом с разделителями-запятыми или с фиксированной шириной, независимо от расширения файла.
Имя новой таблицы должно быть уникальным. В противном случае вы не сможете продолжить работу мастера.
Шаг 3. Просмотр данных
Мастер открывает окно предварительного просмотра для первых 50 строк данных. Если в данных есть ошибки, нажмите кнопку «Отмена». В противном случае перейдите к следующей странице.
Шаг 4. Изменение столбцов
Мастер определяет имена столбцов, типы данных и т. д. Здесь можно изменить поля, если они определены неверно (например, указать тип данных с плавающей точкой вместо целочисленного типа).
Столбцы, в которых обнаруживаются пустые значения, будут иметь флажок «Разрешить значения NULL». Однако если в столбце предполагается наличие значений NULL, а флажок «Разрешить значения NULL» не установлен, здесь можно обновить определение таблицы, чтобы разрешить значения NULL в одном или во всех столбцах.
Когда все будет готово, нажмите кнопку «Далее».
Шаг 5. Сводка
Это страница сводки, на которой отображается текущая конфигурация. Если возникли проблемы, можно вернуться к предыдущим страницам мастера. В противном случае нажмите кнопку «Готово», чтобы начать импорт.
Шаг 6. Результаты
На этой странице показан результат импорта. Если на ней есть зеленая галочка, импорт завершен успешно. В противном случае проверьте конфигурацию и входной файл на наличие ошибок.
Устранение неполадок
Мастер импорта неструктурированных файлов определяет типы данных на основе первых 200 строк. В сценариях, где данные, расположенные в неструктурированном файле, не соответствуют автоматически обнаруженным типам данных, во время импорта возникнет ошибка. Сообщение об ошибке будет выглядеть следующим образом:
Тактики устранения этой ошибки:
Дополнительные сведения
Дополнительные сведения о мастере.
Importing a csv into mysql via command line
4gb) into mysql. I was considering using phpmyadmin, but then you have a max upload size of 2mb. Someone told me that I have to use the command line.
9 Answers 9
The fields here are the actual table fields that the data needs to sit in. The enclosed by and lines terminated by are optional and can help if you have columns enclosed with double-quotes such as Excel exports, etc.
For further details check the manual.
For setting the first row as the table column names, just ignore the row from being read and add the values in the command.
That is, if your file is comma separated and is not semi-colon separated. Else you might need to sed through it too.
You can simply import by
Note: Csv File name and Table name should be same
For importing csv with a header row using mysqlimport, just add
(ignores the first N lines of the data file)
This option is described in the page you’ve linked.
You can put it in the following way:
LOAD DATA LOCAL INFILE ‘C:/Users/userName/Downloads/tableName.csv’ INTO TABLE tableName FIELDS TERMINATED BY ‘,’ LINES TERMINATED BY ‘\n’;
Another option is to use the csvsql command from the csvkit library.
Example usage directly on command line:
This can be executed directly on the command line, or built into a python or shell script for automation if you need to do this for a number of files.
csvsql allows you to create database tables on the fly based on the structure of your csv, so it is a lite-code way of getting the first row of your csv to automagically be cast as the MySQL table header.
I know this says command line, but just a tidbit of something quick to try that might work, if you’ve got MySQL workbench and the csv isn’t too large, you can simply
I say hope for the best because this is MySQL Workbench. You never know when it’s going to explode
If you want to do this on a remote server, you would do
Как импортировать файл Excel в базу данных MySQL в PHPMyAdmin
Импорт Excel в MySQL phpMyAdmin
Иногда бывает проще работать с некоторыми данными в Excel, прежде чем импортировать их в базу данных MySQL.
Для этого сделайте несколько простых шагов.
Короче: экспортируйте файл Excel в CSV и импортируйте CSV в новую таблицу с помощью PHPMyAdmininterface.
Начиная с Excel, в примере ниже один лист, содержащий некоторые данные:
Выберите «Сохранить как», чтобы выбрать другой формат.
Как импортировать Excel в PHPMyAdmin
В PHPMyAdmin перейдите в меню «Импорт».
Найдите файл CSV, который был недавно сохранен, и выберите соответствующий формат:
Посмотрите на другие параметры, которые могут применяться, например, если столбцы имеют имена, проверьте соответствующий параметр «Первая строка файла содержит имена столбцов таблицы» и нажмите «Перейти»
Должно появиться подтверждение импорта, и будут показаны ссылки на полученную базу данных и таблицу.
Теперь можно просмотреть таблицу!
Используя различные параметры, можно также работать со структурой таблицы, ее содержимым или перемещать ее в другую базу данных:
PHPMyAdmin импортировать CSV в MySQL
В PHPMyAdmin импортировать CSV-файл в MySQL довольно просто.
После того, как данные подготовлены в CSV, следуйте структуре таблицы, откройте таблицу в PHPMyAdmin, перейдите на вкладку import, найдите файл CSV для импорта на ваш компьютер, убедитесь, что формат CSV был выбран в параметре формата файла. и импортируйте файл CSV в MySQL в PHPMyAdmin.
Как импортировать Excel в MySQL PHP MyAdmin
Чтобы импортировать Excel в MySQL PHP MyAdmin, экспортируйте файл Excel в файл CSV. Затем импортируйте его в PHP MyAdmin, используя опцию файла данных CSV.
При импорте файла в MySQL из Excel прокрутите вниз до параметров «Формат» и выберите файл CSV. Это позволит преобразовать Excel в MySQL в PHP MyAdmin без необходимости что-либо программировать и просто с помощью графического интерфейса пользователя.
Создание базы данных в DirectAdmin
Если на вашем веб-сервере еще нет базы данных, независимо от используемого программного обеспечения для управления сервером, такого как cPanel или DirectAdmin, вам сначала необходимо создать базу данных, прежде чем вы сможете импортировать в нее какие-либо данные.
Закончите Excel 2019 для начинающих в видео
Импорт CSV в таблицу MySQL
Каков наилучший / самый быстрый способ загрузить CSV-файл в таблицу MySQL? Я хотел бы, чтобы первая строка данных использовалась в качестве имен столбцов.
Но единственным ответом было использование графического интерфейса, а не оболочки?
12 ответов
Вместо того чтобы писать скрипт для извлечения информации из CSV-файла, вы можете связать MYSQL непосредственно с ним и загрузить информацию, используя следующий синтаксис SQL.
Чтобы импортировать файл Excel в MySQL, сначала экспортируйте его как файл CSV. Удалите заголовки CSV из созданного файла CSV вместе с пустыми данными, которые Excel, возможно, поместил в конец файла CSV.
Затем вы можете импортировать его в таблицу MySQL, выполнив:
РЕДАКТИРОВАТЬ
Для вашего случая вам сначала нужно написать интерпретатор, чтобы найти первую строку и назначить их в качестве имен столбцов.
РЕДАКТИРОВАТЬ-2
Из документов MySQL о LOAD DATA синтаксис:
IGNORE number LINES опция может использоваться, чтобы игнорировать строки в начале файла. Например, вы можете использовать IGNORE 1 LINES чтобы пропустить начальную строку заголовка, содержащую имена столбцов:
Поэтому вы можете использовать следующее утверждение:
Вот простой скрипт командной строки PHP, который будет делать то, что вам нужно:
Он создаст таблицу на основе первой строки и импортирует в нее оставшиеся строки. Вот синтаксис командной строки:
Если у вас есть возможность установить phpadmin, есть раздел импорта, в который вы можете импортировать csv-файлы в вашу базу данных, есть даже флажок для установки заголовка, чтобы первая строка файла содержала имена столбцов таблицы (если этот флажок не установлен, первая строка станет частью данных
Сначала создайте таблицу в базе данных с тем же количеством столбцов, которые есть в файле CSV.
Тогда используйте следующий запрос
Чтобы загрузить данные из текстового или CSV-файла, команда
В приведенной выше команде, в моем случае, загружается только один столбец, поэтому нет «завершено» и «заключено в», поэтому я оставил это поле пустым, иначе программист может ввести разделительный символ. например,,(запятая) или «или; или любая вещь.
** для людей, которые используют MySQL версии 5 и выше **
Перед загрузкой файла в MySQL необходимо убедиться, что ниже линии буксировки добавлены в сторону etc/mysql/my.cnf
редактировать команду my.cnf
sudo vi /etc/mysql/my.cnf
Я боролся с этим в течение некоторого времени. Проблема заключается не в том, как загрузить данные, а в том, как построить таблицу для их хранения. Вы должны сгенерировать оператор DDL для построения таблицы перед импортом данных.
Особенно сложно, если в таблице большое количество столбцов.
Вот скрипт Python, который (почти) выполняет свою работу:
Проблема, которую он оставляет для решения, заключается в том, что окончательное имя поля и объявление типа данных заканчиваются запятой, и синтаксический анализатор mySQL не допустит этого.
Конечно, проблема в том, что он использует тип данных TEXT для каждого поля. Если в таблице несколько сотен столбцов, то VARCHAR(64) сделает таблицу слишком большой.
Это также, кажется, ломается при максимальном количестве столбцов для MySQL. Вот когда пришло время перейти к Hive или HBase, если вы можете.
Я написал некоторый код, чтобы сделать это, я вставлю несколько фрагментов:
Затем получите заголовки CSV, чтобы вы могли указать mysql, как импортировать (примечание: убедитесь, что ваши столбцы mysql точно соответствуют столбцам csv):
Затем отправьте ваш запрос на сервер MySQL:
Вот как я это сделал в Python, используя csv и MySQL Connector:
Импортируйте файлы CSV в таблицу MySQL
Используйте приложение TablePlus: щелкните правой кнопкой мыши имя таблицы на правой панели. Выберите «Импорт. «> «Из CSV». Выберите файл CSV. Проверьте соответствие столбцов и нажмите «Импортировать все»!
Как уже упоминалось, загрузка локального файла данных работает просто отлично. Я попробовал скрипт php, который разместил Hawkee, но у меня не получилось. Вместо того, чтобы отлаживать это, вот что я сделал:
1) Скопируйте / вставьте строку заголовка файла CSV в текстовый файл и отредактируйте его с помощью emacs. добавьте запятую и CR между каждым полем, чтобы включить каждое в свою строку.
2) Сохраните этот файл как FieldList.txt
3) отредактируйте файл, включив в него defns для каждого поля (большинство из них были varchar, но довольно многие были int(x). Добавьте имя таблицы создания таблицы (в начало файла и) в конец файла. Сохраните его как CreateTable.sql
4) запустить клиент mysql с вводом из файла Createtable.sql для создания таблицы
5) Запустите клиент MySQL, скопируйте / вставьте большую часть команды «LOAD DATA INFILE», заменяя мои имя таблицы и имя файла CSV. Вставьте в файл FieldList.txt. Не забудьте включить «IGNORE 1 LINES» перед вставкой в список полей
Похоже, много работы, но легко с Emacs.
У меня есть поиск Google много способов импортировать CSV в MySQL, в том числе «загрузить данные Infile», использовать MySQL Workbench и т. Д.
когда я использую кнопку импорта mysql workbench, сначала нужно создать пустую таблицу самостоятельно, установить каждый тип столбца самостоятельно. Примечание: вы должны добавить столбец идентификатора в конце как первичный ключ, а не null и auto_increment, иначе кнопка импорта не будет видна позже. Однако, когда я начинаю загружать CSV-файл, ничего не загружается, похоже на ошибку. Я сдаюсь.
Это то, что вы собираетесь сделать: открыть CSV-файл в Excel, на вкладке данных, найти кнопку MySQL для Excel
выберите все данные, нажмите кнопку экспорта в MySQL. Обратите внимание, чтобы установить столбец идентификатора в качестве первичного ключа.
когда закончите, перейдите в MySQL инструмент, чтобы изменить таблицу, например, тип валюты должен быть десятичным (19,4) для большого количества десятичных (10,2) для регулярного использования. другой тип поля может быть установлен на varchar(255).