본문 바로가기
IT/Oracle

오라클 INSERT 문 알아보기

by flatsun 2019. 3. 5.
반응형


어제는 제약조건에 대해 알아봤으니

오늘은 오라클 SQL의 INSERT에 대해서 한번 알아보자


저번까진 비열하게 무료인 SQL FIDDLE을 사용하다가

이번에는 접속이 안되길래


정직하게 GOLDEN을 사용했는데


지금 스크린샷 다 찍고 나니까 또 SQL FIDDLE 접속이 되더라


http://sqlfiddle.com/


오라클 안깔아도 연습 가능하니 여기서 해보자


일단 다시 테이블로 돌아와

테이블에 컬럼을 넣어 만들어 준다


테이블이 있어야 그 안에 뭘 넣지 않겠는가



INSERT 문은


INSERT INTO 테이블명(컬럼명) VALUES(들어갈 값);

으로 이루어지는데


아랫줄을 보면 컬럼명을 적지 않았는데도 INSERT가 된다!

컬럼의 갯수가 총 세개고

 3개를 모두 정의한 타입 순서에 맞게 입력했기 때문에

컬럼을 안 적어줘도 INSERT가 되는 것이다!


근데



이렇게 쓰는 것은 가능할까?


당연하게도 안되는데 


일단 VALUES 값을 정의한 순서와 다른 타입으로 줬는데다

갯수도 부족하기 때문에 SYSDATE나 'ABC' 값이 어느 컬럼으로 들어가야 하는지 몰라서


에러가 뜨면서 실행이 안된다



그렇다면 이렇게 세 줄을 INSERT 하는 경우에는 INSERT가 가능할까?


이번에는 되는데

값을 하나만 적었어도 어느 컬럼에 들어갈 지 컬럼명을 테이블 뒤에 써 놓았기 때문에

적은 것이 하나여도 위치를 잘 찾아가서 삽입되는 것이다


이제 SELECT * FROM 테이블명을 사용해서

어떻게 조회되는지 확인해보자




위처럼 하나만 넣고 INSERT를 해도 조회가 잘 되는 것이 보인다


이제 정리를 해 보면


INSERT는 2가지 방법으로 가능한데


INSERT INTO 테이블명(컬럼명) VALUES(값);


OR


INSERT INTO 테이블명 VALUES(테이블에 정의한 타입 순서대로 넣은 값);


근데 내가 쓰면서 보니까 다 위의 방법을 사용하지

아래 방법을 사용하는 곳을 보지 못했다


그래서 방법은 두가지지만 위에 있는 방법을 사용하도록 하자

반응형

댓글