이번 포스팅에서는 MySQL 및 관계형 데이터베이스에서 가장 많이 사용하는 DML(Data Manipulation Language) 명령어(INSERT, UPDATE, DELETE, SELECT)를 실전 코드 중심 치트시트 형태로 정리해보겠다.
테이블에 새 데이터를 추가하는 구문이다.
-- author 테이블에 한 건 삽입
INSERT INTO author (name, email, age)
VALUES ('홍길동', 'hong@example.com', 30);
'작은따옴표'로 묶어야 한다.VALUES (?, ?, ?) 형태)을 통해 동적으로 삽입하는 경우가 많다고 한다특정 행(레코드)의 값을 원하는 대로 바꾸는 명령어다.
UPDATE author
SET email = 'hong2@example.com',
age = 31
WHERE name = '홍길동';
WHERE 조건을 꼭 지정해야 원하는 행만 변경된다.UPDATE를 실행하면 테이블의 모든 행이 변경되므로 항상 주의가 필요하다.![]() |
|---|
| (실습) author 테이블의 id가 4인 데이터의 name과 email을 변경하는 쿼리문 |
조건에 맞는 행을 삭제한다.
DELETE FROM author
WHERE name = '홍길동';
WHERE 없이 DELETE FROM author; 를 하면 전체 데이터가 다 사라진다.조회 쿼리가 가장 많이 쓰이는 실전 명령어다.
SELECT name, email
FROM author;
SELECT * FROM author;
*로 모든 컬럼을 조회할 수도 있다.SELECT *
FROM author
WHERE age >= 30;
SELECT *
FROM post
WHERE author_id IN (
SELECT id
FROM author
WHERE name = '홍길동'
);
SELECT DISTINCT age
FROM author;
SELECT *
FROM author
ORDER BY name DESC;
SELECT *
FROM author
ORDER BY age ASC, name DESC;
SELECT *
FROM author
ORDER BY age DESC
LIMIT 5;
SELECT name AS '이름'
FROM author;
SELECT a.name, a.email
FROM author AS a;
-- AS 생략 가능
SELECT a.name, a.email
FROM author a;
SELECT *
FROM author
WHERE email IS NULL;
SELECT *
FROM author
WHERE email IS NOT NULL;
NULL 또는 NULL이 아닌 행만 조회하고 싶을 때 사용된다.DDL (Data Definition Language)
create, alter, drop 등DML (Data Manipulation Language)
insert, update, delete, select 참고:
show,describe는 DDL/DML과 결이 다르게
“DB 메타 정보”를 조회하는 계열로 분류된다.
이번 글에서는 자주 사용하는 DML 명령어를 간단하게 정리해보았다.
이 흐름만 손에 익으면 테스트 데이터 입력, 데이터 수정/삭제, 조건/정렬/페이징/집계 등
일상적인 데이터베이스 작업은 거의 대부분 직접 처리할 수 있겠지만 아직은 구조적으로 어떻게 설계를 해야할 지 등 살짝 막막하긴 함
순서도 조금 헷갈리고.. 계속 하다보면 SQLD 다시 응시하고싶어질지도?ㅋㅋㅋ
Sql문 - dml
D 다이나믹
M 맘
L love
댓글에 효도 라고 달면 평생 부모님건강하심