MySQL/MariaDBのデータ削除SQL、「delete」文について紹介します。
「delete」文は、「insert」、
「update」と同様にDML(Data Manipulation Language )と呼ばれ、
データを操作するSQL文になります。
目次
基本構文:delete ~ from
delete文の基本構文は以下になります。
delete from <テーブル名> where <条件>;
下がサンプルのdelete文になります。
MariaDB [test001]> select *
-> from EMPLOYEE;
+-------+---------------+--------+
| EMPNO | NAME | SALARY |
+-------+---------------+--------+
| 00001 | TARO TANAKA | 300000 |
| 00002 | HANAKO YAMADA | 800000 |
| 00003 | ICHIRO HANAKO | 500000 |
+-------+---------------+--------+
3 rows in set (0.00 sec)
MariaDB [test001]>
MariaDB [test001]> delete from EMPLOYEE
-> where EMPNO = '00001';
Query OK, 1 row affected (0.00 sec)
MariaDB [test001]> commit;
Query OK, 0 rows affected (0.00 sec)
MariaDB [test001]> select *
-> from EMPLOYEE;
+-------+---------------+--------+
| EMPNO | NAME | SALARY |
+-------+---------------+--------+
| 00002 | HANAKO YAMADA | 800000 |
| 00003 | ICHIRO HANAKO | 500000 |
+-------+---------------+--------+
2 rows in set (0.00 sec)
表内の全データ削除
delete文で全データを削除するのは以下になります。
delete from [テーブル名];
条件を付けないことで全データを削除することができます。
下がサンプルのdelete文になります。
MariaDB [test001]> select *
-> from EMPLOYEE;
+-------+---------------+--------+
| EMPNO | NAME | SALARY |
+-------+---------------+--------+
| 00002 | HANAKO YAMADA | 800000 |
| 00003 | ICHIRO HANAKO | 500000 |
| 00001 | TARO TANAKA | 300000 |
+-------+---------------+--------+
3 rows in set (0.00 sec)
MariaDB [test001]> delete from EMPLOYEE;
Query OK, 3 rows affected (0.00 sec)
MariaDB [test001]> commit;
Query OK, 0 rows affected (0.00 sec)
MariaDB [test001]> select *
-> from EMPLOYEE;
Empty set (0.00 sec)
MariaDB [test001]>
MariaDB & MySQL全機能バイブルposted with ヨメレバ
鈴木啓修/山田奈緒子 技術評論社 2015年01月