개발 공부

SQL - DDL (CREATE / ALTER / DROP) 본문

DataBase/ORACLE_SQL

SQL - DDL (CREATE / ALTER / DROP)

규율 위에 자유 2023. 7. 4. 23:10

목차

<CREATE>

<ALTER>

<DROP>

 

 

< CREATE >
    객체를 새로이 생성하는 구문

테이블 생성
     - 테이블이란? 행(ROW)과 열(COLUMN)로 가장 기본적인 데이터베이스 객체
                모든 데이터들은 테이블을 통해서 저장된다.
                (DBMS 용어 중 하나로, 데이터를 일종의 표 형태로 표현한 것)
                
    [ 표현식 ]
    CREATE TABLE 테이블명(
        컬럼명 자료형 (크기),
        컬럼명 자료형 (크기),
        컬렴명 자료형,

 

 

SQL 자료형 종류 
    1.문자: (CHAR(바이트 크기) | VARCHAR2(바이트크기) => 반드시 크기 지정 해야한다.
   
    > CHAR : 최대 2000바이트까지 지정 가능. 
            지정한 범위 안에서만 써야한다./
            고정길이 (지정한 크기보다 더 적은 값이 들어와도 공백으로 채워진다.)
            고정된 글자수의 데이터만이 담길 경우 사용 
            => 일반적으로 한글자사용시 사용된다. EX)퇴직여부 Y/N , M/F
    > VARCHAR2 : 최대 4000바이트 까지 지정 가능. 
                가변 길이(담긴 값에 따라서 공간의 크기가 맞춰진다.)
                몇 글자의 데이터가 들어올지 모르는 경우 + 긴글
    2.숫자 (NUMBER)
    
    
    3.날짜 (DATE)

 

테이블 생성 및 생성확인

 

< ALTER >

객체를 변경하는 구문 
    
    [표현식]
    ALTER TABLE 테이블명 변경할내용;
   

 *변경할 내용
    1) 컬럼 추가 / 컬럼 수정/ 컬럼 삭제
    2) 제약조건 추가/삭제 --> 수정은 불가 (수정하고자 한다면 삭제한 후 새로이 추가 )
    3) 컬럼명/제약조건 명 / 테이블명 수정 

 

<직접사용시 겪었던 문제>

1.CREATE시 컬럼의 대한 주석 COMMENT 동시 생성은 불가하기 때문에 ALTER를 사용해야한다.

2.CREATE시 제약조건을 잘못 부여하게 되어 수정이 필요했다.

3.테이블명을 잘못 입력하여 수정이 필요했다.

 

1-1 컬럼 추가(ADD)

 

 ADD 컬럼명 자료형 [DEFAULT 기본값 ]제약조건

변경전

변경후후

 

1-2 컬럼 수정(MODIFY)


1)자료형 수정 : MODIFY 컬럼명 바꾸고자 하는 자료형 
2)DEFAULT 값 수정 : MODIFY 컬렴명 DEFALUT 바꾸고자하는 기본값

 

★주의할점 기존 컬럼의 자료형과 다른 자료형으로 변경시 전재하는 데이터가 없어야만 변경가능하다  

변경전

변경후

1-3 컬럼삭제 (DROP COLUMN)

-->최소 한개의 컬럼은 존재해야한다

--> 컬럼다중삭제 불가능

다중 삭제 예시

DROP COLUMN 삭제하고자 하는 컬럼명

 

변경전

 

변경후

 

2) 제약조건 추가/삭제 및 제약조건명 지정

--> 수정은 불가 (수정하고자 한다면 삭제한 후 새로이 추가 )

 

2-1제약조건 추가 

    PRIMARY KEY : ADD PRIMARY KEY (컬럼명)
    FOREIGN KEY : ADD FOREIGN KEY (컬럼명) REFERENCES 참조할테이블명(컬럼명)
    UNIQUE : ADD UNIQUE(컬럼명)
    CHECK :  ADD CHECK(컬럼에 대한 조건)
   ★ NOT NULL : MODIFY 컬럼명 NOT NULL | NULL => 이거쓰면 널 허용
    
    제약조건 추가 + 제약조건명을 지정하고자 한다면
     ALTER TABLE 테이블명 MODIFY [CONSTRAINT 제약조건명] 제약조건 앞에

 

 

제약조건 부여 및 제약조건명 지정

변경전 

변경후 

2-2제약조건 삭제 : DROP CONSTRAINT 제약조건명

 

★제약조건을 삭제하려면 제약조건명을 입력해야한다

db시스템은 기본적으로 제약조건의 이름을 자동으로 생성해주기 떄문에 확인 후 입력해야한다.

만약 제약조건명을 설정해주었다면 입력한 제약조건명을 써주면 된다.

변경전

변경후


3) 컬럼명/제약조건 명 / 테이블명 수정 

 

컬럼명 변경 : RENAME COLUMN 기존컬렁명 TO 바꿀 컬럼명 

 

제약조건명 변경 : RENAME CONSTRAINT 기존제약조건명 TO 바꿀제약조건 

 

 테이블명 변경 : RENAME [기존테이블명] TO 바꿀테이블명

 

 

< DROP >

  테이블을 삭제하는 구문

  • 단 ,어딘가에서 참조(외래키 설정)되고 있는 부모테이블은 함부로 삭제가 되지 않는다.
    만약 삭제하고자 한다면 방법은 2가지로 나뉜다.
    • 방법1.자식테이블을 먼저 삭제 한 후 부모테이블 삭제하는 방법
    • 방법2.부모 테이블 삭제 + 제약조건 같이 삭제
              DROP TABLE  테이블명 CASCADE CONSTRAINT;

'DataBase > ORACLE_SQL' 카테고리의 다른 글

SQL -DML(UPDATE)  (0) 2023.07.11
SQL - DML (INSERT)  (0) 2023.07.05
SQL - <DDL / DML / DCL >  (0) 2023.07.04
SQL - 문법 / 조회(SELECT) + WHERE절  (0) 2023.06.29
SQL 집합 연산자 (SET OPERATION )  (0) 2023.06.28