2009-04-08 5 views
3

Я пытаюсь импортировать большой CSV-файл в базу данных MySQL. Я загрузил весь файл в один плоский стол. Я могу выбрать данные, которые нужно переместить в отдельные таблицы с помощью операторов select, мой вопрос заключается в том, как копировать результаты этих запросов выбора в разные таблицы. я бы предпочел сделать это полностью в SQL и не беспокоиться об использовании языка сценариев.Копирование запроса Результат в другую таблицу mysql

ответ

4
INSERT INTO anothertable (list, of , column, names, to, give, values, for) 
SELECT list, of, column, names, of, compatible, column, types 
FROM bigimportedtable 
WHERE possibly you want a predicate or maybe not; 
+0

, который отлично работает, у меня есть дубликаты первичных ключей в одном из моих таблиц. возможно ли в этом запросе объединить два поля из результата запроса и добавить это в мою таблицу? возьмите County_ID и Precienct_ID и создайте одно поле, которое будет как 121-603, и используйте это как мой pk? – gsueagle2008

+0

Ну, да, можно. Просто поместите это вычисление в список выбора: insert into foo (id) выберите concat (county_id), '-', precinct_id) из строки. НО составной ksy, как это, представляет собой идею BAD по нескольким причинам. Вы случайно создаете базу данных для избирателей/избирателей? – tpdi

6
INSERT 
INTO new_table_1 
SELECT * 
FROM existing_table 
WHERE condition_for_table_1; 

INSERT 
INTO new_table_2 
SELECT * 
FROM existing_table 
WHERE condition_for_table_2; 
0

Ответ от Quassnoi был один я искал. Обратите внимание, что если new_table_1 еще не существует, инструкция «INSERT INTO» должна быть заменена оператором «CREATE TABLE».

Смежные вопросы