728x90
SMALL
- TIMESTAMP
DATE형 의 확장된 형태로 밀리초 단위까지 표현 가능한 데이터 타입이다.
- 명명 규칙
테이블명과 컬럼명을 사용자가 부여할 때 지켜야 하는 규칙이다
- 문자로 시작한다.
- 1~30 자까지 가능하다.
- A~Z의 대소문자, 0~9의 숫자, 특수기호( _, $, # ) 만 가능하다.
- 오라클의 예약어나 다른 객체명과 중복 불가하다.
- 공백을 허용하지 않는다
- 제약조건
CREATE TABLE test_table(
id NUMBER,
name VARCHAR2(128) CONSTRAINT test_table_nn NOT NULL,--컬럼레벨
--테이블레벨
CONSTRAINT test_table_pk PRIMARY KEY (id)
);
ALTER TABLE 테이블이름 ADD CONSTRAINT 제약조건이름 제약조건종류(칼럼이름)
not null은 modify로
ALTER TABLE emp MODIFY (comm NOT NULL);
테이블에 제약조건 추가
ALTER TABLE test_table ADD CONSTRAINT test_table_name_uq UNIQUE(name);
- 제약조건 알 수 있음
SELECT * FROM user_constraints WHERE table_name = 'BANK_ACCOUNT';
SELECT * FROM user_cons_columns WHERE table_name = 'BANK_ACCOUNT';
- 테이블에 컬럼추가
ALTER TABLE 테이블 이름 ADD (컬럼 데이터타입);
ALTER TABLE test ADD (job VARCHAR(9));
- 테이블에 컬럼이름바꾸기
ALTER TABLE 테이블이름 RENAME COLUMN 원래컬럼이름 to 바뀔컬럼이름;
ALTER TABLE test RENAME COLUMN job To jobjob;
- 컬럼 타입변경
ALTER TABLE 테이블이름 MODIFY(컬럼 바꿀타입);
ALTER TABLE test MODIFY (jobjob VARCHAR2(128));
- 컬럼 삭제
ALTER TABLE 테이블이름 DROP COLUMN 컬럼이름;
ALTER TABLE test DROP COLUMN jobjob;
- 제약조건명 수정
ALTER TABLE 테이블이름 RENAME CONSTRAINT 원래제약조건명 TO 바꿀제약조건명; --이름변경
ALTER TABLE 테이블이름 DROP CONSTRAINT 원래제약조건명 TO 바꿀제약조건명;-- 제약조건제거
- 테이블이름 변경
ALTER TABLE 기존테이블이름 RENAME TO 새로운 테이블이름;
- 데이터삭제
TRUNCATE TABLE bank_account;
- 시퀀스
CREATE SEQUENCE seq_empno START WITH 1000
INCREMENT BY 1
CACHE 20;
SELECT seq_empno.nextval FROM dual;
하나씩 증가
728x90
LIST
'DB > Oracle' 카테고리의 다른 글
20201030_ 25시퀀스 문제 및 해결 (0) | 2020.10.30 |
---|---|
20201030_25 권한부여, 회수, 동의어 (0) | 2020.10.30 |
20201029_24 순위, 누적, 집계, 조인 (0) | 2020.10.29 |
20201028_23 UPDATE, MERGE (0) | 2020.10.28 |
20201028_23 다양한 함수 (0) | 2020.10.28 |
댓글