-- PRIMARY KEY : 기본키. 중복을 허용하지 않는다, null을 허용하지 않는다( 반드시 값을 넣어야함)
-- NOT NULL : null을 허용하지 않는다. 쓰지않고 생략하면 null 허용
-- DEFAULT : 값을 넣지 않을 경우 디폴트값 저장
ex )
CREATE TABLE test1(
num NUMBER(7) PRIMARY KEY
,name VARCHAR2(20) NOT NULL
,birth DATE NOT NULL
,memo VARCHAR2(100)
,created DATE DEFAULT SYSDATE
);
테이블에 데이터 추가
--INSERT INTO 테이블명 [(컬러명, 컬럼명)] VALUES(값, 값);
주의 : 한번에 하나의 행만 추가 할 수있다. or 한번에 하나의 테이블만 추가 할 수있다.
--오라클은 기본적으로 트랜젝션(하나의 작업단위)이 완료 되지 않기 때문에
-- INSERT, UPDATE, DELETE 문 다음에는
COMMIT; --트랜젝션완료으로 트렌젝션을 완료해야한다.
ROLLBCK; --트렌젝션 취소(INSERT, UPDATE, DELETE 문이 최소됨)
INSERT INTO test1 VALUES (1,'홍길동','2000-10-10','테스트','2013-05-30');
--테이블명 다음에 컬럼명을 기술하지 않으면 테이블작성당시 컬럼 순서로 모든 값을 넣어야함
INSERT INTO test1 VALUES (2,'이이이','2000-08-10'); --에러
-- 컬럼갯수와 값의 갯수가 틀림
INSERT INTO test1 (num, name,birth) VALUES(2,'이이이','2000-08-10');
--memo는 null, created는 default에 의해 오늘날짜 추가
INSERT INTO test1 (num, name,birth) VALUES(2,'이이이','2010-10-10'); --에러
--num은 기본키로 중복을 허용하지 않는다
INSERT INTO test1 (num, name,birth) VALUES(3,'이이이','연습중'); --에러
--birth는 not null 제약조건으로 반드시 값을 가져야 한다.
INSERT INTO test1 (num, name,birth) VALUES(3,'이이이','10/10/2010');
-- 문자열은 날짜형식으로 변경불가능
INSERT INTO test1 (num, name, birth)VALUES (3,'이이이', TO_DATE('10/10/2010','MM/DD/YYYY'));
SELECT * FROM test1;
-- 문자열을 날짜형식으로 바꾸고 싶다면 TO_DATE를 사용하라!!
INSERT INTO test1 VALUES(4,'기기기','2010-10-10',null, default);
INSERT INTO test1 (num, name,memo, birth, created)
VALUES (5,'호호호', '점심','2000-10-10',SYSDATE);
COMMIT;
'오라클 > 테이블' 카테고리의 다른 글
테이블 병합 (0) | 2013.06.01 |
---|---|
서브쿼리를 이용한 여러개의 행에 데이터 추가하기 (0) | 2013.06.01 |
테이블 삭제 (0) | 2013.06.01 |
테이블 복사하여 새로운 테이블 작성하기 (0) | 2013.06.01 |
테이블에 컬럼 추가,컬럼폭 및 타입변경,컬럼이름수정,컬럼삭제 (0) | 2013.06.01 |