데이터 정의어( DDL : Data Definition Language)
- 테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어들로 그러한 구조를 생성하거나 변경하거나 삭제하거나 이름을 바꾸는 데이터 구조와 관련된 명령어들을 DDL이라고 부른다. 테이블 자체의 관계나 구조를 생성하거나 수정하는데 사용하는 명령어이다.
우선 DDL을 자세히 알아보기 전에 주요 데이터의 유형(타입)을 알아보고 가면 좋을 것 같다.
데이터 유형 :
- 데이터 유형은 데이터베이스 테이블에 특정자료를 입력할 때, 그 자료를 받아들일 공간을 자료 유형별로 나누는 기준이다. 선언한 유형이 아닌 다른 종류의 데이터가 들어오려고 하면 에러를 발생시킨다.
- CHAR(L) : 고정 길이 문자열, 고정 길이를 가지고 있으므로 할당된 변수의 값이 L값보다 작을 경우 그 차이만큼 공백을 채워짐
- VARCHAR2(L) : 가변길이 문자열, L만큼의 최대길이를 가짐, L값보다 작을 경우 해당 값만큼만 공간을 차지한다.
- NUMBER(L, D) : 정수, 실수를 저장함, L값은 전체 자리수, D값은 소수점 자리 수
- DATE : 날짜와 시각정보 "년월일시분초"를 표현함
여기서 잠깐!! 🤔🤔🤔 CHAR vs VARCHAR ❓❓❓❓❓❓
CHAR(5)dhk VARCHAR(5)를 선언한 후 데이터 ABC를 입력하면 아래처럼 저장이 된다.
CHAR는 고정길이 문자열 타입이므로 만약 타입의 크기만큼 데이터가 들어오지 않은 경우 이후 공간을 space로 채운다.
VARCHAR는 가변길이 문자열 타입이므로 타입의 크기만큼 데이터가 들어오지 않더라도 이후의 공간을 space로 채우지 않는다.
DDL 실습
CREATE
'table' 이란 이름의 TABLE을 만드는데 그 안에 컬럼은 3가지가 있다.
id 값은 숫자고 이게 PK이다.
name은 문자고 비어있으면 안된다.
age는 숫자고 역시 비어있으면 안된다.
ALTER
ADD
'table'에 address라는 컬럼을 추가한다. 추가되는 컬럼은 테이블의 마지막에 위치하고 위치는 지정 불가능하다.
RENAME
'table'에 'address'란 컬럼의 이름을 'e-mail'로 바꾼다.
TRUNCATE
'table'이란 이름의 테이블 내의 데이터를 모두 삭제한다. 이 명령 수행시 삭제한 데이터는 복구 불가능하다.
DROP
'table'이란 이름의 TABLE을 삭제한다. 테이블자체를 지우므로 그 안의 데이터는 물론 테이블도 복구 불가능하다.
'자격증 공부📖 > SQLD' 카테고리의 다른 글
[SQLD] WHERE 절 (0) | 2021.06.10 |
---|---|
[SQLD] DML (Data Manipulation Language) (0) | 2021.06.02 |
[SQLD SQL 기본] SQL문의 종류 (0) | 2021.05.16 |
[SQLD 데이터 모델과 성능] 정규화와 성능 (0) | 2021.05.13 |
[SQLD 데이터 모델의 이해] 모델링의 특징, entity(엔터티), attribute(속성) (0) | 2021.05.12 |