일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Notice
Tags
- 테이블삭제
- 넷플릭스
- data
- 회사싫어
- Drop
- rename
- 전생
- Update
- 회사생활
- SQL
- where절
- 직장인일기
- 데이터모델링
- 30일글쓰기
- 일기
- 빅데이터
- 환생
- 보울룸
- 홈트
- null
- 인덱스
- ERD
- constraint
- 30일챌린지
- INSERT
- SQLD
- 도전
- ROWNUM
- 책리뷰
- 직장생활
Archives
- Today
- Total
최보름달
[SQL] DDL (Data Definition Language) : DATATYPE, CREATE 본문
데이터 유형(타입)
테이터베이스의 테이블에 특정 자료를 입력할 때, 그 자료를 받아들일 공간을 유형별로 나누는 기준.
자주 쓰이는 데이터 유형
데이터 유형 | 설명 |
CHARACTER | - 고정 길이 문자열(CHAR) - 기본 길이 1바이트 - 고정된 길이를 갖고 있기 때문에, 할당된 변수 값의 길이가 작아도 공간은 채워진다 - 'AA' = 'AA ' |
VARCHAR | - CHARACTER VARYUNG. - 최소 길이 1바이트 - 가변 길이로 조정이 되기 때문에 할당된 변수 값의 바이트만 적용된다 - 'AA' <> 'AA ' (같지 않다) - 공백도 하나의 문자로 취급된다 |
NUMERIC | - 정수, 실수 등 숫자 정보 |
DATE | - 날짜와 시각 정보 |
CREATE TABLE
- 테이블을 생성하는 구문
CREATE TABLE 테이블 이름 (
컬럼명 1 DATATYPE [형식] ,
컬럼명 2 DATATYPE [형식] ,
컬럼명 3 DATATYPE [형식]
) ;
테이블 생성 시 주의할 점
- 테이블 명은 다른 테이블의 이름과 중복되지 않아야 한다.
- 한 테이블 내에서는 컬럼명이 중복되게 지정할 수 없다.
- 테이블 이름을 지정하고 각 컬럼들은 괄호() 로 묶어 지정한다.
- 각 컬럼들은 콤마, 로 구분되고, 생성문 끝은 항상 세미콜론; 으로 끝난다.
- 컬럼은 일관성 있게 사용하는게 좋다.
- 컬럼 뒤에 데이터 유형(타입)은 꼭 지정되어야 한다.
- 테이블과 컬럼명은 반드시 문자로 시작해야 한다. 길이 한계가 있다.
- 벤더에서 사전에 정의한 예약어(명령어)는 사용할 수 없다.
- A-Z, a-z, 0-9, _, $, # 문자만 허용된다.
테이블명 잘못된 사례
10_PLAYER : 숫자로 시작했기 때문에 틀렸음
T-PLAYER : 특수문자 - 는 허용하지 않기 때문에 틀렸음.
선수 테이블 생성하기 예제
CREATE TABLE PLAYER (
PLAYER_ID CHAR(7) NOT NULL,
PLAYER_NAME VARCHAR2(20) NOT NULL,
TEAM_ID CHAR(3) NOT NULL,
BIRTH_DATE DATE,
HEIGHT NUMBER(3),
CONSTRAINT PLAYER_PK PRIMARY KEY (PLAYER_ID),
CONSTRAINT PLAYER_FK FOREIGN KEY (TEAM_ID) REFERENCES TEAM(TEAM_ID)
);
- 테이블 생성시 대/소문자 구분은 하지 않는다. 기본적으로 테이블이나 컬럼명은 대문자로 만들어진다.
- DATETIME 유형(타입)은 별도로 크기를 정하지 않는다.
- 문자 데이터 유형(타입)은 반드시 최대 길이를 표시해야 한다.
- 마지막 컬럼은 콤마를 찍지 않는다.
- 컬럼에 대한 제약조건이 있으면 CONSTRAINT를 이용하여 추가할 수 있다.
* 한국데이터진흥원에서 출간한 SQL 전문가 가이드 2013 Edition을 요약했습니다
'문송한 회사생활 > SQL 공부' 카테고리의 다른 글
[SQL] 생성된 테이블 구조 확인 (0) | 2020.07.28 |
---|---|
[SQL] 제약조건 CONSTRAINT, NULL, DEFAULT (0) | 2020.07.22 |
[SQL] 관계형 데이터베이스/ SQL (0) | 2020.07.20 |
[SQL] 분산 데이터 베이스 (0) | 2020.07.19 |
[SQL] 슈퍼타입/서브타입 모델 (0) | 2020.07.19 |