[스파르타 코딩 클럽] Spring 2주차 개발일지
·
스파르타 코딩클럽/Spring
1. RDBMS RDBMS(Relational DataBase Management System)은 컴퓨터에 정보를 저장하고 관리하는 기술이다. 쉽게 생각하면 성능/관리 면에서 매우 고도화된 엑셀이라고 보면 된다. 우리가 사용할 RDBMS의 종류는 H2, MySQL 두 가지이다. H2는 서버가 작동하는 동안에만 내용을 저장하고, 서버가 작동을 멈추면 데이터가 모두 삭제되는 데이터베이스이다. 연습용으로 가장 적합하다. MySQL 은 우리가 서비스를 배포할 때 사용할 데이터베이스이다. AWS RDS라는 서비스를 사용해 붙여볼 예정인데, 스프링과 궁합이 좋아서 많은 회사에서 사용한다. 2. JPA JPA는, SQL을 쓰지 않고 데이터를 생성, 조회, 수정, 삭제할 수 있도록 해주는 번역기이다. JPA는 자바로 ..
[스파르타 코딩 클럽] SQL 4주차 개발일지
·
스파르타 코딩클럽/SQL
1. Subquery Subquery 는 쿼리안의 쿼리라는 뜻으로, 하위 쿼리의 결과를 상위 쿼리에 사용하면, SQL 쿼리가 훨씬 간단해진다. kakaopay 로 결제한 유저들의 정보를 볼려면, select u.user_id, u.name, u.email from users u inner join orders o on u.user_id = o.user_id where o.payment_method = 'kakaopay' 이렇게 볼 수 있는데, Subquery 를 사용하면 select u.user_id, u.name, u.email from users u where u.user_id in ( select user_id from orders where payment_method = 'kakaopay' ) 이..
[스파르타 코딩 클럽] SQL 3주차 개발일지
·
스파르타 코딩클럽/SQL
더보기 1. Join join 은 두 테이블의 공통된 정보 (key값)를 기준으로 테이블을 연결해서 한 테이블처럼 보는 것을 의미한다. 여기서 key값이란 똑같은 정보가 담긴 필드를 의미한다. 예를 들어 point_users 테이블과 users 테이블을 연결하려고 할 때, user_id 라는 공통의 필드를 key값으로 설정해주면 된다. select * from point_users left join users on point_users.user_id = users.user_id 입력 시, 이와 같이 같은 key 값을 가진 것들끼리 연결해준다. 2. Join의 종류 Join에는 Left Join과 Inner Join이 있다. Left Join은 이 그림을 코드로 표현하면 select * from users..
[스파르타 코딩 클럽] SQL 2주차 개발일지
·
스파르타 코딩클럽/SQL
1. Group by Group by 란 동일한 범주를 갖는 데이터를 하나로 묶어서, 범주별 통계를 내주는 것을 의미한다. 예를 들어 Group by 를 이용하면 1) 같은 성씨의 데이터를 하나로 묶고 2) 각 성씨의 회원수를 구할 수 있다. select name, count(*) from users group by name 입력 시, 이와 같이 성씨별로 회원이 몇 명인지, 세어진 것을 확인할 수 있다. 2. Order by 만약 위의 데이터를 좀 더 깔끔하게 정렬하고 싶을 경우 Order by 를 사용하면 된다. select name, count(*) from users group by name order by count(*) 입력 시, 데이터가 오름차순으로 정렬된다는 걸 알 수 있다. 만약 내림차순으..
[스파르타 코딩 클럽] SQL 1주차 개발일지
·
스파르타 코딩클럽/SQL
1. Select 쿼리문 쿼리(Query)문이란 데이터베이스에 명령을 내리는 것을 의미한다. 여기서 Select 쿼리문은, 데이터베이스에서 '데이터를 선택해서 가져오겠다'는 의미이다. Select 쿼리문은 1) 어떤 테이블에서 2) 어떤 필드의 데이터를 가져올지 로 구성된다. 2. 데이터베이스 만약 데이터베이스의 테이블을 보고싶을 경우, show tables; 입력 시, 아래와 같은 결과가 나온다. 위의 테이블 중에서 orders 테이블의 데이터를 가져오고 싶을 경우, select * from orders; 입력 시, 이와 같은 결과가 나온다. 만약 orders 테이블의 특정 필드만 가져오고 싶을 경우에는 select created_at, course_title, payment_method, email ..