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 |