티스토리 뷰

반응형

테이블 작성

CREATE TABLE 테이블명 (  
    열명1 자료형 \[DEFAULT 기본값\] \[제약 조건\],   
    //제약 조건에 대해서는 따로 설명  
    열명2 자료형 \[DEFAULT 기본값\] \[제약 조건\],   
    ...  
);  

테이블 삭제

DROP TABLE 테이블명;  

테이블 변경

ALTER TABLE 테이블명 ADD 열명 자료형 \[DEFAULT 기본값\] \[제약 조건\];  
//새로운 열 추가하기  

ALTER TABLE 테이블명 MODIFY 열명 자료형 \[DEFAULT 기본값\] \[제약 조건\];  
//MODIFY로 기존의 열명을 입력하고 자료형, 기본값, 제약 조건을 입력한다.  

ALTER TABLE 테이블명 CHANGE \[기존 열 이름\] \[신규 열 정의\];  
//CHANGE 명령으로는 열명까지도 바꿀 수 있다.  
//Oracle에서 열명을 변경할 경우 RENAME TO 명령을 사용한다.  

ALTER TABLE 테이블명 DROP 열명;  
//해당 열만 제거한다.  

제약 조건 선언, 추가, 삭제

CREATE TABLE 테이블명 (  
    열명1 자료형 \[DEFAULT 기본값\] \[제약 조건\],  
    ...  
);  
//열에 제약 정의하기  

CREATE TABLE 테이블명 (  
    열명1 자료형 \[DEFAULT 기본값\] \[제약 조건\],  
    ...  
    \[제약 조건\]  
);  
//테이블에 제약 정의하기 ex PRIMARY KEY (열명1, 열명2)  

CREATE TABLE 테이블명 (  
    열명1 자료형 \[DEFAULT 기본값\] \[제약 조건\],  
    ...  
    CONSTRAINT 제약명 \[제약 조건\]  
);  
//제약명 선언하고 정의하기 ex CONSTRAINT pk\_sample PRIMARY KEY (열명1, 열명2)  

ALTER TABLE 테이블명 MODIFY 열명 자료형 \[DEFAULT 기본값\]  
//ALTER TABLE을 이용하여서 제약 조건 삭제하기 - 제약조건에 아무것도 입력하지 않는다.  

ALTER TABLE 테이블명 DROP CONSTRAINT 제약명;  
//해당 제약 명 삭제하기  

ALTER TABLE 테이블명 DROP 제약 조건;  
//해당 제약 조건 삭제하기  

제약 조건들

1. NOT NULL

  • NOT NULL 제약조건이 있는 열에는 NULL값이 들어 갈 수 없다.
  • 설정하는 경우 DEFAULT 값을 지정해야한다.

2. PRIMARY KEY (PK)

  • 해당 테이블의 행들을 식별하는 기본키를 설정한다.
  • PK는 테이블의 행 한개를 특정하기에 중복된 값이 들어 갈 수 없다.
  • 복수의 열로 기본키를 구성 할 수 있지만, NOT NULL 제약 조건이 있어야하고, 역시나 복수의 열 값들의 조합이 중복될 수 없다.

인덱스

  • 인덱스의 역할은 검색(SELECT) 속도의 향상이다.
  • 인덱스는 테이블과는 별개로 독립된 데이터베이스 객체로 작성된다.
  • 인덱스는 **이진 탐색 구조**로 되어 있어서 검색속도가 빠르다.
  • 인덱스 값은 중복될 수 없다. 하지만 인덱스와 관계된 열은 중복될 수 있다.
  • 그러므로 인덱스를 효율적으로 사용하기 위해서는 최대한 중복된 값이 없는 열을 사용한다.
  • 만약 인덱스가 없다면 선형탐색(풀 테이블 탐색)을 한다.

인덱스 추가, 삭제

CREATE INDEX 인덱스명 ON 테이블명 (열명1, 열명2, ...);  
//인덱스 작성하기  
//해당 인덱스 명이 어떤 열에 관한 것인지 지정하기 위함이다.  
//열을 복수로도 지정할 수있다.  

DROP INDEX 인덱스명;  
//인덱스 삭제하기- 스키마 객체의 경우  
DROP INDEX 인덱스명 ON 테이블명;  
//인덱스 삭제하기 - 테이블 객체의 경우  

EXPLAIN (인덱스 사용 여부 확인하기)

EXPLAIN \[SQL 명령\];  
//ex EXPLAIN SELECT \* FROM 테이블명 WHERE a='a';   

  • 뷰란 데이터베이스 객체중에 하나다. (실체는 없지만 테이블처럼 취급할 수 있다.)
  • 'SELECT 명령'을 기록한다.
  • 복잡한 'SELECT 명령'을 간략하게 표현 하기 위해 사용된다.

뷰 작성, 삭제

CREATE VIEW 뷰명 AS SELECT 명령;  
//뷰 작성하기 ex CREATE VIEW sample\_view AS SELECT \* FROM my\_table;  

CREATE VIEW 뷰명(열명1, 열명2, ...) AS SELECT 명령;  
//뷰 작성하기 - 기존에 SELECT 명령에서 사용하는 열명이 아닌 다른 열명을 사용하고 싶은 경우  

DROP VIEW 뷰명;  
//뷰 삭제하기

참고도서
SQL 첫걸음 - 아사이 아츠시

반응형
댓글