본문 바로가기

MySQL

1. DataBase(데이터 베이스)

1. DataBase(데이터 베이스)

1-1. DataBase (데이터 베이스)

  • Data : 자료
  • DataBase : 자료를 통합하여 관리하는 집합체, 저장소
  • DBMS(Database Management System, 데이터베이스 관리 시스템) : 데이터베이스를 관리해주는 소프트웨어

 

1-2. DBMS를 사용하는 이유

  • 중복된 데이터를 제거 또는 관리
  • 효율적인 데이터를 처리
  • 자료를 구조화 시킬 수 있음
  • 다양한 프로그램을 사용하는 사용자들과 데이터를 공유

1-3. 관계형 데이터베이스(RDBMS)

  • DataBase -> Table (엑셀과 비슷)
  • 행(로우, 레코드), 열(필드, 컬럼)
  • SQL 언어를 사용

 

1-4. SQL(Structured Query Language)

  • 데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어
  • 대소문자를 구별하지 않음
  • 문자열을 저장할 때 ' '(싱글 쿼트)만 사용
# 데이터베이스 확인하기
show databases;

# 데이터베이스 생성하기
# create database 데이터베이스명;
create database kdt;

# 데이터베이스 삭제하기
# drop database 데이터베이스명;
drop database kdt;

1-5. 테이블(table)

  • 데이터를 행과 열로 스키마에 따라 저장할 수 있는 구조

1-6. 주석

-- 한 줄 주석
# 한 줄주석

/*
여
러
줄
주
석
*/

 

1-6.  스키마(schema)

  • 데이터베이스의 구조와 제약조건에 관한 명세를 기술한 집합의 의미

2. 데이터 타입(Data Type)

2-1.  숫자형 타입

  • tinyint: 정수형 데이터 타입(1byte), -128 ~ 127 표현
  • smallint: 정수형 데이터 타입(2byte), -32768 ~ 32767 표현
  •  mediumint: 정수형 데이터 타입(3byte), -8388608 ~ 8388607 표현
  • int: 정수형 데이터 타입(4byte), -21억 ~ 21억
  • bigint: 정수형 데이터 타입(8byte), 무제한 표현
  • float: 부동 소수형 데이터 타입(4byte)
  • decimal(길이, 소수): 고정 소수형 데이터 타입(길이 + 1byte)
  • double: 부동 소수형 데이터 타입(8byte)

 

2-2.  문자형 타입

  • char: 고정 길이 데이터 타입(최대 255byte). 지정된 길이보다 짧은 데이터를 입력할 때 나머지 공간을 공백으로 채움
  • varchar: 가변 길이 데이터 타입(최대 65535byte). 지정된 길이보다 짧은 데이터를 입력할 때 나머지 공간은 채우지 않음
  • text: 문자열 데이터 타입(최대 65535byte)
  • longtext: 무제한 문자열 데이터 타입

 

2-3.  이진 데이터 타입

  • binary 또는 byte: char의 형태의 이진 데이터 타입(최대 255byte)
  • varbinary: varchar의 형태의 이진 데이터 타입(최대 65535byte)

2-4.  날짜 데이터 타입

  • date: 날짜(년도, 월, 일) 형태의 데이터 타입(3byte)
  • time: 시간(시, 분, 초) 형태의 데이터 타입(3byte)
  • datetime: 날짜와 시간 형태의 데이터 타입(8byte)
  • timestamp: 1970년 1월 1일 0시 0분 0초부터 시작한 ms 타입의 시간이 저장(4byte)

3. 제약 조건(constraint)

  • 데이터의 무결성을 지키기 위해 데이터를 입력 받을 때 실행되는 검사 규칙을 의미

3-1.  not null

  • null 값을 허용하지 않음
  • 중복값을 허용

3-2.  unique

  • 중복값을 허용하지 않음
  • null값을 허용

3-3.  primary key

  • null 값을 허용하지 않음
  • 중복값을 허용하지 않음
  • 테이블에 단 하나
  • 테이블의 대표

3-4.  foreign key

  • primary key를 가진 테이블과 연결하는 역할

3-5.  default

  • null 값을 삽입할 때 기본이 되는 값을 저장할 수 있게 함

3-6.  enum

  • 원하는 범위를 설정하고 해당 범위의 값만 저장(권장하지 않음)

'MySQL' 카테고리의 다른 글

5. 문자열 함수  (0) 2023.03.20
4. 정규화(Normalization)  (0) 2023.03.20
3. Select  (0) 2023.03.16
2. Update, Delete, Insert  (0) 2023.03.16
0. MySQL 설치  (0) 2023.03.15