SQL/DB Essentials - CH03

Namlulu·2022년 3월 3일
0

DB

목록 보기
3/10

데이터 타입

  • 정수형

    1. TINYINT: 1 byte
    2. SMALLINT: 2 byte
    3. MEDIUMINT: 3 byte
    4. INT: 4 byte
    5. BIGINT: 8 byte
  • 실수형

    1. DECIMAL: -999.99 ~ 999.99, 고정
    2. FLOAT: 4 byte, 부동
    3. DOUBLE: 8 byte, 부동
  • 문자열

    1. CHAR: 1 byte + data, 고정
    2. VARCHAR: 1 or 2 byte + data, 가변
    3. TINYTEXT: 1 byte + data
    4. TEXT: 2 byte + data
    5. MEDIUMTEXT: 3 byte + data
    6. LONGTEXT: 4 byte + data
  • 기타

    1. ENUM: 나열형
    2. SET: 나열형 다중값
  • 이진 문자형

    1. BINARY: 1 byte, 고정
    2. VARBINARY: 2 byte, 가변
    3. TINEYBLOB: 1 byte + data
    4. BLOB: 2 byte + data
    5. MEDIUMBLOB: 3 byte + data
    6. LONGBLOB: 4 byte + data
  • 날짜형

    1. YEAR: YYYY
    2. DATE: YYYY-MM-DD
    3. TIME: HH:MM:SS
    4. DATETIME: YYYY-MM-DD HH:MM:SS
    5. TIMESTAMP: DATETIME과 달리 숫자로 저장함, 공간 줄이기 가능

DDL

  1. CREATE {SCHEMA | DATABASE} SCHEMA;
    • 스키마 생성
  2. DROP {SCHEMA | DATABASE} SCHEMA;
    • 스키마 삭제
  3. CREATE TABLE;
    • NOT NULL
    • UNIQUE: 고유한 값, NULL 허용, 인덱스 생성함
    • PK
    • FK
    • CHECK: 입력, 수정 가능한 값의 범위를 제한하는 논리식 기술
    • DEFAULT
    • AUTO INCREAMENT
    • 제약조건은 수정이 불가하며 삭제하고 다시 만들어야 함
  4. 예시
  5. 검증
    • DESCRIBE {TABLE}로 검증한다.
  6. CTAS: SELECT를 활용하여 만드는 CREATE
CREATE. TABLE order_temps AS
SELECT *
FROM orders

DESCRIBE order_temps
  1. DROP TABLE {TABLE} {RESTRICT | CASCADE};
    • 테이블 삭제
    • MySQL은 자식 테이블 하나라도 있으면 삭제 못함
  2. ALTER TABLE
    • 테이블 변경
    • ADD COLUMN, DROP COLUMN
    • MODIFY COLUMN, RENAME COLUMN
    • ADD CONSTRANT
    • DROP PRIMARY KEY / FOREIGN KEY / CHECK
  3. RENAME TABLE
  4. TRUNCATE TABLE
  5. Rollback을 통한 복구가 안됨. 따라서 DELETE FROM을 통해 삭제해주는 게 안전함
profile
Better then yesterday

0개의 댓글