반응형
use DB1 ;
# Table 생성
# CREATE TABLE `새테이블` LIKE `대상테이블` ; (다른 DB의 테이블 복사해 올 경우 DB를 명시)
CREATE TABLE `DB1`.`new_table` LIKE `DB2`.`target_table` ;
# 생성한 테이블에 내용 복사 (같은 DB내의 테이블 복사 가정)
# INSERT INTO `새테이블` SELECT * FROM `대상테이블` ;
INSERT INTO `new_table` SELECT * FROM `target_table` ;
# 컬럼을 선택하여 복사하고 싶을 땐
# INSERT INTO `새테이블` (`Col1`, `Col2`, `Col3`) SELECT `Col1`, `Col2`, `Col3` FROM `대상테이블` WHERE [조건] ;
INSERT INTO `new_table` (`Col1`, `Col2`, `Col3`) SELECT `Col1`, `Col2`, `Col3` FROM `target_table` WHERE `Col1`='jh' ;
중요한 점은 DB명.테이블 을 사용할 시 하나로 써주는 것이 아닌 ``로 분리를 해줘야 한다는 점이다. (혹은 아예 `를 빼줘야 한다.)
예를들어 실행되지 않는 코드는 이렇다.
use DB1 ;
CREATE TABLE `DB1.new_table` LIKE `DB2.target_table` ;
이렇게 쓰면 LIKE 이후에서 DB1내의 `DB2.target_table` 이라는 테이블 명 자체를 찾으므로 쿼리가 실행되지 않는다.
고로 ` 사용을 잘 해줘야 한다.
끄읏
반응형
'Development > MySQL' 카테고리의 다른 글
[MySQL] IP 변경 후 MySQL 접속에러 해결(ERROR 2002) (0) | 2021.10.22 |
---|---|
[MySQL] DATABASE sql 파일로 dump 및 import (DB백업 및 불러오기) (0) | 2021.10.13 |
[MySQL] 기본 (0) | 2021.10.13 |
댓글