본문 바로가기
SQL

sql 관련 기본 개념

by 위시우 2022. 12. 9.

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
    우리가 아는 MySQL 접속 후 Workbench 접속하면 됨history : 과거에 실행했던 명령어 불러오기e.g. !2
  • 비교 연산자의 활용
  • ![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 ….

  1. 1000 * 10000 계산 [산술연산자]
  2. population ≥ 10,000,000 [비교 연산자]
  3. [논리 연산자] </aside>

논리연산자

between and

≥ & ≤

왜 , 전에 개행하나? 컬럼을 삭제할 때, 코드 리뷰하는 사람이 두줄을 체크 해봐야 하는데,

밑에 , column name 한 줄만 확인해도 됨

desc [table 명]

DESC country;

결과

  • 칼럼 타입, 제약 조건을 파악할 수 있음

 

댓글