데이터베이스에서 데이터를 다루면서 동일한 테이블 또는 다른 테이블에서 데이터를 복사하고 삽입하는 경우가 자주 발생합니다. MYSQL에서 이를 어떻게 수행하는지 간단하게 알아보겠습니다.
동일한 테이블에서 데이터 복사하기
때때로 동일한 테이블 내에서 특정 데이터를 복사하여 새로운 행으로 삽입해야 할 필요가 있습니다. 이를 위해 SELECT와 INSERT 문을 함께 사용합니다.
INSERT INTO dataTables (no1, data1, data2, data3)
SELECT no1, data1, data2, data3 FROM dataTables WHERE [조건];
값 변경하여 데이터 삽입하기
복사하려는 데이터 중 일부 값을 변경하고 싶다면, 해당 값을 직접 지정하여 INSERT할 수 있습니다.
INSERT INTO dataTables (no1, data1, data2, data3)
SELECT no1, data1, data2, 'test' FROM dataTables WHERE [조건];
위 예제에서는 data3 컬럼의 값이 'test'로 지정되어 삽입됩니다.
다른 테이블에서 데이터 복사하기
다른 테이블에서 데이터를 가져와 삽입하는 것도 가능합니다. 이때 주의할 점은 삽입 대상 테이블의 컬럼과 데이터 타입이 맞아야 합니다.
INSERT INTO dataTables (no1, data1, data2, data3)
SELECT no11, data11, data33, data44 FROM dataTables2 WHERE [조건];
`dataTables` 테이블에 데이터를 삽입하면서 `dataTables2` 테이블에서 데이터를 가져옵니다.
결론
MYSQL에서 데이터를 복사하고 삽입하는 작업은 매우 간단합니다. 주의해야 할 점은 삽입 대상 테이블의 컬럼과 데이터 타입이 일치해야 한다는 것입니다. 이를 통해 데이터 관리의 효율성을 크게 향상시킬 수 있습니다.
함께보면 좋은 글
'Language > SQL' 카테고리의 다른 글
[SQLITE3] datetime 으로 년, 월, 일 시작 날짜 구하기 (0) | 2023.02.08 |
---|---|
[MYSQL] ERROR errno: 1242 "ER_SUBQUERY_NO_1_ROW" 오류 대처 방법 (0) | 2023.01.06 |
[MYSQL] 검색한 결과를 넣기 select 하여 insert (0) | 2022.08.09 |
[MYSQL] GROUP_CONCAT에서 order by 정렬하기, 구분자, 한글깨짐 (0) | 2022.08.04 |
[MYSQL] insert, update 시 특수문자 입력하기 (0) | 2022.07.05 |