TIL | Database DML

전준영·2022년 8월 15일
0

TIL

목록 보기
7/10

DML이란?

DML은 Data Manipulation Language의 약자로 데이터를 조작하는 쿼리문들을 뜻함.

INSERT, UPDATE, DELETE 문이 대표적 쿼리문이다.

INSERT는 데이터를 테이블에 추가하는 작업.

UPDATE는 이미 테이블에 존재하는 데이터를 수정하는 작업.

DELETE는 데이터를 테이블에서 삭제하는 작업.

1. 데이터 추가

데이터 추가 명령어

  • INSERT INTO tbl_name (col_name, col_name) VALUES (value, value) 이다.
mysql> insert into users (email, nickname, password, profile_image) 
VALUES 
('codeKim@justcode.co.kr','codeKim','c0Dek!m','http://profile_image_1.jpeg'),
('codeLee@justcode.co.kr','codeLee','C0dEL22','http://profile_image_2.jpeg'),
('codePark@justcode.co.kr','codePark','P@rkCOdE!','http://profile_image_3.jpeg'),
('codeChoi@justcode.co.kr','codeChoi','ChoiCodDE','http://profile_image_4.jpeg');

Query OK, 4 rows affected (0.01 sec)
Records: 4  Duplicates: 0  Warnings: 0

이렇게 네명의 유저를 추가해보았다.

그리고 나서 users 테이블에 잘 추가가 되었는지 확인해보자

SELECT * FROM users

mysql> select * from users;
+----+-------------------------+----------+-----------+-----------------------------+---------------------+
| id | email                   | nickname | password  | profile_image               | created_at          |
+----+-------------------------+----------+-----------+-----------------------------+---------------------+
|  1 | codeKim@justcode.co.kr  | codeKim  | c0Dek!m   | http://profile_image_1.jpeg | 2022-08-15 10:27:14 |
|  2 | codeLee@justcode.co.kr  | codeLee  | C0dEL22   | http://profile_image_2.jpeg | 2022-08-15 10:27:14 |
|  3 | codePark@justcode.co.kr | codePark | P@rkCOdE! | http://profile_image_3.jpeg | 2022-08-15 10:27:14 |
|  4 | codeChoi@justcode.co.kr | codeChoi | ChoiCodDE | http://profile_image_4.jpeg | 2022-08-15 10:27:14 |
+----+-------------------------+----------+-----------+-----------------------------+---------------------+
4 rows in set (0.00 sec)

추가가 잘 되었다. select는 조회하는 명령어고 *은 모든 칼럼을 조회하겠다는 의미이다.

위와 같은 방식으로 모든 테이블에 데이터들을 추가해주었다.

2. 데이터 수정 및 삭제

데이터 수정 명령어

  • UPDATE table_reference SET column='' [WHERE where_condition]

UPDATE 명령에서는 SET column='' 을 사용해 변경하고자 하는 열과 값을 지정합니다.

이때의 = 은 대입연산자다.

갱신해야할 열이 복수인 경우 column='value',column='value' 으로 지정할 수 있다.

where은 앞의 포스팅에서도 언급했다시피 프로그래밍 언어의 if 역할을 한다고 보면 된다.

예시를 들어 UPDATE명령어를 이해해보자

만일 postings 테이블에서 id가 1번user이고 posting id가 3번인

content를 '정말 좋은 하루였어!!!'로 바꾸고 싶다면

mysql> UPDATE posts SET content='정말 좋은 하루였어!!!' WHERE user_id=1 AND id=3;

이런 식으로 사용하면 된다.

데이터 삭제 명령어

  • DELETE FROM tbl_name [WHERE where_condition

DELETE 명령은 하나의 테이블에 대해 한 건 또는 여러 건의 행(row) 자체를 삭제한다.

데이터의 한개의 열'column'을 수정해야 한다면 UPDATE 명령어를 쓰면 될것이다.

예시를 들어 DELETE 명령어를 이해해보자

만일 user id가 2번인 사용자의 게시물 전체를 삭제해달라는 요청을 받았다고 가정한다면

mysql> DELETE FROM posts WHERE user_id = 2;

이런 식으로 명령어를 사용하면 된다.

profile
Just do it!

0개의 댓글