Programming/SQL

[Oracle] DDL(데이터 정의 언어) / 테이블 생성하기(CREATE TABLE) / COMMENT ON COLUMN /자료형

Jayna. 2024. 2. 23. 15:59
728x90

DDL(DATA DEFINITION LANGUAGE) : 데이터 정의 언어

오라클에서 제공하는 객체(OBJECT)를

새로 만들고(CREATE), 구조를 변경하고(ALTER), 구조자체를 삭제(DROP)하는 명령문. 

 

오라클에서의 객체(구조)

테이블(TABLE), 뷰(VIEW), 시퀀스(SEQUENCE), 인덱스(INDEX), 패키지(PACKAGE), 트리거(TRIGGER),

프로시저(PROCEDUER), 함수(FUNCTION), 동의어(SYNONYM), 사용자(USER)

 

CREATE TABLE

TABLE 이란?

행(ROW), 열(COLUMN)로 구성되는 가장 기본적인 데이터베이스 객체.

모든 데이터는 테이블을 통해서 저장되므로, 데이터를 보관하고자 한다면 테이블을 만들어야 한다.

CREATE TABLE 테이블명(
             컬럼명 자료형,
             컬럼명 자료형,
             ...
);

 

자료형

1) 문자: CHAR, VARCHAR2

CHAR (바이트 수)

 - 최대 200Byte까지 지정 가능

 - 고정 길이(아무리 적은 값이 들어와도 공백으로 채워서 처음 할당한 크기를 유지)

VARCHAR2 (바이트 수)

 - 최대 4000Byte까지 지정 가능

 - 가변 길이 ( 적은 값이 들어오면 담긴 값에 맞춰 크기가 줄어든다)

 

* 숫자, 영문자, 특수문자 : 글자당 1Byte

* 한글 : 글자당 3Byte

 

2) 숫자 : 정수 / 실수 상관없이 NUMBER

3) 날짜 : DATE

728x90

 

>> 테이블 생성하기

CREATE TABLE MEMBER (
    MEMBER_ID VARCHAR2(20),
    MEMBER_PWD VARCHAR2(20),
    MEMBER_NAME VARCHAR2(10),
    MEMBER_DATE DATE
); -- Table MEMBER이(가) 생성되었습니다.

SELECT * FROM MEMBER; -- 생성된 컬럼 확인 가능

 

>> 컬럼에 주석달기(컬럼에 대한 설명)

COMMENT ON COLUMN 테이블명.컬럼명 IS '주석내용';
COMMENT ON COLUMN MEMBER.MEMBER_ID IS '회원아이디';
COMMENT ON COLUMN MEMBER.MEMBER_PWD IS '회원비밀번호';
COMMENT ON COLUMN MEMBER.MEMBER_NAME IS '회원이름';
COMMENT ON COLUMN MEMBER.MEMBER_DATE IS '회원가입일'; -- Comment이(가) 생성되었습니다.

 

 

 

 

[Oracle] USER_TABLES / USER_TAB_COLUMNS / INSERT문 / 제약조건(CONSTRAINTS) - NOT NULL, UNIQUE

데이터 딕셔너리 다양한 객체들의정보를 저장하고 있는 시스템 테이블 USER_TABLES 현재 이 계정이 가지고 있는 테이블들의 전반적인 구조를 확인할 수 있는 데이터 SELECT * FROM USER_TABLES; USER_TAB_COLUM

jaynarecord.tistory.com

 

 

[Oracle] 제약조건(CONSTRAINTS) - CHECK/PRIMARY KEY(기본키)

CHECK 컬럼에 기록될 수 있는 값에 대한 조건을 설정해둘 수 있다. CHECK (조건식) CREATE TABLE MEM_CHECK( MEM_NO NUMBER NOT NULL, MEM_ID VARCHAR2(20) NOT NULL, MEM_PWD VARCHAR2(20) NOT NULL, MEM_NAME VARCHAR2(20) NOT NULL, GENDER CHAR

jaynarecord.tistory.com

 

 

[Oracle] 제약조건(CONSTRAINT) - FOREIGN KEY(외래키) / ON DELETE SET NULL / ON DELETE CASCADE /ON DELETE RESTRICTED

FOREIGN KEY(외래키) 다른 테이블에 존재하는 값이 들어와야 되는 컬럼에 부여하는 제약조건 => 다른 테이블(부모 테이블)을 참조한다고 표현 즉, 참조된 다른 테이블이 제공하고 잇는 값만 들어올

jaynarecord.tistory.com

 

728x90