티스토리 뷰
반응형
테이블 작성
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 첫걸음 - 아사이 아츠시
반응형
'Database' 카테고리의 다른 글
표준 SQL 기본 문법 정리 - (집계함수, 서브쿼리) (0) | 2019.04.23 |
---|---|
표준 SQL 기본 문법 정리 - (추가, 삭제, 갱신) (0) | 2019.04.23 |
표준 SQL 기본 문법 정리 - (정렬, 연산) (0) | 2019.04.20 |
표준 SQL 기본 문법 정리 - (조회, 조건) (0) | 2019.04.18 |
엘라스틱 서치는 왜 그렇게 빠를까? (5) | 2019.04.11 |
댓글