
데이터 조작: 구조(스키마)는 바꾸지 않고, 테이블 안의 데이터만 변경.
트랜잭션 적용 가능
주요 용도:
DDL과의 차이:
INSERT INTO table_name (c1, c2, ..)
VALUES (v1, v2, ...);
INSERT INTO employee (name, group_id)
VALUES ('choi', 1);
INSERT INTO employee (name, group_id)
VALUES ('gildong', 1),
('nolbu', 0),
('lucky', 1);
INSERT INTO store (store_name, store_time)
VALUES ('star', '2025-01-16 08:00:00');
INSERT INTO store (store_name, store_time)
VALUES ('maximum', NOW());
UPDATE table_name
SET col_name = expression
[WHERE condition];
UPDATE employee
SET group_id = 0
WHERE name = 'hyeeun';
UPDATE employee
SET name = 'devil',
pay = 10
WHERE id = 4;
UPDATE employee
SET pay = 0; #check 옵션으로 인해 변경 불가
DELETE FROM table_name
[WHERE condition];
DELETE FROM employee
WHERE name='devil';
SELECT select_list
FROM table_name;
SELECT customer_name
FROM customer;
SELECT customer_name, customer_email
FROM customer;
SELECT *
FROM customer;
SELECT select_list AS '표시하고자 하는 컬럼명'
FROM table_name;
SELECT customer_email AS '이메일주소'
FROM customer;
SELECT product_id, unit_price * 1000 AS '가격(KRW)'
FROM sales_reciepts;
데이터를 필터링하여 조회
Filtering Data 키워드
- 절 (Clause)
- DISTINCT
- WHERE
SELECT DISTINCT select_list
FROM table_name;
SELECT DISTINCT store_city
FROM sales_outlet;
SELECT select_list
FROM table_name
WHERE search_condition;
SELECT sales_outlet_id, sales_outlet_type
FROM sales_outlet
WHERE store_city = 'Jamaica';
col_name BETWEEN a AND b;
SELECT sales_outlet_id, store_square_feet
FROM sales_outlet
WHERE manager BETWEEN 10 AND 30;
col_name IN (목록);
SELECT product_type
FROM product
WHERE product_category IN ('Coffee', 'Tea');
SELECT product
FROM product
WHERE product_category LIKE '%Tea%';
# NULL인 경우
col_name IS NULL
# NULL이 아닌 경우
col_name IS NOT NULL
SELECT DISTINCT product_category
FROM product
WHERE product IS NULL;
SELECT DISTINCT product_category
FROM product
WHERE product IS NOT NULL;