다른 테이블 SELECT 하여 Table Create 하기

1
2
3
4
CREATE TABLE testTbl5
(    SELECT emp_no, first_name, last_name
      FROM employees.employees
);
cs

 

이렇게 하면 SELECT 한 컬럼 명칭 그대로 테이블이 생성된다.

 

 

원하는 컬럼명칭으로 만들고 싶을 땐 이렇게 하면 된다.

1
2
3
4
5
create TABLE testljy
(
    SELECT id AS jyid, Fname AS jyfname, Lname AS jylname 
    FROM testtbl4
);
cs

AS 를 붙인 후 SELECT 하면 

원하는대로 테이블이 생긴다! 

 

 

다중 행 INSERT 시 기본키가 중복되면 건너뛰게 하기

 

3개의 행을 INSERT 할 때, 1번째행 INSERT 시 무결성에 의해 2,3번째행도 INSERT 가 되지 않을 때,

오류 행은 건너뛰고 2,3번째행을 입력하는 방법이 있다.

 

1
2
3
INSERT IGNORE INTO memberTBL VALUES ('BBK''바비코''미국');
INSERT IGNORE INTO memberTBL VALUES ('SJG''서장훈''서울');
INSERT IGNORE INTO memberTBL VALUES ('HJY''현주엽''경기');
cs

INSERT 뒤 IGNORE 를 붙여주면, 오류가 나던 말던 다음 행을 INSERT 한다.

 

 

 

기본 키 중복 시 수정되도록 하기

위에서는 기본키가 같은 데이터가 있을 때 무시하고 입력하는 것을 했는데,

기본키가 같은 데이터가 있을 때 데이터를 수정하고 싶으면 어떻게 할까?

INSERT INTO 문은 동일하고 ON DUPLICATE KEY UPDATE 컬럼='수정값', 컬럼2='수정값' 이렇게 하면 된다.

 

1
2
3
4
INSERT INTO memberTBL VALUES('BBK''바비킴''미국')
    ON DUPLICATE KEY UPDATE name='빠삐코', addr='미국';

 

INSERT INTO memberTBL VALUES('DJM''동짜몽''일본')
    ON DUPLICATE KEY UPDATE name='동짜몽', addr='일본';
cs

 

>>BBK 라는 키가 이미 입력되어 있을 때, name 을 빠삐코로, addr 을 미국으로 업데이트한다.

>>DJM 라는 키가 이미 입력되어 있을 때, name 을 동짜몽으로, addr 을 일본으로 업데이트한다.

'공부 > My SQL' 카테고리의 다른 글

oracle 하루 이전 날짜 구하기  (0) 2022.05.25
oracle json value 추출  (0) 2022.05.12
WITH AS (CTE)  (0) 2021.03.08
뷰, 스토어드 프로시저, 트리거  (0) 2020.12.12
테이블 생성, 테이블 조회, 인덱스 생성  (0) 2020.12.07

+ Recent posts