CRUD

데이터 관리란 데이터를 생성하고(Create), 읽고(Read), 수정하고(Update), 삭제(Delete)하는 것을 의미한다. 하나씩 차례대로 알아보도록 하자.


1. 데이터 생성 (Create) : INSERT(입력)

  • 테이블의 원하는 컬럼에 데이터를 넣는 작업
  • 기본문법 : INSERT

데이터 생성(입력)의 2가지 방법

  1. 레코드 단위로 넣기 : 모든 컬럼에 대해 해당하는 데이터를 입력
INSERT INTO 테이블명 VALUES(값1, 값2, 값3, ...);

  1. 특정 컬럼에 해당하는 데이터만 넣기
    지정되지 않은 컬럼은 default 값이나 NULL값이 들어간다.
INSERT INTO 테이블명 (컬럼1, 컬럼2, 컬럼3, ...) VALUES(값1, 값2, 값3, ...);
  • 위의 2가지 방식으로 데이터를 입력하면 아래와 같다.
    ex) 아디다스 운동화 상품 정보
    data insert

  • (1&2) 여러 개의 데이터(레코드) 한 번에 넣기
    ex) 흑백요리사 셰프 DB
    흑백요리사db




2. 데이터 읽기 (Read) : SELECT (검색)

  • 데이터베이스에서 원하는 (조건의) 데이터를 추출하는 작업
  • 기본문법 : SELECT



데이터 추출(읽기)의 4가지 방법

  1. 테이블 전체 데이터 추출
SELECT * FROM 테이블명;

ex) 흑백요리사 DB 전체 추출하기
흑백요리사 전체



  1. 테이블 내 특정 컬럼의 데이터만 추출
SELECT 컬럼1, 컬럼2, ... FROM 테이블명;

ex) 흑백요리사 DB에서 셰프이름(name), 음식종류(food)만 추출하기
흑백요리사 특정 컬럼



  1. 테이블 내 특정 컬럼을 컬럼명 변경하여 추출하기
SELECT 컬럼1 AS 바꿀컬럼명1, 컬럼2 AS 바꿀컬럼명2 FROM 테이블명;

ex) 흑백요리사 DB에서 컬럼 name을 chef_name으로, food를 food_type 변경
흑백요리사 특정 컬럼명 변경

테이블 내 전체 데이터를 SELECT 해보았을 때는 위의 변경사항이 적용되지 않은 것으로 보아, 원본 데이터를 변경시키지 않는다.
원본 변경X



  1. 데이터 정렬하여 읽기
  • 내림차순 또는 오름차순으로 데이터 전체 읽기
# 데이터 내림차순으로 정렬하여 읽기
SELECT * FROM 테이블명 ORDER BY 정렬할컬럼명 DESC

# 데이터 오름차순으로 정렬하여 읽기
SELECT * FROM 테이블명 ORDER BY 정렬할컬럼명 ASC

내림차순

  • 내림차순 또는 오름차순으로 원하는 컬럼만 추출하기
# 내림차순
SELECT 컬럼1, 컬럼2 FROM 테이블명 ORDER BY 정렬할컬럼명 DESC

# 오름차순
SELECT 컬럼1, 컬럼2 FROM 테이블명 ORDER BY 정렬할컬럼명 ASC

오름차순



  1. [비교] 조건에 맞는 데이터만 추출하기
  • WHERE 조건문으로 조건 걸어 검색하기
    - WHERE 컬럼명 = 값
    • WHERE 컬럼명 < 값
    • WHERE 컬럼명 > 값
SELECT * FROM 테이블명 WHERE 컬럼명 = 값;
SELECT * FROM 테이블명 WHERE 컬럼명 < 값;
SELECT * FROM 테이블명 WHERE 컬럼명 > 값;

WHERE



  1. [논리연산자] 조건에 맞는 데이터만 추출하기
  • 논리연산자 AND, OR을 WHRER 조건문과 함께 사용하기
    - WHERE > 값 AND WHERE = 값
    - WHERE > 값 OR WHERE < 값
# AND
SELECT * FROM 테이블명 WHERE (컬럼명='값) AND (컬럼명='값')

# OR
SELECT * FROM 테이블명 WHERE (컬럼명='값') OR (컬럼명='값)

ex1) AND : 30세 초과이면서 프렌치 음식을 전문으로 하는 요리사
AND

ex2) OR : 이탈리안 또는 프렌치 음식을 하는 요리사
OR

예시와 같이 같은 컬럼에 대해 조건을 거는 것, 다른 컬럼에 대해 조건을 거는 것 모두 가능하다.



  1. 특정 부분이 일치하는 데이터 추출하기
  • WHERE문으로 조건을 검색하고,
  • LIKE로 일치하는 부분을 찾는다.
    • % : '2글자 이상'을 표현
    • _(언더바) : 언더바 1개 당 '1글자'를 표현
  • NOT LIKE : 특정 부분이 일치하지 않는 경우
    ex) WHERE name NOT LIKE '%Lee%' : 이름에 Lee가 없는 사람만 추출하기

ex1) 이름에 Lee가 들어간 경우 찾기 : WHERE name LIKE '%Lee%'

SELECT * FROM 테이블명 WHERE 컬럼명 LIKE '%Lee%';

~가 들어간

ex2) 이름이 Lee로 끝나는 경우 찾기 : WHERE name LIKE '%Lee'

SELECT * FROM 테이블명 WHERE 컬럼명 LIKE '%Lee';

~로 끝나는

ex3) 이름이 Mat으로 시작하고 뒤에 3글자가 붙는 경우 찾기 : WHERE name LIKE 'Mat___'

# 글자수만큼 언더바(_)를 표시한다.

SELECT * FROM 테이블명 WHERE 컬럼명 LIKE 'Mat___';



  1. 결과 중 일부만 추출하기 : LIMIT 활용
  • 결과 중 5개만 가져오기
SELECT * FROM 테이블명 LIMIT 5;
  • 결과 중 300번째부터 10개 가져오기
SELECT * FROM 테이블명 LIMIT 300, 10;

ex1) 결과 중 2개만 가져오기

ex2) 결과 중 1번째(인덱스번호 기준)부터 2개 가져오기

-> 인덱스 번호는 0부터 시작하여 0, 1, 2, ...로 넘버링 되므로 여기서 1번째는 id가 2인 레코드이다.



  1. 여러 조건 조합
  • 위의 조건들을 조합하여 원하는 데이터를 추출할 수 있다.
  • 조건 조합 시 순서 : SELECT FROM WHERE ORDER BY LIMIT

조합



위의 내용은 인프런 잔재미코딩님의 강의를 듣고 리뷰한 내용입니다.
profile
Data Analyst, 기획자

0개의 댓글