insert 연습

2023. 9. 5. 14:42웹/백엔드-python

728x90
반응형

insert 

### 테스트 테이블 생성
CREATE TABLE emp_test (
       emp_no    INT          NOT NULL,
       emp_name  VARCHAR(30)  NOT NULL,
       hire_date DATE             NULL,
       salary    INT              NULL,
       PRIMARY KEY (emp_no) 
);

# 기본 insert문 테스트
INSERT INTO emp_test ( emp_no, emp_name, hire_date, salary )
              VALUES ( 1001, '아인슈타인', '2021-01-01', 1000);


# 3개 컬럼만 넣기
INSERT INTO emp_test ( emp_no, emp_name, hire_date )
              VALUES ( 1002, '아이작뉴턴', '2021-02-01');


# 순서 바꿔 3개 컬럼만 넣기
INSERT INTO emp_test ( hire_date, emp_no, emp_name )
              VALUES ( '2021-02-10', 1003, '갈릴레오' );

# 2개 컬럼, 하지만 not null 컬럼 포함되지 않아 에러
INSERT INTO emp_test ( emp_no, hire_date  )
              VALUES ( 1004, '2021-02-10' );

# 컬럼 순서ㅓ 미지정 하고 값 넣을때는, 컬럼 만든 순서에 따라 값 넣으면 됨.
INSERT INTO emp_test 
              VALUES ( 1004, '리처드파인만', '2021-01-10', 3000 );

# 여러줄 한번에 넣기,ROW는 생략가능
INSERT INTO emp_test VALUES 
ROW ( 1005, '퀴리부인',  '2021-03-01', 4000 ),
ROW ( 1006, '스티븐호킹', '2021-03-05', 5000 );

INSERT INTO emp_test VALUES 
( 1007, '마이클패러데이','2021-04-01', 2200 ),
( 1008, '맥스웰',     '2021-04-05', 3300 ),
( 1009, '막스플랑크',  '2021-04-05', 4400 );

# select 문을 활용한 insert
CREATE TABLE emp_test2 (
       emp_no    INT          NOT NULL,
       emp_name  VARCHAR(30)  NOT NULL,
       hire_date DATE             NULL,
       salary    INT              NULL,
       PRIMARY KEY (emp_no) 
);

INSERT INTO emp_test2 ( emp_no, emp_name, hire_date, salary )
SELECT emp_no, emp_name, hire_date, salary
  FROM emp_test
 WHERE emp_no IN (1001,1002);
 
 
 INSERT INTO emp_test2 
SELECT *
  FROM emp_test
 WHERE emp_no IN (1003,1004);
 
  INSERT INTO emp_test2 ( emp_no, emp_name, hire_date, salary )
SELECT emp_no, emp_name, hire_date, salary
  FROM emp_test
 WHERE emp_no > 1004;
 
 
 # 1018, 1019 생성
 INSERT INTO emp_test
SELECT emp_no + 10, emp_name, hire_date, 100
  FROM emp_test
 WHERE emp_no >= 1008;

 

반응형

' > 백엔드-python' 카테고리의 다른 글

commit / rollback  (0) 2023.09.05
update 문 연습  (0) 2023.09.05
Role과 사용자 만들기 / select 연습  (0) 2023.09.05
sql - 1일차 - 오후  (0) 2023.09.04
sql - 1일차 -오전  (0) 2023.09.04