Конечно вы можете.
Однако следует отметить одну вещь: INSERT INTO SELECTоператор копирует данные из одной таблицы и вставляет их в другую таблицу И требует соответствия типов данных в исходной и целевой таблицах. Если типы данных из заданных столбцов таблицы не совпадают (т.е. пытаются вставить VARCHARв INTили TINYINTв INT), сервер MySQL выдает SQL Error (1366).
Так что будьте осторожны.
Вот синтаксис команды:
INSERT INTO table2 (column1, column2, column3)
SELECT column1, column2, column3 FROM table1
WHERE condition;
Примечание: существует способ обойти проблему вставки разных типов столбцов, используя приведение в вашем SELECT, например:
SELECT CAST('qwerty' AS CHAR CHARACTER SET utf8) COLLATE utf8_bin;
Это преобразование ( CAST()является синонимом CONVERT()) очень полезно, если у ваших таблиц разные наборы символов в одном и том же столбце таблицы (что может привести к потере данных при неправильной обработке).