DML (DATA를 CRUD)
DATA 를 생성하고 , 읽고, 업데이트하고, 삭제하는 유형
※C(REATE) R(EAD) U(PDATE) D(DELETE)
DCL (TABLE, SCHEMA 를 CRUD)
SCHEMA와 TABLE 를 생성하고 , 읽고, 업데이트하고, 삭제하는 유형
TCL (권한 관리)
Transaction이란?
User 1, 2 가 동시에 한 계좌에서 각각 6000원, 7000원을 인출하려고 한다고 생각해보자
문제가 생기는 경우는 DELETE, UPDATE 를 동시에 하는 일을 방지하기 위해 TRANSACTION 이 충돌해서 문제가 된 것일 수 있다.
먼저 TRANSACTION 을 일으키면 다른 USER는 하지 못 하게끔 막는 것
SELECT
- 접속 방법 1 : PC
- TERMINAL로 쿼리 실행하기
- WORKBENCH
- 비교 연산자의 활용
- ![row_num] : 해당 row의 명령어 불러오기
- gitbash 문법
- Workbench를 사용할 수 없는 경우, terminal 을 통해서 서버 - mysql 접속, 쿼리를 전송해야
비교 연산자를 활용해 조건에 해당하는 경우 새로운 칼럼 1, 0을 나타낼 수 있게끔 함
코드
# country 가 Asia에 속해 있으면 1, 아니면, 0 라는 칼럼 생성
SELECT code
, name
, continent
, continent = 'Asia' as Asia
FROM world.country;
결과
# 인구수가 1000만 이상인 도시이면 1, 아니면 0
SELECT code
, name
, population
, population >= 1000 * 10000 AS upper_1000 -- 천만을 눈으로 확인하기 쉽게
FROM world.country;
<aside> 🤨 연산자 우선 순위 : 산술 > 비교 > 논리
Meaning ….
- 1000 * 10000 계산 [산술연산자]
- population ≥ 10,000,000 [비교 연산자]
- [논리 연산자] </aside>
논리연산자
between and
≥ & ≤
왜 , 전에 개행하나? 컬럼을 삭제할 때, 코드 리뷰하는 사람이 두줄을 체크 해봐야 하는데,
밑에 , column name 한 줄만 확인해도 됨
desc [table 명]
DESC country;
결과
- 칼럼 타입, 제약 조건을 파악할 수 있음
'SQL' 카테고리의 다른 글
프로그래머스 SQL Lv.5 상품을 구매한 회원 비율 구하기 (0) | 2024.01.26 |
---|---|
[MySQL] datetime 과 BETWEEN A AND B (1) | 2024.01.26 |
퍼널 분석 문제 풀이 회고 (0) | 2022.11.23 |
ERD(Entity Relationship diagram) 읽는법 (0) | 2022.11.13 |
댓글