MySQL에서 다른 테이블과 일치하는 테이블을 만드시겠습니까?


84

MySQL을 사용하고 있습니다. EMP라는 테이블이 있는데 이제 동일한 스키마, 동일한 열 및 동일한 제약 조건을 가진 테이블 (EMP_TWO)을 하나 더 만들어야합니다. 어떻게 할 수 있습니까?


1
phpMyAdmin과 같은 구조를 내 보낸 다음 테이블 이름 만 변경해 보셨습니까?
jprofitt

답변:


176

다른 테이블 구조 / 제약 조건을 기반으로 새 테이블을 만들려면 다음을 사용하십시오.

CREATE TABLE new_table LIKE old_table;     

필요한 경우 데이터를 복사하려면

INSERT INTO new_table SELECT * FROM old_table;  

테이블 문서 만들기

LIKE 옵션에 대한 참고 사항에 유의하십시오.

LIKE를 사용하여 원래 테이블에 정의 된 열 속성 및 인덱스를 포함하여 다른 테이블의 정의를 기반으로 빈 테이블을 만듭니다.

CREATE TABLE new_table LIKE original_table; 복사본은 원본 테이블과 동일한 버전의 테이블 스토리지 형식을 사용하여 생성됩니다. 원본 테이블에 대한 SELECT 권한이 필요합니다.

LIKE는 뷰가 아닌 기본 테이블에서만 작동합니다.

CREATE TABLE ... LIKE는 원래 테이블 또는 외부 키 정의에 대해 지정된 DATA DIRECTORY 또는 INDEX DIRECTORY 테이블 옵션을 보존하지 않습니다.


6
+1 수년 동안 MySQL을 사용해 왔지만 성명서 LIKE에서 사용할 수 있다는 사실을 완전히 알지 못했습니다 CREATE.
jprofitt

@jprofitt 전날 프로덕션 서버 (중요한 쿼리)에서 무언가를 테스트하기 위해 이것을하고 싶었 기 때문에 알고 있습니다-> 매우 유용합니다!
Manse

@ManseUK 한 데이터베이스에서 테이블을 복사하고 다른 데이터베이스로 다시 만들려면 어떻게해야합니까?
Yaje

대단합니다! 감사합니다 ... 정말 유용합니다!
Hassantm 2014

경우에는 누군가가 당신이 할 필요가있다, 다른 데이터베이스에서 같은 테이블 구조를 필요로 CREATE TABLE new_db.new_table LIKE old_db.old_table:)
지미 Adaro

13

구조 만 복사하려면 다음을 사용하십시오.

create table new_tbl like old_tbl;

구조와 데이터를 복사하려면

create table new_tbl select * from old_tbl;

5

MySQL에서 다른 테이블과 일치하는 테이블을 만드시겠습니까? 정답 :

CREATE TABLE new_table AS SELECT * FROM old_table;

4

이대로 가지 그래

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;

1
그것은 모두를 사용하는 것이 가능 like하고 select *하나 개의 문장에서? 오류가 발생합니다. 또한이 답변을 확인하십시오 stackoverflow.com/questions/10147565/create-table-like-a1-as-a2
chanchal118

나는 MySQL 용 확실하지 않다
Trikaldarshiii

<OldTableName>에서 <NewTableName>으로 *를 선택하는 sqlserver에 대해서도 비슷한 것이 있습니다.
Trikaldarshiii
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.