Database MariaDB/MySQL インフラ

[MySQL/MariaDB] ”delete”文でデータ削除

2018年9月2日

こんにちは!シミダイ(@shimidai2100)です。

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]>

 

関連記事

-Database, MariaDB/MySQL, インフラ

Copyright© shimidai2100 , 2020 All Rights Reserved.