backend
  • README
  • DOCS
    • Java Docs
    • Servlet Docs
    • JSP Docs
    • DB & SQL Docs
    • Spring Boot Docs
    • Spring Security Docs
    • AWS Docs
  • 설치하기
    • Intellij 설정
  • 자바
    • 01 Java란?
    • 02 자바 시작하기
    • 03 자료형과 연산자
    • 04 제어문
    • 05 메소드
    • 06 클래스 기초
      • Static 보충자료
      • 패키지 보충자료
    • 07 객체지향 프로그래밍
    • 08 클래스 더 알아보기
      • 열거형 ENUM 보충자료
    • 09 클래스와 자료형
      • 다형성 보충자료
      • 제네릭 보충자료
    • 10 컬렉션 프레임워크
      • 컬렉션 프레임워크 보충자료
    • 11 람다식과 함수형 프로그래밍
      • 람다식 보충자료
    • 12 오류 대비하기
      • 오류 보충자료
    • 13 멀티태스킹
      • 멀티태스킹 보충자료
    • 교재보충
      • java.lang
  • 스프링
    • 서블릿, JSP
      • 05 Servlet(서블릿)
        • 서블릿 보충자료
        • 서블릿 추가코드
        • XML, YAML, JSON
      • 06 JSP(자바 서버 페이지)
        • JSP 보충자료
      • 07 JSTL(JSP 스탠다드 태그 라이브러리)
        • JSTL 보충자료
      • 08 Cookie(쿠키), Session(세션)
      • 09 서블릿,필터,리스너
        • 서블릿,필터,리스너 보충자료
      • 11 도서관리 프로젝트 실습
    • Spring Boot
      • 01 스프링 등장 배경, 객체지향
        • 스프링 등장 배경, 객체지향 보충자료
      • 02 IOC(제어의 역전), DI(의존성 주입)
        • IOC 보충자료
        • DI 보충자료
      • 03 스프링 구조
        • 스프링 구조 보충설명
      • 04 테스트코드 실습
      • 05 스프링 빈 설정
        • 스프링 빈 설정 보충자료
      • 06 싱글톤
        • 싱글톤 보충 자료
      • 07 스프링 빈 자동설정
        • 스프링 빈 자동설정 보충자료
      • 08 빈 생명주기
        • 빈 생명주기 보충자료
      • 09 빈 스코프
        • 빈 스코프 보충자료
      • 10 스프링 MVC
        • 스프링 MVC 보충자료
        • 데이터베이스 연동에 필요한 부분
      • 11 Validation(검증)
        • Validation(검증) 보충자료
      • 12 Bean Validation(빈검증)
        • Bean Validation(빈검증) 보충자료
      • 13 예외처리
        • 예외처리 보충자료
      • 14 타입변환
      • 15 JDBC(Java Database Connectivity)
      • 16 커넥션풀
      • 17 트랜잭션
        • 트랜잭션 보충자료
      • 18 JDBC 템플릿 활용
      • 19 MyBatis
      • 20 JPA(Java Persistence API)
      • 22 게시판 프로젝트 실습
    • Spring Security
      • 보안(Security)
      • Spring Security
      • 2. Spring Security 알아보기
        • 보안 위협 실제 사례와 방어 전략
      • 3. Spring Security 기본 동작 흐름
      • 4. Spring Security로 인증 권한 추가하기
        • Spring Security의 인증 및 인가
      • 5. Spring Security에서 세션 관리하기
        • 세션(Session)과 쿠키(Cookie) 비교, 토큰(Token)과의 관계
        • 해싱 및 해싱알고리즘
        • base64
      • 6. Spring Security 악용 보호
        • SameSite
      • 7. Spring Security로 인가 권한 추가하기
      • 8. Bcrypt(비크립트) 암호화
      • OAuth2 적용하기
  • 네트워크
    • HTTP
    • OSI 7계층
  • DB&SQL
    • 01 Database(데이터베이스)와 SQL 개요
    • 02 관계형 모델
    • 03 집합
    • 04 JOIN 연산
    • 05 MySQL
      • 세이브포인트
      • DBeaver, Mysql 오토커밋 설정 관련
    • 06 SQL 기초
      • 예시데이터 쿼리문
    • 07 SQL 실습
      • 실습 스키마
    • 08 Join 활용
      • 실습스키마
    • 09 SQL 활용
      • 실습스키마
    • 10 정규화
      • 실습 스키마
    • 데이터타입
    • 예시 프로젝트 스키마 구성
  • AWS
    • SSL 연결하기
    • 보충설명
