MySQL

테이블 생성 및 제약 사항

yoooon1212 2024. 5. 30. 12:04

테이블이란

MySQL에서 테이블(table)은 데이터를 저장하는 기본적인 단위입니다.

테이블은 열(column)과 행(row)으로 이루어져 있으며, 각 열은 데이터 유형을 나타내는 데이터 형식(data type)을 가지고 있습니다.

 

 

데이터베이스에서 테이블은 다음과 같은 정보를 포함할 수 있습니다.

  1. 테이블 이름
  2. 열 이름
  3. 열 데이터 형식
  4. 빈 값 허용 여부
  5. 기본값
  6. 제약 조건 (Primary Key, Unique Key, Foreign Key 등)
  7. 인덱스
SQL (Structured Query Language)은 데이터베이스 관리 시스템 (DBMS)에서 데이터를 관리하고 검색하기 위해 사용되는 표준 데이터베이스 언어입니다. (안시 쿼리)

 

 

코드 예시)

 

DESC 명령어는 특정 테이블의 구조(스키마) 정보를 출력하는 명령어입니다. DESC는 DESCRIBE 의 약어로, 테이블의 구조 정보를 보다 간략하게 확인할 수 있도록 지원하는 명령어입니다.

 

 

 

 

테이블 생성 시 기본키를 추가하는 방법 (2가지)

 

(1)

 

(2)

 

이미 생성된 테이블에 PK(기본키 - 제약 조건)를 추가하는 방법 

기본키를 추가하면 해당 열에 대한 중복 데이터가 저장될 수 없으며, 데이터 검색 속도가 향상됩니다.

기본키는 테이블 내에서 고유한 값이어야 하며, 해당 열에 대해 Not Null 제약 조건이 설정되어 있어야 합니다.

 

 

 

alter table 테이블명 add primary key(컬럼명);

 

 

MySQL에서 가장 많이 사용하는 데이터 타입

 

  1. 숫자 타입: INT, BIGINT, FLOAT, DOUBLE
  2. 문자열 타입: VARCHAR, CHAR, TEXT, BLOB
  3. 날짜/시간 타입: DATE, TIME, DATETIME, TIMESTAMP
  4. 불리언 타입: BOOLEAN, BOOL

 

데이터 타입은 테이블의 컬럼에 저장될 데이터의 형식을 결정하므로, 정확한 데이터 타입을 선택하는 것이 중요합니다. 이를 통해 데이터베이스의 성능을 최적화하고, 데이터 무결성을 보장할 수 있습니다.

 

숫자 타입은 정수형(INT, BIGINT)과 실수형(FLOAT, DOUBLE)으로 구분됩니다. 정수형은 소수점 이하의 값을 저장하지 않으며, 실수형은 소수점 이하의 값을 저장할 수 있습니다. 문자열 타입은 고정 길이(CHAR)와 가변 길이(VARCHAR)로 구분됩니다. 고정 길이는 저장할 데이터의 길이가 일정하며, 가변 길이는 저장할 데이터의 길이가 가변적입니다.

 

TEXT는 대부분의 문자열 데이터를 저장하는 데 사용됩니다.

BLOB는 이진 데이터를 저장하는 데 사용됩니다. 최대 크기는 TEXT와 동일하지만, TEXT는 문자 집합(Character Set)과 관련된 처리를 합니다. BLOB은 이진 데이터로 간주되어 문자 집합에 영향을 받지 않습니다.

 

날짜/시간 타입은 날짜(DATE), 시간(TIME), 날짜와 시간(DATETIME, TIMESTAMP) 등으로 구분됩니다. 불리언 타입은 참(TRUE, 1)과 거짓(FALSE, 0) 두 가지 값을 저장할 수 있습니다.

 

 

 

`  ` (백틱)

 

 

date 입력 시 -- 추가 입력해도 자동으로 형식 맞춰서 입력됨.

 

 

default

 

 

 

major 지우기

 

 

 

major에 default 입력

 

 

 

student_id 가 4인 야스오의 data가 삭제됨.

 

 

 

date 타입

 

오류 발생 상황(3가지)