Я использую MySQL. У меня есть таблица с именем EMP, и теперь мне нужно создать еще одну таблицу (EMP_TWO) с той же схемой, одинаковыми столбцами и теми же ограничениями. Как я могу это сделать?
Создать таблицу в MySQL, которая соответствует другой таблице?
Ответ 1
Чтобы создать новую таблицу на основе другой структуры/ограничений таблиц, используйте:
CREATE TABLE new_table LIKE old_table;
Чтобы скопировать данные, если необходимо, используйте
INSERT INTO new_table SELECT * FROM old_table;
Остерегайтесь заметок в опции LIKE:
Используйте LIKE для создания пустой таблицы на основе определения другого таблицы, включая любые атрибуты столбца и индексы, определенные в оригинальная таблица:
CREATE TABLE new_table LIKE original_table; Копия создается с использованием того же версию формата хранения таблицы в качестве исходной таблицы. ВЫБОР привилегия требуется в исходной таблице.
LIKE работает только для базовых таблиц, а не для представлений.
CREATE TABLE... LIKE не сохраняет DATA DIRECTORY или INDEX Параметры таблицы DIRECTORY, которые были указаны для исходной таблицы, или любые определения внешнего ключа.
Ответ 2
Если вы хотите скопировать только структуру, используйте
create table new_tbl like old_tbl;
Если вы хотите скопировать структуру, а также данные, используйте
create table new_tbl select * from old_tbl;
Ответ 3
Почему бы вам не пойти так?
CREATE TABLE new_table LIKE Select * from Old_Table;
или вы можете фильтровать данные следующим образом
CREATE TABLE new_table LIKE Select column1, column2, column3 from Old_Table where column1 = Value1;
Для того, чтобы иметь одно и то же ограничение в вашей новой таблице, сначала вам нужно будет создать схему, тогда вам следует искать данные для создания схемы.
CREATE TABLE new_table LIKE Some_other_Table;
Ответ 4
Создать таблицу в MySQL, которая соответствует другой таблице? Ans:
CREATE TABLE new_table AS SELECT * FROM old_table;