MariaDB / DATA / 데이터 추가(INSERT), 수정(UPDATE), 삭제(DELETE)

데이터베이스와 테이블 만들기

test 데이터베이스를 만듭니다.

MariaDB [(none)]> create database test;
Query OK, 1 row affected (0.00 sec)

test 데이터베이스를 사용합니다.

MariaDB [(none)]> use test;
Database changed

table_1 테이블을 만듭니다.

MariaDB [test]> CREATE TABLE table_1 (
    -> column_1 varchar(100),
    -> column_2 varchar(100),
    -> column_3 varchar(100)
    -> );
Query OK, 0 rows affected (0.03 sec)
MariaDB [test]> DESC table_1;
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| column_1 | varchar(100) | YES  |     | NULL    |       |
| column_2 | varchar(100) | YES  |     | NULL    |       |
| column_3 | varchar(100) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

데이터 추가 - INSERT

데이터를 추가하는 명령어는 INSERT입니다. 모든 컬럼에 값을 넣을 때는 다음과 같이 합니다.

MariaDB [test]> INSERT INTO table_1 VALUES ( 'a', 'aa', 'aaa' );
Query OK, 1 row affected (0.01 sec)
MariaDB [test]> SELECT * FROM table_1;
+----------+----------+----------+
| column_1 | column_2 | column_3 |
+----------+----------+----------+
| a        | aa       | aaa      |
+----------+----------+----------+
1 row in set (0.00 sec)

일부 컬럼에만 값을 넣을 때는 다음과 같이 합니다.

MariaDB [test]> INSERT INTO table_1 ( column_1, column_2 ) VALUES ( 'b', 'bb' );
Query OK, 1 row affected (0.01 sec)
MariaDB [test]> SELECT * FROM table_1;
+----------+----------+----------+
| column_1 | column_2 | column_3 |
+----------+----------+----------+
| a        | aa       | aaa      |
| b        | bb       | NULL     |
+----------+----------+----------+
2 rows in set (0.00 sec)

데이터 수정 - UPDATE

데이터를 수정하는 명령어는 UPDATE입니다. 모든 데이터의 특정 컬럼 값을 변경하고 싶다면 다음과 같이 합니다.

MariaDB [test]> UPDATE table_1 SET column_1 = 'z';
Query OK, 2 rows affected (0.01 sec)
Rows matched: 2  Changed: 2  Warnings: 0
MariaDB [test]> SELECT * FROM table_1;
+----------+----------+----------+
| column_1 | column_2 | column_3 |
+----------+----------+----------+
| z        | aa       | aaa      |
| z        | bb       | NULL     |
+----------+----------+----------+
2 rows in set (0.00 sec)

특정 데이터의 값을 변경하고 싶다면 WHERE를 사용합니다.

MariaDB [test]> UPDATE table_1 SET column_1 = 'x' WHERE column_2 = 'aa';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0
MariaDB [test]> SELECT * FROM table_1;
+----------+----------+----------+
| column_1 | column_2 | column_3 |
+----------+----------+----------+
| x        | aa       | aaa      |
| z        | bb       | NULL     |
+----------+----------+----------+
2 rows in set (0.00 sec)

여러 개의 컬럼 값을 변경하고 싶다면 쉼표를 사용합니다.

MariaDB [test]> UPDATE table_1 SET column_1 = 'y', column_2 = 'yy' WHERE column_3 = 'aaa';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0
MariaDB [test]> SELECT * FROM table_1;
+----------+----------+----------+
| column_1 | column_2 | column_3 |
+----------+----------+----------+
| y        | yy       | aaa      |
| z        | bb       | NULL     |
+----------+----------+----------+
2 rows in set (0.01 sec)

데이터 삭제 - DELETE

데이터를 삭제하는 명령어는 DELETE입니다. 특정 데이터를 삭제하려면 WHERE를 사용합니다.

MariaDB [test]> DELETE FROM table_1 WHERE column_1 = 'y';
Query OK, 1 row affected (0.00 sec)
MariaDB [test]> SELECT * FROM table_1;
+----------+----------+----------+
| column_1 | column_2 | column_3 |
+----------+----------+----------+
| z        | bb       | NULL     |
+----------+----------+----------+
1 row in set (0.00 sec)

WHERE가 없이 DELETE를 사용하면 모든 데이터를 삭제합니다.

MariaDB [test]> DELETE FROM table_1;
Query OK, 1 row affected (0.01 sec)