이번에 만든 메모앱의 문제점은 백엔드 서버가 꺼지면 저장되어 있는 모든 데이터가 날아간다는 것이다.
이를 방지하기 위해 데이터 베이스를 사용해야 한다.
그럼
데이터베이스란?
우리가 다루는 데이터들을 저장, 수정, 삭제할 수 있는 소프트웨어
데이터베이스의 종류
RDB - SQL언어 기반의 전통적인 데이터베이스이다
NOSQL SQL언어를 사용하지 않고도 문서형식의 데이터를 사용할 수 있다.
SQL의 기초
https://www.w3schools.com/sql/trysql.asp?filename=trysql_asc
SQL Tryit Editor v1.6
WebSQL stores a Database locally, on the user's computer. Each user gets their own Database object. WebSQL is supported in Chrome, Safari, Opera, and Edge(79). If you use another browser you will still be able to use our Try SQL Editor, but a different ver
www.w3schools.com
위의 링크는 SQL을 연습할 수 있는 웹사이트이다.
SELECT * FROM Customers;
Customers테이블의 있는 모든(*) 데이터를 가져온다
SELECT Address FROM Customers;
Customers테이블의 Address 데이터만 가져온다
SELECT Address,CustomerName FROM Customers;
Address와CustomerName의 데이터를 가져올 수 있음
참고로 입력하는 순서에 따라 나오는 순서가 다름
지금은 Address를 먼저 입력했기 때문에 순서가 먼저 나옴
SELECT * FROM Orders;
Order테이블의 모든(*)데이터를 가져옴
이런 식으로 테이블명을 바꿔서 가져올 수도 있음
JOIN{테이블명1}ON{테이블1.id = 테이블2.id}
JOIN은 두 가지 테이블을 합치는 것인데 두 테이블이 id라는 것을 공유하고 있어야 합칠 수 있다.
가장 위에 사진을 보면 첫 번째에 CustomerID라는 게 보인다.
이 사진에도 같은 CustomerID가 있다.
이렇게 같은 ID를 공유하면 JOIN을 사용할 수 있다.
드래그한 부분이 원래 Orders에 있던 데이터들인데 JOIN을 하니까 뒤에 Customers에 대한 데이터들도 합쳐졌다.
SELECT * FROM Orders JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
SELECT * FROM Orders JOIN Customers ON → Orders와 Customers 이 둘의 테이블을 합칠 건데
Orders.CustomerID = Customers.CustomerID; → Orders의CustomerID 와 Customers의CustomerID가 같은 것을
이렇게 이해했다.
참고로 SQL문법은 웬만하면 대문자로 해주는 게 좋다
그리고 문장의 뒤에는 꼭 ; 을 붙여주자
그래야 문장이 끝났다는 것을 인식할 수 있다.
그리고 두 개뿐만이 아니라 더 많은 테이블을 JOIN 할 수 있다.
SELECT * FROM Orders JOIN Customers ON Orders.CustomerID = Customers.CustomerID
JOIN OrderDetails ON OrderDetails.OrderID = Orders.OrderID;
이런 식으로 JOIN {다른 테이블 이름} ON
을 이용해서 연결이 가능하다.
이렇게 테이블 3개만 합쳐도 Coulmn이 엄청 길어져서 보기가 힘들다
조금 원하는 데이터만 더 간추려보자
SELECT * FROM
부분에서 * 이 부분에 원하는 데이터의 Coulmn만 적어주면 된다.
SELECT OrderDate,OrderDetailID FROM
이렇게 2개의 Coulmn만 가져왔다.
WHERE {조건문}
이렇게 간추린 것 중에서 특정 조건의 데이터만 보고 싶을 때 사용하면 된다
SSELECT OrderDate,OrderDetailID FROM Orders
JOIN Customers ON Orders.CustomerID = Customers.CustomerID
JOIN OrderDetails ON OrderDetails.OrderID = Orders.OrderID
WHERE OrderDetailID > 10;
이렇게 하면 OrderDetailID 가 10보다 큰 데이터만 찾아준다.
이 뒤에 AND를 이용할 수도 있다
'개발공부' 카테고리의 다른 글
백엔드_데이터베이스 / Dbeaver로 테이블 만들기 (0) | 2023.07.04 |
---|---|
백엔드_데이터베이스 / SQL문 기초 두 번째 (0) | 2023.07.04 |
동적 웹사이트 배포하기(Deta Space) (3) | 2023.07.03 |
백엔드_백엔드의 핵심 CRUD(2) (0) | 2023.07.03 |
백엔드_Java 이클립스 환경에서 프로그래밍 하기(자바의 정석) (0) | 2023.07.02 |