SQL 기본
데이터는 왜 초기화 되는가?
코드를 저장하면 코드는 컴퓨터를 아무리 껏다가 켜도 그대로 남아있다. 이것이 SSD 의 역할
SSD 같은 경우는 우리가 데이터를 저장하게 되면 그 데이터가 고장나지 않는 이상 영구적으로 저장된다.
만약 코드를 실행하게 되면 SSD 에 저장되어 있던 코드가 램으로 올라가게 된다. SSD에 있던 코드가 그대로 램에 올라오는 것
즉 실행되고 있는 것만 램에 올라온다.
그래서 램에 위치해 있는 이 데이터가 실행이 되어서 서버를 실행하게 된다.
그런데 램에 올라간 데이터는 프로그램이 재시작되면 리셋된다. 이는 하드웨어적인 문제이다. 램은 데이터를 영구적으로 들고 있지 못한다.
그렇기 때문에 실행 도중에 생성된 변수들이나 변경된 값들은 유지될 수가 없다.
왜 램을 사용할까?
램이 속도가 더 빠르기 떄문이다. 그래서 속도가 비교적 느린 SSD 에다가 영구적으로 저장만하고 실행할 때는 데이터에 더 빠르게 접근할 수 있는 램에다가 데이터를 올린다음에 램에서 실행하는 것이다.
프로그램이 종료되더라도 데이터를 유지하려면 HDD/SSD에 데이터를 작성해야한다.
가장 흔히 사용되는 방법이 SQL 을 사용하는 것이다.
SQL 이란?
Structured Query Language 라는 이 3개 단어의 약자이다.
SQL은 테이블로 구성이 되어 있고 세로는 컬럼 가로는 로우이다.
로우를 보면 실제 하나의 데이터이다.
테이블같은 경우는 무수하게 많이 원하는대로 계속 생성할 수가 있고 이름을 지어줄 수 있다.
SELECT - 데이터 선택하기
SELECT {column} FROM {table}
SELECT id, author, title, content FROM post
이렇게 입력한다면 JSON 형태로 데이터가 넘어온다.
UPDATE - 데이터 업데이트 하기
UPDATE {table} SET {column} WHERE {condition}
UPDATE post SET likeCount = 0 WHERE id = 3
DELETE - 데이터 삭제하기
DELETE FROM {table} WHERE {condition}
DELETE FROM post WHERE author = 'muyeon'
INSERT - 새로운 데이터 추가하기
INSERT INTO {table} {column1, column2 ...}
VALUES {value1, value2 ...}
INSERT INTO posts (id, author, title, content)
VALUES (7, 'muyeon', '열', '공부중')