데이터베이스에서 데이터를 조작하고 쿼리하는 데 사용된다. 주로 데이터 삽입(Insert) 및 수정(Update), 삭제(Delete), 쿼리(Select) 와 같은 작업에 사용된다.
Create 생성 = 데이터를 넣는다
Retrieve or Read 읽기 = 데이터를 조회한다
Update 업데이트 = 데이터를 수정한다
Delete 제거 = 데이터를 삭제한다
DDL의 예제와 이어지는데 id 같은 경우에는 auto_increment가 자동으로 데이터를 삽입해주기 때문에 따로 넣어주지 않아도 괜찮다.
INSERT INTO [테이블 이름] (필드1이름, 필드2이름, ...)
VALUES (값1, 값2, ...);
-- 예제
INSERT INTO fruit (name, price, stocked_date)
VALUES ('사과', 1000, '2023-01-01');
SELECT 명령어 뒤에 *를 삽입하면 전체 조회를 할 수 있다.
SELECT * FROM [테이블 이름];
-- 예제
SELECT * FROM fruit;
* 대신에 필드 이름을 삽입하면 특정 필드의 데이터들을 조회할 수 있다. 또한, 여러 개의 필드 이름을 삽입할 수도 있다.
// fruit 테이블의 name 필드 데이터만 불러와라
SELECT name, FROM fruit;
// fruit 테이블의 name, price 데이터만 불러와라
SELECT name, price FROM fruit;
WHERE AND OR 등을 사용하여 데이터를 조회할 수 있다. 특히 AND 와 OR는 한 구문에 여러개 쓰일 수 있으며, 등호(=,<,>,>=,<=,!=,=) 외에도 between, in, not in 등도 있다.
SELECT * FROM [테이블 이름] WHERE [조건];
//WHERE
// fruit 테이블에서 name이 '사과'인 것만 가져와라
SELECT * FROM fruit WHERE name = '사과';
// AND
// name이 '사과'이고, price가 2000원 이하인 것만 가져와라
SELECT * FROM fruit WHERE name = '사과' AND price <= 2000;
// OR
// name이 '바나나'이거나 아니면 price가 1000원인 것만 가져와라
SELECT * FROM fruit WHERE name = '바나나' OR price = 1000;
// BETWEEN
// 가격이 1000원 ~ 2000원 인 것만 조회
SELECT * FROM fruit WHERE price BETWEEN 1000 AND 2000;
// IN
// 이름이 사과 또는 수박인 것만 조회하라
SELECT * FROM fruit WHERE name IN ('사과', '수박');
// NOT IN
// 이름이 사과가 아닌 과일 조회
SELECT * FROM fruit WHERE name NOT IN ('사과');
UPDATE [테이블 이름]
SET 필드1이름 = 값, 필드2이름 = 값, ...
WHERE [조건];
-- name이 사과인 모든 데이터의 가격을 1500원으로 바꿔라
UPDATE fruit SET price = 1500 WEHRE name = '사과';
DELETE FROM [테이블 이름]
WHERE [조건];
-- name이 '사과'인 모든 데이터 삭제
-- 주의: 만약 [조건]을 붙이지 않으면 모든 데이터들이 삭제되니 주의하자.
DELETE FROM fruit WHERE name = '사과';