MySQL

(1)MySQL_DBMS

빠스무 2023. 3. 15. 16:03
728x90

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('남자','여자')