[Oracle] CREATE

Dawon Ruby Choi·2023년 9월 20일

CREATE (DDL : DATE EFINITIN LANGUAGE, 데이터 정의어)
DDL : 객체를 만들고(CREATE) 수정하고(ALTER) 삭제(DROP)하는 구문 , DDL 생성 전 이전 수정내용 확정인지 확인 (자동 커밋됨)

표현식
CREATE TABLE 테이블명(컬럼명 데이터타입(크기), 컬럼명 데이터타입(크기)...),
CREATE TABLE MEMBER(
MEMBER_ID VARCHAR2(20), --20BYTE
MEMBER_PWD VARCHAR2(20),
MEMBER_NAME VARCHAR2(20)
);

SQL 제약조건(Constraint)

: 목적에 맞는 데이터만 저장하기 위해 필요한 조건 (효율성, 무결성 추구)

primary key기본키
: 값이 중복되지 않으면서 반드시 입력돼야 하는 필드에 부여
💡 이미 primary key가 부여된 필드에 unique 제약조건 부여하지 않게 주의
unique
: 값이 없어도 되지만 중복되면 안 되는 필드에 부여
check
: 개발자가 설정하는 제약조건
(숫자 - 범위 지정, 문자 : 특정한 값 등록)
not null
: 반드시 값을 입력해야 하는 필드를 지정
default
: 필드의 기본값을 설정하는 제약조건
(default를 제약조건에 포함시키지 않는 경우도 있음)
foreign key외래키
: 테이블간의 관계를 설정할 때 사용하는 제약조건

제약조건 부여 형식

  • 테이블 생성시 제약조건 부여
    [ 필드명1 자료형1 제약조건1, 필드명2 자료형2 제약조건2,,,,); ]
    ex) USER_NO NUMBER CONSTRAINT PK_UP_UNO PRIMARY KEY
  • 테이블 생성시 설정하지 않은 제약조건 부여
    [ SQL> alter table 수정table명
    add constraint 제약조건이름 제약조건종류(적용필드명); ]
    ※ 제약조건이름을 꼭 써줘야함
  • 제약조건이름 : 시스템 테이블(Oracle 자체 테이블)에 레코드로 기록,
    sys~로 저장되기 때문에 찾기 힘듦, 따라서 의미있는 규칙에 따라 분류하는 것이 좋음
    ex) 테이블명제약조건약어(pk)적용필드명 ex) prtest_pk_id

제약조건 제거 형식

alter table 수정table명 drop constraint 삭제할 제약조건이름;

profile
나의 코딩 다이어리🖥️👾✨

0개의 댓글