어제는 제약조건에 대해 알아봤으니
오늘은 오라클 SQL의 INSERT에 대해서 한번 알아보자
저번까진 비열하게 무료인 SQL FIDDLE을 사용하다가
이번에는 접속이 안되길래
정직하게 GOLDEN을 사용했는데
지금 스크린샷 다 찍고 나니까 또 SQL FIDDLE 접속이 되더라
오라클 안깔아도 연습 가능하니 여기서 해보자
일단 다시 테이블로 돌아와
테이블에 컬럼을 넣어 만들어 준다
테이블이 있어야 그 안에 뭘 넣지 않겠는가
INSERT 문은
INSERT INTO 테이블명(컬럼명) VALUES(들어갈 값);
으로 이루어지는데
아랫줄을 보면 컬럼명을 적지 않았는데도 INSERT가 된다!
컬럼의 갯수가 총 세개고
3개를 모두 정의한 타입 순서에 맞게 입력했기 때문에
컬럼을 안 적어줘도 INSERT가 되는 것이다!
근데
이렇게 쓰는 것은 가능할까?
당연하게도 안되는데
일단 VALUES 값을 정의한 순서와 다른 타입으로 줬는데다
갯수도 부족하기 때문에 SYSDATE나 'ABC' 값이 어느 컬럼으로 들어가야 하는지 몰라서
에러가 뜨면서 실행이 안된다
그렇다면 이렇게 세 줄을 INSERT 하는 경우에는 INSERT가 가능할까?
이번에는 되는데
값을 하나만 적었어도 어느 컬럼에 들어갈 지 컬럼명을 테이블 뒤에 써 놓았기 때문에
적은 것이 하나여도 위치를 잘 찾아가서 삽입되는 것이다
이제 SELECT * FROM 테이블명을 사용해서
어떻게 조회되는지 확인해보자
위처럼 하나만 넣고 INSERT를 해도 조회가 잘 되는 것이 보인다
이제 정리를 해 보면
INSERT는 2가지 방법으로 가능한데
INSERT INTO 테이블명(컬럼명) VALUES(값);
OR
INSERT INTO 테이블명 VALUES(테이블에 정의한 타입 순서대로 넣은 값);
근데 내가 쓰면서 보니까 다 위의 방법을 사용하지
아래 방법을 사용하는 곳을 보지 못했다
그래서 방법은 두가지지만 위에 있는 방법을 사용하도록 하자
'IT > Oracle' 카테고리의 다른 글
오라클 UPDATE 문으로 데이터 수정하기 (0) | 2019.03.07 |
---|---|
오라클 SELECT 알아보기 (0) | 2019.03.06 |
오라클 테이블 제약조건(Constraint) 알아보기 (0) | 2019.03.04 |
오라클 CREATE TABLE로 테이블 생성하기 (0) | 2019.02.25 |
오라클 인터넷에서 무료로 연습하는법 (1) | 2019.01.10 |
댓글