Welcome! Everything is fine.

[MySQL] Create, Read, Update, Delete 사용하기 본문

MySQL

[MySQL] Create, Read, Update, Delete 사용하기

개발곰발 2024. 10. 23.
728x90

 

Udemy 강의 <실무 활용 중심의 MySQL 부트캠프> 강의를 보고 실습한 내용입니다.


CRUD

CRUD는 Create, Read, Update, Delete의 약자로 데이터를 다룰 때 자주 수행하는 작업을 의미한다.

Read

테이블에 이미 있는 데이터를 읽고 받을 수 있는 방법은 무엇일까? 바로 SELECT를 이용하는 것이다. 다음과 같이 SELECT로 모든 열(* 을 이용해) 혹은 원하는 열을 출력할 수 있다.

WHERE

WHERE를 사용하면 SELECT만 사용했을 때보다 범위를 좁혀 출력할 수 있다. 즉, 조건을 지정해주는 것이다. WHERE은 행을 업데이트하거나 삭제할때도 사용될 수 있다.

 

다음과 같이 breed가 'Tabby'인 고양이만 출력하도록하거나, cat_id가 나이와 같을 때만 출력하도록 할 수 있다.

SELECT name, age FROM cats WHERE breed='Tabby';
SELECT cat_id, age FROM cats WHERE cat_id=age;

 

결과는 다음과 같다.

 

Aliases

AS를 사용해서 데이터를 출력할 때 열의 이름을 다시 지정할 수 있다. 선택하는 열의 이름 바로 뒤에 AS 라고 쓰고 다른 이름을 적어준다. 테이블의 열 이름을 완전히 바꾸는 것이 아니라 이 출력 결과에서만 바뀌는 것이다. 데이터를 JOIN하거나 복잡한 SELECT 쿼리를 작성할 때 유용하게 사용된다.

 

AS를 사용해 cat_id를 id로 지정한뒤 출력해보았다.

SELECT cat_id AS id, name FROM cats;

 

다음과 같은 결과가 나온다.

UPDATE

UPDATESET을 이용해 데이터를 업데이트할 수 있다.

UPDATE 테이블명
SET 열1 = 값1, 열2 = 값2, ...
WHERE 조건;

 

업데이트를 하려면 무엇을 업데이트하는지, 업데이트를 수행할 행은 어디인지 알려주어야 한다. 만약 WHERE문을 넣지 않으면 모든 데이터가 업데이트 되겠지만 보통 전체 데이터를 업데이트하는 일은 흔하지 않다.

 

예를 들어, 이름이 'Misty'인 고양이의 나이를 14로 업데이트하려면 다음과 같이 작성한다.

UPDATE cats SET age=14 WHERE name='Misty';

 

결과는 다음과 같다.

 

업데이트를 할 때는 실제로 데이터를 수정하는 것이므로 주의해야 한다. 강의에서는 실수로 업데이트하는 것을 방지하기 위해 업데이트 전에 SELECT로 확인하는 방법을 추천한다. 

SELECT * FROM cats WHERE name='Misty';

Delete

DELETE 테이블에서 특정 조건에 맞는 행을 삭제할 때 사용된다. 물론 조건을 명시하지 않고 DELETE를 할 수도 있지만, 보통 테이블의 모든 행을 삭제하는 일은 잘 없다.

DELETE FROM 테이블명
WHERE 조건;

 

예를 들어, 이름이 'Egg'인 고양이를 삭제하려면 다음과 같이 작성한다.