DBMS(테이블,데이터 타입,열 속성)

최동민·2022년 6월 13일
0

DBMS

목록 보기
3/6

테이블(Table)

데이터 타입

정수형

  • 부호 없는 정수는 뒤에 UNSIGNED를 붙인다.
  • TINYINT : 1 Byte, -128~127
  • TINYING UNSIGNED : 1Byte, 0~255 (음수만큼 양수로 끌어온다)
  • SMALLINT : 2 Bytes, -32768~32767, 부호 없을 시 0~65536
  • MEDIUMINT : 3 Bytes, -8388608~8388607, 부호 없을 시 0~16777215
  • INT : 4Bytes, -2147483648 ~ 2147483647, 부호 없을 시 0~4294967295
  • BIGINT : (무제한 수)-9223372036854775808 ~ 9223372036854775807, 8바이트
    -- 타입 뒤에 (n)을 붙여 자리수 제한 가능. 가령 TINYINT(1)은 -9-9까지 표현 가능.

소수형

  • FLOAT : -3.40282346610^38 ~ -3.40282346610^38, 4바이트
    -- 연산을 하다보면 끝자리가 안 맞는 에러가 있으나 double에 비해 메모리가 적다 (메모리효율)
  • DOUBLE : -1.7910^308 ~ -1.1710^308, 8바이트
    -- 특성상 연산 오류가 발생하여 소숫점 뒷자리가 버려지거나, 연산상 오류가 발생할 수 있음
  • DECIMAL(a, b) : (a + 1) Bytes, a는 전체 자리 길이를, b는 소숫점 자리 길이를 지정.
    -- 가령 DECIMAL(3, 2) 은 정수 한 자리, 소수 두 자리(#.#)의 형태에 대한 데이터를 가질 수 있다.(쓸 일 잘 없다)
    [INT 와 DOUBLE 만 자주 쓰인다]

문자

  • VARCHAR(n) : n자 이하의 문자(Bytes), n은 65535 Bytes를 초과하지 않는다.
    -- 한 테이블 내에 존재하는 모든 VARCHAR의 길이의 합이 65535를 초과 X
    -- 지금은 바이트 단위 X, 글자수 단위 O
    ex) (VARCHAR(10) : 언어 구분 없이 10자
  • TINYTEXT : 최대 255자
  • TEXT : 최대 65535자(Bytes)
  • MEDIUMTEXT : 최대 16777215자 (int와는 달리 medium이 기본보다 크다)
  • LONGTEXT - 최대 4294969295자

일시(날짜/시간)

  • DATE : 3 Bytes, 년/월/일
  • TIME : 3 Bytes, 시:분:초
  • YEAR : 1 Bytes, 연도
  • DATETIME : 8 Bytes, 년/월/일 시:분:초
    -- 0000-01-01 00:00:00 ~ 9999-12-31 23:59:59
  • TIMESTAMP : 4 Bytes, 년/월/일 시:분:초
    -- 1970-01-01 00:00:00 부터 2038-01-19 03:14:07
    (UNIX 시간 저장 : 1970년 1월 1일 0시 0분 0초부터 지금까지 지난 시간 초)

기타

  • BOOLEAN : 1 Bytes, 참(True)/거짓(False) 값만 가진다. ( TINYINT(1) )
  • TYNYBLOB, BLOB, MEDIUMBLOB, LONGBLOB : 이진데이터(파일업로드용)
    -- 이진 데이터 : 업로드 한 데이터를 테이블에 담고자 할 때 사용. (첨부파일, 사용자 프로필 사진)

열 속성

NOT NULL : 해당 열 값이 비어있을 수 없음을 의미
DEFAULT x :해당 열 값이 명시되지 않은 경우(NOT NULL 여부와 무관하게) 기본 값으로 x 사용
AUTO_INCREMENT : 해당 열 값에 대해 명시되지 않은 경우 1부터 시작하여 자동 증가한 값을 사용
-- 해당 열이 기본키(Primary Key)일 때에만 작동


테이블 생성

테이블 정보 조회

테이블 삭제 및 조회
가진 테이블이 조회됨.

테이블 열 삭제 및 테이블 이름 변경

테이블 수정 -> 열 추가

테이블 열 수정

x >= y : x가 y이상
x <= y : x가 y이하
x > y : x가 y초과
x < y : x가 y미만
x = y : x가 y랑 같음(숫자, 문자 등)
x <> y : x가 y랑 다름
x IS NULL : x가 NULL임
x IS NOT NULL : x가 NULL이 아님
x AND y : x및 y조건 둘다 참(TRUE)이어야 참을 반환
x OR y : x및 y조건 중 하나 이상이 참이면 참을 반환

COUNT(x) : x의 개수를 반환한다. x는 열(Column)이거나 리터럴(Literal)일 수 있음.

profile
코드를 두드리면 문이 열린다

0개의 댓글