SQL - (11) : DDL

­이승환·2021년 8월 2일
0

SQLD

목록 보기
11/16

SQL 기본 (2) DDL


1. 데이터 유형

  • 데이터 유형은 자료의 유형을 규정하는 기준

  • 지정한 크기도 굉장히 중요

  • 데이터 유형은 아래와 같음

    • CHARACTER(숫자) : CHAR
      -- 고정길이 문장려 정보
      -- 숫자는 기본길이 1바이트, 최대 길이는 2000바이트, SQL server 는 8000바이트
      -- 숫자만큼 최대 길이를 갖고 고정 길이를 가지고 있으므로 할당된 변수 값의 길이가 숫자보다 작을 경우에는 그 차이 길이만큼 공간으로 채워짐

    • VARCHAR(숫자) : VARCHAR2 / VARCHAR
      -- CHARACTER VARYING 의 약자로 가변 길이 문자열 정보
      -- 숫자의 최소 길이는 1바이트, 최대 길이는 오라클 4000바이트, SQL server 8000바이트
      -- s 만큼의 최대 길이를 갖지만 가변 길이로 조정이 되기 때문에 할당된 변수값의 바이트만 적용됨

    • NUMERIC : NUMBER / FLOAT, INT. .....
      -- 정수, 실수 등 숫자정보 표현
      -- 오라클은 NUMBER(8, 2) : 6자리 정수, 2자리 소수

    • DATETIME : DATE / DATETIME
      -- 오라클은 1초, sql 은 3.33ms

  • CHARACTER vs VARCHAR 비교

2. CREATE TABLE

1) 테이블과 컬럼 정의

  • 테이블에 존재하는 모든 데이터를 고유하게 식별할 수 있으면서 반드시 값이 존재하는 단일 컬럼이나 컬럼의 후보키 중에 하나를 선택해서 기본키 컬럼으로 지정
  • 테이블간 관계에서는 PK/FK

2) CREATE TABLE

CREATE TABLE 테이블명
(컬럼명1 DATETYPE [DEFAULT 형식]);

  • 이름은 단수형
  • 중복 안됨
  • A-Z, a-z, 0-9, '_', '$', '#'
  • 사전에 사용한 예약어는 사용 할 수 없음

3) CONSTRAINT

  • PRIMARY KEY

  • UNIQUE KEY

  • NOT NULL

  • CHECK

  • FOREIGN KEY

  • NULL 의 의미
    – NULL (ASCII 00) 은 공백 (BLANK, ASCII 32) 이나 숫자 0 (ZERO, ASCII 48) 과는 전혀 다른 값으로, 조건에 맞는 데이터가 없을 때의 공집합과도 다르다. NULL 은 ‘아직 정의되지 않은 미지의 값’ 또는 ‘현재 데이터를 입력하지 못하는 경우’를 의미한다.

  • DEFAULT 의 의미
    – 데이터의 기본값 (DEFAULT) 을 사전에 설정할 수 있다. 데이터 입력 시 명시된 값을 지정하지 않은 경우 NULL 값이 입력되고, DEFAULT 값을 정의했다면 해당 컬럼에 기본 값이 자동으로 입력된다.

4) 테이블 구조 확인

  • DESCRIBE
  • sp_help (sql server)

5) STAS : NOT NULL 만 제외하고 전부 제약이 사라짐

3. ALTER TABLe

ALTER TABLE 테이블명 ADD col_name CHARACTER(20);
ALTER TABLE TBL_NAME DROP COLUMN COL_NAME
ALTER TABLE TBL_NAME MODIFY (COL_NM 데이터유형 [DEFAULT][NOT NULL], ...); => sql server 에서는 ALTER 를 사용함
ALTER TABLE TBL_NAME RENAME COLUMN NAME1 TO NAME2
ALTER TABLE TBL_NAME DROP CONSTRAINT [제약조건명];
ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 제약조건 (컬럼명);

4. RENAME TABLE

-- ORACLE

RENAME 변경전테이블명 TO 변경후테이블명;

-- SQL Server

sp_rename 변경전테이블명, 변경후테이블명;

5. DROP TABLE

DROP TABLE NAME [CASCADE CONSTRAINT];

6. TRUNCATE TABLE

TRUNCATE TABLE NAME;

profile
Mechanical & Computer Science

0개의 댓글