MySQL 7

MySQL Role 권한 설정

MySQL 8 버전에서 지원하는 role 기능에 대해서 소개해보고자 한다. 1. MySQL Role 이란? 2. MySQL Role 기본 쿼리 3. 조건 별 Role 권한 할당 1. MySQL Role 이란? 말 그대로 역할을 의미한다. 더 풀어서 설명하자면, 권한을 모아 둔 역할이다. 마치 '학생은 다른 학생들의 개인 정보를 볼 수 없다.', '선생님은 본인 반에 한하여 학생 정보를 볼 수 있다.'와 같이, 각자의 role에 맞는 역할이 있는 것과 같다. 이를 통해 집합에 대한 권한을 한번에 설정 및 관리할 수 있으므로, 사용자에 대한 권한 관리 및 운영이 더욱 수월해지게 된다는 장점이 있다. 1-1. Role 생성 순서 및 구조 즉, role 을 생성하고 & role에 권한을 할당하고 & 이로써 특정..

MySQL 의 UPSERT 쿼리

공부를 통해 배운 내용을 작성하고 있습니다. 혹여 해당 포스팅에서 잘못된 부분이 있을 경우, 알려주시면 빠르게 수정 조치하도록 하겠습니다. MySQL 쿼리는 UPSERT 명령어가 별도로 존재하지 않는다. 하지만 INSERT ... ON DUPLICATE KEY UPDATE 문을 통해 UPSERT 문을 구현할 수 있다. 나처럼 UPSERT 쿼리에 대해 익숙하지 않은 분들을 위해, 구현하면서 배운 몇 가지 사항을 정리해보려고 한다. 목차 MySQL 의 UPSERT 문 UNIQUE KEY vs PRIMARY KEY CREATE DATE, UPDATE DATE 컬럼 설정 01. MySQL 의 UPSERT 문 UPSERT 란, UNIQUE 인덱스 또는 PRIMARY KEY 와 동일한 값이 있는 데이터가 기존에 ..

06. SQL - SubQuery 활용 방법 (A.K.A 4주차 수업 정리 (1))

SubQuery란? 큰 쿼리문 안에 들어가 있는 쿼리문을 말한다. 테이블 간 Join 작업인데, 더욱 복잡한 명령을 수행한 뒤 Join을 행할 수 있기 때문에 매우 중요한 개념이다. 1-1. Join이 아닌 SubQuery도 사용해야 하는 이유 - Join과 SubQuery 비교 만약, kakaopay로 결제한 user의 id, email, name을 보여달라는 명령을 수행해본다고 가정해본다. 이는 Join을 이용해서 (저번 시간에 배웠던 대로) 문제를 해결할 수 있다. 하지만, 만약 Join해야 할 테이블에 조건을 걸어야 하는 것이 복잡해진다면, join을 쓰기에는 역부족일 수 있다. 이럴 때 SubQuery를 사용한다. SubQuery를 이용한다면 더욱 간단히 문제를 해결할 수 있다. 01. Join..

Django 웹사이트에 AWS RDS (PostgreSQL) 연결 방법

현재 프로젝트를 진행하며 데이터베이스를 PostgreSQL로 지정하기로 결정했다. RDB를 선택한 이유는 아래와 같다. 사용자 데이터 등 데이터 간 관계 정의 open api data의 경우, 고정된 스키마로 스키마 중복 차지 공간 없앰 그런데, RDB에서도 다양한 DB의 종류가 있다. 그 중에서도 가장 대표적인 건 MySQL과 MS SQL 그리고 PostgreSQL이 있다. PstgreSQL을 선택한 이유 PostgreSQL MySQL 빠르게 데이터를 삽입 삭제할 때 용이 고정된 데이터의 처리에 용이 데이터베이스 백업 기능으로 데이터 소실 시 해결 가능 데이터 소실 우려 오픈 데이터 소스 오픈 데이터 소스 다양한 join 방법이 존재 join 등 데이터 집계의 한계 데이터 삭제 및 삽입 프로세스라 업데..

05. SQL- Join의 활용 (A.K.A 3주차 수업 정리)

안녕하세요 한소희입니다. 공부를 통해 배운 내용을 작성하고 있습니다. 혹여 해당 포스팅에서 잘못된 부분이 있을 경우, 알려주시면 빠르게 수정 조치하도록 하겠습니다. 감사합니다. 목차 Join이란 Inner Join과 Left Join 다양한 Join 활용법 퀴즈 과제 01. Join이란 Join이란, 여러 개의 테이블을 조건(Key)에 맞게 테이블을 연결한 것이다. Join의 예시는 위와 같다. 테이블 A와 테이블 B에는 동일한 '아이디'라는 속성이 있다. 이들을 기준으로, 우리가 원하는 데이터만 끌어 와 새로운 테이블을 생성할 수 있는데, 이것을 Join이라고 한다. 02. Inner Join과 Left Join 가장 많이 쓰이는 방법이 바로 inner join과 left join이다. inner jo..

04. SQL- Group By와 Order By (A.K.A 2주차 수업 정리)

안녕하세요 한소희입니다. 공부를 통해 배운 내용을 작성하고 있습니다. 혹여 해당 포스팅에서 잘못된 부분이 있을 경우, 알려주시면 빠르게 수정 조치하도록 하겠습니다. 감사합니다. 목차 Group By란 Order By란 Group By와 Order By - 타 문법과의 활용 과제 풀이 01. Group By란 Group By란, 기준 속성으로 묶는 것을 말한다. 아래 코드 예시를 보면 더욱 이해가 잘 된다. 아래 코드 설명은 아래와 같다. users 테이블에서 'name' 속성으로 group by(=이름별로 묶음) 뒤, 각각의 개수를 세어보자. # 1. users에서 2. group by한 뒤, 3. select select name, count(*) from users group by name ❓❗ 그럼..

03. SQL- SELECT 절의 활용 (A.K.A 1주차 수업 정리)

안녕하세요 한소희입니다. 공부를 통해 배운 내용을 작성하고 있습니다. 혹여 해당 포스팅에서 잘못된 부분이 있을 경우, 알려주시면 빠르게 수정 조치하도록 하겠습니다. 감사합니다. 나는 요즘 스파르타 코딩 클럽 - 엑셀보다 쉬운 SQL 수업을 수강 중이다. 내가 왜, 스파르타코딩클럽의 엑셀보다 쉬운 SQL 수업을 듣게 됐는지는 아래 이전 포스팅 링크를 통해 알 수 있다. 스파르타코딩클럽은 데이터 조작어(DML)를 중심으로 수업을 진행한다. 그래서 우선적으로, DML을 중심으로 학습한 뒤 추후 DDL이나 DCL을 개별적으로 공부할 것이다. 오늘은 1주차 수업을 모두 마치고, SQL 문의 SELECT 절을 이용하고, 다른 쿼리 문과 결합하여 활용하는 방법까지 복습해보도록 하겠다. 목차 SELECT와 WHERE ..