본문 바로가기
기록해보기

Database와 MySQL

by titlejjk 2023. 6. 2.

이번 정리는 디스크와 메모리의 차이를 이해하고, Database의 필요성을 이해하는 정리를 해보겠다.

그런다음 MySQL Database를 SQL과 함께 조작도 해보고 

스프링 서버를 이용해 Database에 접근하고 데이터를 저장, 조회, 업데이트, 삭제를 해보겠다.

또한 API의 예외 상황을 알아보고 예외를 처리해보겠다.

전에는 서버를 종료했다가 시작하면, 저장했던 유저 정보가 모두 날라갔는데 이러면 안된다..

이를 위해하기 위해 컴퓨터의 핵심부품에 대해 먼저 알아보겠다.

컴퓨터는 기본적으로 크게 세가지가 중요하다.  

CPU RAM DISK

CPU👉
주로 연산이다.

RAM👉

다른 말로는 Memory 임시기억장치이다.

DISK👉

장기기억역할

 

우리가 서버를 실행시켜 API를 동작시키기까지는 개발하고 있는 서버는 DISK에 잠들어 있다. 서버를 실행시키면 DISK에 있는 코드 정보가 RAM쪽으로 복사가 되고 API가 실행이 되면 "연산"이 수행되며 CPU와 RAM을 왔다갔다하면서 저장이 된다.

즉 POST API를 통해 생긴 유저 정보는 RAM에 저장이 된다. 이 상태에서 서버가 종료되면 RAM에 있는 모든 정보는 사라진다.

이 때문에 다시 서버를 시작하면 유저 정보가 없어진다.

그렇다면 서버에서는 어떻게 Disk에 저장할 수 있을까?

File 클래스등을 이용해 직접 Disk에 접근할 수도 있지만 일반적으로 서버 애플리케이션은 이럴경우를 위해 Database를 이용한다.

Database란 우리가 가지고 있는 다양한 데이터들을 구조화해서 저장하는 것을 가르킨다.

데이터를 표처럼 구조화 시켜 사용하는 RDB(Relational Database)인 MySQL데이터베이스를 사용할 것이다.

Database란 데이터를 구조화 시켜 저장

RDB는 구조화는 시키는데 이를 표처럼 저장한다는 뜻이다.

SQL(Structured Query Langueage)👉

Structured 구조화된 Query 조회 Langueage언어 즉 표처럼 구조화된 데이터를 조회하는 언어를 SQL이라 한다.

이번 과정에서 MySQL을 사용할 것이다.

강의에서는 인텔리제이 유료버전을 쓴다하니.. 나는 못쓰고..

다른 방법으로는  CLI로 바로 접근하는 방법을 사용할 예정이다.

이번 공부는 맥을 이용하기 때문에 맥에서는 

>_

터미널을 이용하여 MySQL을 이용할 것이다.

터미널을 열어서 mysql -u root -p를 사용하면된다.

만약 비밀번호가 없다면 mysql -u root까지만 적어도된다.

그러면 mysql>이라 나오고 이제 SQL을 타이핑할 수 있다.

댓글