Импорт из csv - MySQL
Формулировка задачи:
Нужно импортировать данные из csv в таблицу mysql через PHP. Пробовал с помощью LOAD DATA INFILE, но консоль ругается на отсутствие прав на пользователе(ошибка #1045). Нужно реализовать хотя бы загрузку из корня.
Имеется файл test.csv:
u192ij10;87066467263;1;2018-01-10
u171ij10;87063464263;1;2018-01-15
u112oo10;87066487263;1;2018-01-10
u172ij10;87066467263;1;2018-01-16
И таблица articles(id, gnumber, telephone, author, publicationdate)
Решение задачи: «Импорт из csv»
textual
Листинг программы
mysql> create table articles ( -> id int not null auto_increment, -> gnumber char(12), -> telephone char(15), -> author int not null, -> publicationdate date, -> constraint pk_a_id primary key (id) -> ) engine = myisam default character set = cp1251; Query OK, 0 rows affected (0.00 sec) mysql> load data infile 'c:/t.csv' into table articles -> character set cp1251 -> fields terminated by ';' -> lines terminated by '\n' -> (gnumber, telephone, author, publicationdate); Query OK, 4 rows affected (0.00 sec) Records: 4 Deleted: 0 Skipped: 0 Warnings: 0 mysql> select * from articles; +----+----------+-------------+--------+-----------------+ | id | gnumber | telephone | author | publicationdate | +----+----------+-------------+--------+-----------------+ | 1 | u192ij10 | 87066467263 | 1 | 2018-01-10 | | 2 | u171ij10 | 87063464263 | 1 | 2018-01-15 | | 3 | u112oo10 | 87066487263 | 1 | 2018-01-10 | | 4 | u172ij10 | 87066467263 | 1 | 2018-01-16 | +----+----------+-------------+--------+-----------------+ 4 rows in set (0.00 sec)
Объяснение кода листинга программы
- Создание таблицы
articles
с четырьмя столбцами:id
,gnumber
,telephone
иauthor
. - Установка типа движка таблицы на
myisam
и кодировки символов наcp1251
. - Импорт данных из файла 'c:/t.csv' в таблицу
articles
. Параметры импорта: разделение полей - ';', разделение строк - '\n', кодировка символов -cp1251
. - Выборка всех данных из таблицы
articles
. Вывод всех столбцов:id
,gnumber
,telephone
,author
иpublicationdate
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д