(1)MySQL_DBMS
DataBase (데이터베이스)
Data: 자료
DataBase: 자료를 통합하여 관리하는 집합체, 저장소
DBMS(Database Management System, 데이터베이스 관리 시스템)
데이터베이스를 관리해주는 소프트웨어
DBMS를 사용하는 이유
- 중복된 데이터를 제거 또는 관리
- 효율적인 데이터를 처리
- 자료를 구조화 시킬 수 있음
- 다양한 프로그램을 사용하는 사용자들과 데이터를 공유
MySQL 다운로드
1. https://dev.mysql.com/downloads/installer/ 로 이동
2. Window (x86, 32 & 64-bit), MySQL Installer MSI 클릭
3. Window (x86, 32-bit), MSI Installer DownLoad
4. No thanks, just start my download. 클릭
정보를 요청하는 쪽 정보를 제공하는쪽
Client ------> server
관계형 데이터베이스
- DataBase -> Table(엑셀과 비슷)
- 행(row, 레코드), 열(필드, column)
- SQL 언어를 사용
SQL(Structured Query Language)
- 데이터베이스에서 데이터를 정의, 조작, 제어하기위해 사용하는 언어
- 대소문자 구별하지 않음
- 문자열을 저장할 때 ' '(싱글 쿼트)만 사용
주석문
- 한 줄 주석문: # or --sys_config
- 여러줄 주석문: /* */
데이터베이스 확인하기
SHOW DATABASES;

데이터베이스 생성하기
- create database 데이터베이스명;
create database test;
데이터베이스 삭제하기
- drop database 데이터베이스명;
drop database test;
테이블(table)
- 테이터를 행과 열로 스키마에 따라 저장할 수 있는 구조
✔ 스키마
- 데이터베이스의 구조와 제약조건에 관한 명세를 기술한 집합의 의미
테이블 만들기
create table 테이블명(
필드명1 데이터타입 제약조건,
필드명2 데이터타입 제약조건,
필드명2 데이터타입 제약조건,
...
필드명n 데이터타입 제약조건
)
데이터 타입(Data Type)
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. 문자형 타입
- char: 고정 길이 데이터 타입(최대 255byte), 지정된 길이보다 짧은 데이터를 입력할 때 나머지 공간을 공백으로 채움
- varchar: 가변 길이 데이터 타입(최대 65535byte), 지정된 길이보다 짧은 데이터를 입력할 때 나머지 공간은 채우지 않음
- text: 문자열 데이터 타입(최대 65535byte)
- longtext: 무제한 문자열 데이터 타입
3. 이진 데이터 타입
- binary or byte: char의 형태의 이진 데이터 타입(최대 255byte)
- varbinary: varchar의 형태의 이진 데이터 타입(최대 65535byte)
4. 날짜 데이터 타입
- date: 날짜(년도, 월, 일) 형태의 데이터 타입(3byte)
- time: 시간(시, 분, 초) 형태의 데이터 타입(3byte)
- datetime: 날짜와 시간 형태의 데이터 타입(8byte)
- timestamp: 1970년 1월 1일 부터 시작한 ms 타입의 시간이 저장(4byte)
제약 조건(constraint)
- 데이터의 무결성을 지키기 위해 데이터를 입력 받을 때 실행되는 검사 규칙을 의미
not null
- null 값을 허용하지 않음
- 중복값을 허용
unique
- 중복값을 허용하지 않음
- null 값을 허용
primary key
- null 값을 허용하지 않음
- 중복값을 허용하지 않음
- 테이블에 단 하나
- 테이블의 대표
foreign key
- primary key를 가진 테이블과 연결하는 역할
default
- null 값을 삽입할 때 기본이 되는 값을 저장할 수 있게 함
enum
- 원하는 범위를 설정하고 해당 범위의 값만 저장 # 권장하지 않음
ex) enum('남자','여자')