이번 글에서는 UPDATE 문과 DELETE 문을 알아보겠습니다.
레코드 데이터를 업데이트 할 때 사용합니다. 기본 형식은 아래와 같습니다.
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
예를 들어 사용해보겠습니다.
mysql> SELECT * FROM student;
+----+--------+------------------+
| id | name | profile |
+----+--------+------------------+
| 1 | hevton | Nice to meet you |
| 2 | pyro | Yadon |
| 3 | steve | hello |
+----+--------+------------------+
3 rows in set (0.00 sec)
제 student 테이블에 현재 이런 값들이 놓여져 있습니다. 여기서 hevton의 id를 모두 대문자로, 그리고 profile을 'Seize the day' 로 바꿔주도록 하겠습니다.
mysql> UPDATE student SET name='HEVTON', profile='Seize the day' WHERE id=1;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> SELECT * FROM student;
+----+--------+---------------+
| id | name | profile |
+----+--------+---------------+
| 1 | HEVTON | Seize the day |
| 2 | pyro | Yadon |
| 3 | steve | hello |
+----+--------+---------------+
3 rows in set (0.00 sec)
여기서 중요한 것은 WHERE 조건이 꼭 들어가야 한다는 것입니다. 이 조건이 들어가지 않으면 모든 행의 데이터들이 바뀌게 되므로 UPDATE 시에는 WHERE 조건을 잊지 말고 넣어줍시다.
DELETE 문은 레코드(행)을 삭제 할 때 사용합니다. 기본 형식은 아래와 같습니다.
DELETE FROM table_name WHERE condition;
UPDATE 문과 마찬가지로 중요한 점은 WHERE 조건문을 잊지 말고 넣어줘야 한다는 사실입니다. 만약 WHERE 조건문을 빼놓는다면 전체 행이 모두 삭제되게 됩니다. 아래 코드는 제가 student 테이블에서 id 값이 3인 행을 삭제하는 과정입니다.
mysql> SELECT * from student;
+----+--------+---------------+
| id | name | profile |
+----+--------+---------------+
| 1 | HEVTON | Seize the day |
| 2 | pyro | Yadon |
| 3 | steve | hello |
+----+--------+---------------+
3 rows in set (0.00 sec)
mysql> DELETE FROM student WHERE id=3;
Query OK, 1 row affected (0.01 sec)
mysql> SELECT * FROM student;
+----+--------+---------------+
| id | name | profile |
+----+--------+---------------+
| 1 | HEVTON | Seize the day |
| 2 | pyro | Yadon |
+----+--------+---------------+
2 rows in set (0.01 sec)