Powered by GitBook
On this page
  • 1. 숫자 타입
  • 2. 문자열 타입
  • 3. 날짜와 시간 타입
  • 4. 공통 속성
  • 사용 예시
  1. DB&SQL

데이터타입

1. 숫자 타입

숫자 타입은 정수와 실수로 나눌 수 있습니다.

1.1 정수 타입

  • TINYINT: 1바이트 크기. -128 ~ 127 (SIGNED), 0 ~ 255 (UNSIGNED).

  • SMALLINT: 2바이트 크기. -32,768 ~ 32,767 (SIGNED), 0 ~ 65,535 (UNSIGNED).

  • MEDIUMINT: 3바이트 크기. -8,388,608 ~ 8,388,607 (SIGNED), 0 ~ 16,777,215 (UNSIGNED).

  • INT/INTEGER: 4바이트 크기. -2,147,483,648 ~ 2,147,483,647 (SIGNED), 0 ~ 4,294,967,295 (UNSIGNED).

  • BIGINT: 8바이트 크기. -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 (SIGNED), 0 ~ 18,446,744,073,709,551,615 (UNSIGNED).

주의: UNSIGNED를 사용하면 음수를 제외하고 더 큰 값을 저장할 수 있습니다.

1.2 실수 타입

  • FLOAT: 4바이트 크기. 소수점 이하를 포함한 부동소수점. 정확도가 낮음.

  • DOUBLE (또는 REAL): 8바이트 크기. 소수점 이하를 포함한 고정소수점. 정확도가 높음.

  • DECIMAL(혹은 NUMERIC): 고정 소수점 타입. DECIMAL(M, D) 형태로 지정 가능.

    • M: 전체 자릿수,

    • D: 소수점 이하 자릿수. (예: DECIMAL(10,2)는 최대 10자리 숫자 중 2자리 소수점).


2. 문자열 타입

문자 데이터를 저장하는 데 사용됩니다.

2.1 고정 길이 문자열

  • CHAR(M): 고정 길이 문자열. 최대 255자까지 저장 가능. (예: CHAR(10)은 항상 10자리 공간을 사용).

2.2 가변 길이 문자열

  • VARCHAR(M): 가변 길이 문자열. 최대 65,535자 저장 가능. (단, 최대 크기는 열 전체 크기와 인코딩에 따라 제한됨).

2.3 텍스트 타입

  • TINYTEXT: 최대 255자.

  • TEXT: 최대 65,535자.

  • MEDIUMTEXT: 최대 16,777,215자.

  • LONGTEXT: 최대 4,294,967,295자.

2.4 바이너리 데이터 타입

  • BINARY(M): 고정 길이 바이너리 데이터.

  • VARBINARY(M): 가변 길이 바이너리 데이터.

  • TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB: 바이너리 대용량 데이터.


3. 날짜와 시간 타입

날짜와 시간을 저장하는 데 사용됩니다.

  • DATE: 날짜만 저장. (형식: YYYY-MM-DD, 범위: 1000-01-01 ~ 9999-12-31).

  • DATETIME: 날짜와 시간 저장. (형식: YYYY-MM-DD HH:MM:SS, 범위: 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59).

  • TIMESTAMP: 날짜와 시간을 UNIX 타임스탬프로 저장. (형식: YYYY-MM-DD HH:MM:SS, 범위: 1970-01-01 00:00:01 UTC ~ 2038-01-19 03:14:07 UTC).

  • TIME: 시간만 저장. (형식: HH:MM:SS, 범위: -838:59:59 ~ 838:59:59).

  • YEAR: 연도만 저장. (형식: YYYY, 범위: 1901 ~ 2155).


4. 공통 속성

  • NULL: 데이터가 비어 있을 수 있음.

  • NOT NULL: 반드시 값이 있어야 함.

  • DEFAULT: 기본값 설정 가능.

  • AUTO_INCREMENT: 숫자 타입에서 자동으로 값 증가.


사용 예시

CREATE TABLE example (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    age TINYINT UNSIGNED,
    salary DECIMAL(10, 2),
    hire_date DATE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Previous실습 스키마Next예시 프로젝트 스키마 구성

Last updated 4 months ago