|
|
|
| Добрый день!
Можно ли средствами mysql перенести в базу данных из программы excel? | |
|
|
|
|
|
|
|
для: Василий
(02.02.2012 в 16:31)
| | Excel позволяет сохранять данные в CSV-формате (причем в нескольких, с разделителями в виде табуляции и в виде точки с запятой), MySQL может загружать такие файлы при помощи оператора LOAD DATA INFILE (а то и вовсе использовать файл в качестве файла данных таблицы). | |
|
|
|
|
|
|
|
для: cheops
(02.02.2012 в 16:38)
| |
CREATE TABLE IF NOT EXISTS `school` (
`id_school` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`full_name` text NOT NULL,
`short_name` text NOT NULL,
`welcome_name` text NOT NULL,
`id_town` int(11) NOT NULL,
`id_district` int(11) NOT NULL,
`id_region` int(11) NOT NULL,
`id_state` int(11) NOT NULL,
`address` varchar(255) NOT NULL,
`tel` varchar(255) NOT NULL,
`fax` varchar(255) NOT NULL,
`accreditation` varchar(255) NOT NULL,
`licence` varchar(255) NOT NULL,
`organ` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`email_second` varchar(255) NOT NULL,
`site` varchar(255) NOT NULL,
`director` varchar(255) NOT NULL,
`text` text NOT NULL,
`ling` text NOT NULL,
`logo` varchar(255) NOT NULL,
`advertisment` int(1) NOT NULL DEFAULT '0',
`coords` varchar(50) NOT NULL,
PRIMARY KEY (`id_school`),
KEY `id_town` (`id_town`),
KEY `id_region` (`id_region`),
KEY `id_state` (`id_state`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=692 ;
|
Как теперь
В excel колонка В - надо записать в `full_name` text NOT NULL,
Н - `tel` varchar(255) NOT NULL,
I - `email` varchar(255) NOT NULL, | |
|
|
|
|
|
|
|
для: Василий
(02.02.2012 в 16:51)
| | Вы для начала CSV-файл создайте - это обычный текстовый файл, его структуру можно будет посмотреть и даже поправить, вплоть до добавления дополнительных полей. | |
|
|
|
|
|
|
|
для: cheops
(02.02.2012 в 16:53)
| | вот создал. имею следующие подобные строки:
Бобровский муниципальный района;Муниципальное общеобразовательное учреждение Бобровская средняя общеобразовательная школа № 1;397703;Бобровский муниципальный района;
г. Бобров;Ул. Зои Космодемьянской, 150;Белькова Татьяна Васильевна;4-13-12, 4-19-65;
Fil_s_v@rambler.ru ;900
|
подскажите, пожалуйста, что дальше делать | |
|
|
|
|
|
|
|
для: Василий
(02.02.2012 в 17:14)
| | Теперь нужно так отредактировать файл, чтобы количество полей в нем совпадало с количеством полей в таблице и выполнить запрос
LOAD DATA INFILE 'C:\\mysql5\\bin\\file.csv'
REPLACE INTO TABLE catalogs
FIELDS TERMINATED BY ';' ENCLOSED BY ''
LINES TERMINATED BY '\r\n';
| C:\\mysql5\\bin\\file.csv - путь к вашему файлу.
PS Лучше, конечно, сначала по-эксперементировать на табличке попроще с меньшим количеством полей. | |
|
|
|
|
|
|
|
для: cheops
(02.02.2012 в 17:39)
| | пробую
не записывается
#1045 - Access denied for user 'assn'@'localhost' (using password: YES)
LOAD DATA INFILE 'D:\\proba.csv' REPLACE INTO TABLE proba
FIELDS TERMINATED BY ';'
ENCLOSED BY ''
LINES TERMINATED BY '\r\n';
|
Вы писали:
Теперь нужно так отредактировать файл, чтобы количество полей в нем совпадало с количеством полей в таблице и выполнить запрос
Аннинский муниципальный район;Муниципальное общеобразовательное учреждение
Верхнетойденская средняя общеобразовательная школа;396210;Аннинский муниципальный район;
С. Верхняя Тойда;Ленина, 19-а;Петрова Галина Митрофановна;(47346) 4-46-33;v-toida@mail.ru ;96
|
правильно ли я понимаю что теперь, к примерк поле director должен по очередности соответстовать полю "Петрова Галина Митрофановна"? | |
|
|
|
|
|
|
|
для: Василий
(02.02.2012 в 22:50)
| | У вас прав доступа нет у пользователя assn чтобы выполнять такие операции. | |
|
|
|
|
|
|
|
для: cheops
(03.02.2012 в 01:41)
| | ну как же нет?
все исправно работало. | |
|
|
|
|
|
|
|
для: Василий
(03.02.2012 в 02:05)
| | >Access denied for user 'assn'@'localhost'
Эта фраза расшифровывается однозначно, для пользователя assn на локальной машине нет прав доступа для выполнения этой операции. Этот пользователь как появился? Нельзя временно переключиться на root или выставить этому побольше прав? | |
|
|
|
|
|
|
|
для: cheops
(03.02.2012 в 13:15)
| | Этот пользователь был всегда.
записи в базу данных записывались и проблем до этого не было | |
|
|
|
|
|
|
|
для: василий
(03.02.2012 в 18:26)
| | >Этот пользователь был всегда.
Хм... ну всегда это слишком сильное утверждение в отношении компьютеров, ведь были времена когда не было на вашей машине MySQL, да и самого компьютера, когда-то все это появилось и было установлено. Устанавливали сами? Если да, то не помните, все-таки подробностей как дело происходило? | |
|
|
|
|
|
|
|
для: cheops
(03.02.2012 в 18:28)
| | ну почему не помню. было два года. установил пользователя в phpmyadmin - установил все "галочки"
да что там галочки - только вчера внес новую статью на сайт | |
|
|
|
|
|
|
|
для: Василий
(03.02.2012 в 18:32)
| | Погодите это дело где происходит локально или на сервере? Если на сервере, то все нормально, такие права доступа на хостингах, как правило, не предоставляют - нужно идти другим путем, формировать из CSV-файла SQL-дамп, который бы вы могли закинуть на сервер. | |
|
|
|
|
|
|
|
для: cheops
(03.02.2012 в 18:35)
| | успокоили.
да на сервере.
а как это провернуть теперь? | |
|
|
|
|
|
|
|
для: Василий
(03.02.2012 в 18:36)
| | Лучше новую тему тогда завести, а то к этой уже вряд ли кто подключится... да и длинная очень. В общем нужна таблица и CSV (лучше даже в виде файла, так как в виде текста не ясно что там с \r\n на конце). | |
|
|
|