Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2017, 15:41   #1
gryllus
Пользователь
 
Регистрация: 27.08.2017
Сообщений: 99
По умолчанию LOAD DATE INFILE не корректно...

Все желаю здоровья!

Изучаю MySQL. Создал базу, создал таблицу. Теперь надо загрузить данные, создал текстовый документ .txt и .sql одни и те же данные в этих файлах решил попробовать и то, и другое...
Данные, что с одного файла, что с другого грузятся конечно, но как-то это совсем не как...

Цитата:
mysql> LOAD DATA LOCAL INFILE 'people.sql' INTO TABLE person;
Query OK, 3 rows affected, 3 warnings (0.04 sec)
Records: 3 Deleted: 0 Skipped: 0 Warnings: 3

mysql> SELECT *
-> FROM person;
+-----------+----------------------------------------+----------------------------------+----------------------------+--------------------------------------------+--------------+----------------+---------------+------------+
| person_id | fname | sname | lname | address | state | city | entrance_date | exit_date |
+-----------+----------------------------------------+----------------------------------+----------------------------+--------------------------------------------+--------------+----------------+---------------+------------+
| 100 | ╨Р╨╜╨┤╤А╨╡╨╣ | ╨Ш╨▓╨░╨╜╨╛╨▓ | ╨Р╨╗╨╡╨║╤Б╨░╨╜╨┤╤А╨╛╨▓╨╕╤З | ╨Ш╨▓╨░╨╜╨╛╨▓╤Б╨║╨╛╨╡ ╤И╨╛╤Б╤Б╨╡,╨┤8,╨║╨▓10 | ╨а╨╛╤Б╤Б╨╕╤П | ╨Ш╨▓╨░╨╜╨╛╨▓╨╛ | 1992-03-02 | 2000-06-10 |
| 101 | ╨Ш╨▓╨░╨╜ | ╨Я╨╡╤В╤А╨╛╨▓ | ╨Ш╨▓╨░╨╜╨╛╨▓╨╕╤З | ╤Г╨╗.╨Э╨╕╨║╨╛╨╗╨░╤Б╨░,╨┤5,╨║╨▓ 20 | ╨а╨╛╤Б╤Б╨╕╤П | ╨Р╨║╤Б╤Г╨╜ | 1996-11-11 | 2001-09-23 |
| 102 | ╨б╨╡╤А╨│╨╡╨╣ ╨б╨╡╤А╨│╨╡╨╡╨▓ ╨Т╨╕╨║╤В╨╛ | ╤Г╨╗.╨б╨░╤Д╤А╨╛╨╜╨░,╨┤28,╨║╨▓1 00 | ╨а╨╛╤Б╤Б╨╕╤П | ╨Я╨╡╤А╨╝╤М | 1998-09-22 | 2008-12-10 | 0000-00-00 | 0000-00-00 |
+-----------+----------------------------------------+----------------------------------+----------------------------+--------------------------------------------+--------------+----------------+---------------+------------+
3 rows in set (0.00 sec)
... немного по другому выглядит в консоли, но смысл один))). Одинаково в разрешениях .txt и .sql, и здесь я прописывал через Notepad++, табуляция через TAB.

Далее:

Цитата:
mysql> LOAD DATA LOCAL INFILE 'people.sql' INTO TABLE person;
Query OK, 3 rows affected, 27 warnings (0.07 sec)
Records: 3 Deleted: 0 Skipped: 0 Warnings: 27

mysql> SELECT *
-> FROM person;
+-----------+-------+-------+-------+---------+-------+------+---------------+------------+
| person_id | fname | sname | lname | address | state | city | entrance_date | exit_date |
+-----------+-------+-------+-------+---------+-------+------+---------------+------------+
| 100 | | | NULL | | | | 0000-00-00 | 0000-00-00 |
| 101 | | | NULL | | | | 0000-00-00 | 0000-00-00 |
| 102 | | | NULL | | | | 0000-00-00 | 0000-00-00 |
+-----------+-------+-------+-------+---------+-------+------+---------------+------------+
3 rows in set (0.00 sec)
...здесь табуляция через пробел. Вот структура таблицы в формате "CREATE TABLE":

Код:
| person | CREATE TABLE `person` (
  `person_id` smallint(5) unsigned NOT NULL DEFAULT '0',
  `fname` varchar(20) NOT NULL,
  `sname` varchar(20) NOT NULL,
  `lname` varchar(30) DEFAULT NULL,
  `address` varchar(50) NOT NULL,
  `state` varchar(30) NOT NULL,
  `city` varchar(30) NOT NULL,
  `entrance_date` date NOT NULL,
  `exit_date` date NOT NULL,
  PRIMARY KEY (`person_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
...a вот внутренности текстового документа.

Цитата:
100 Андрей Иванов Александрович Ивановское шоссе,д8,кв10 Россия Иваново 1992-03-02 2000-06-10
101 Иван Петров Иванович ул.Николаса,д5,кв20 Россия Аксун 1996-11-11 2001-09-23
102 Сергей Сергеев Викторович ул.Сафрона,д28,кв100 Россия Пермь 1998-09-22 2008-12-10
...не могу понять в чём Ж, может запятые ставить надо или кавычки?
Помогите пожалуйста господа Знатоки!

С Наилучшими пожеланиями!


"Если президенты не могут делать этого со своими женами, они делают это со своими странами."

Иосиф Бродский

Последний раз редактировалось gryllus; 18.11.2017 в 16:13.
gryllus вне форума Ответить с цитированием
Старый 18.11.2017, 16:14   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Вы бы начали с офф.спавки https://dev.mysql.com/doc/refman/5.7/en/load-data.html
Там и кодировку можно задать, и разделители для полей/строк.
p51x на форуме Ответить с цитированием
Старый 18.11.2017, 16:33   #3
gryllus
Пользователь
 
Регистрация: 27.08.2017
Сообщений: 99
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Там и кодировку можно задать
...UTF-8 кодировка сервера по умолчанию.
Пробежал по вашей ссылке слегка, пока не очень понятно, но обязательно почитаю.
Объясните пожалуйста в двух словах почему так происходит. Что бы знать цель поиска, а то на просторах интернета ничего толкового не нашёл пришлось писать на форум.

Спасибо!
gryllus вне форума Ответить с цитированием
Старый 18.11.2017, 17:23   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

А кодировка файла? А разделители полей? А разделители строк? Пробегитесь по ссылке на слегка.
p51x на форуме Ответить с цитированием
Старый 18.11.2017, 17:53   #5
gryllus
Пользователь
 
Регистрация: 27.08.2017
Сообщений: 99
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
А кодировка файла? А разделители полей? А разделители строк? Пробегитесь по ссылке на слегка.
... постараюсь разобраться))).

Спасибо!
gryllus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
load dds to BitMap Coldater C# (си шарп) 0 24.12.2013 16:23
Load Delphi VinDiz Софт 1 16.01.2013 21:22
load data kilogram SQL, базы данных 7 07.07.2012 12:40
Jquery load в div Delphinchik JavaScript, Ajax 2 17.02.2011 16:27
Запуск Load.dll (бывшая Load.exe) в дереве проц-ов, Как запустить прогой на C# .dll-ку kapustin Общие вопросы .NET 10 23.09.2009 22:20