すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB for MySQL:DELETE

最終更新日:Jun 11, 2024

DELETE文を実行して、テーブルデータを削除できます。

使用上の注意

  • DELETEステートメントを実行するテーブルには、主キーが必要です。

  • テーブルのエイリアスを使用してDELETEステートメントを実行することはできません。

  • テーブルまたはパーティション全体からデータを削除する場合は、deleteステートメントの代わりに、TRUNCATE tableまたはTRUNCATE TABLE partitionステートメントを使用することを推奨します。 詳細については、「TRUNCATE TABLE」をご参照ください。

  • 複数のテーブルからデータを削除する場合、SQL文は1つのテーブルに対してのみ実行できます。

構文

1つのテーブルからデータを削除する場合、テーブルからデータを照会し、WHERE句で指定された条件を満たすデータを削除できます。 複数のテーブルからデータを削除する場合、SQL文を実行して、結合された複数のテーブルからデータを照会し、WHERE句に指定された条件を満たすデータを1つのテーブルから削除できます。

単一のテーブルからデータを削除する

table_nameから削除
[WHEREコンディション] 

複数のテーブルからデータを削除

重要

V3.2.0.0以降のAnalyticDB for MySQLクラスターに対してのみ、複数のテーブルからデータを削除できます。

クラスターのマイナーバージョンをクエリする方法については、AnalyticDB for MySQLクラスターのバージョンを照会するにはどうすればよいですか? クラスターのマイナーバージョンを更新するには、テクニカルサポートにお問い合わせください。

DELETE table_name1
FROM table_name1 [INNER JOIN | LEFT JOIN | RIGHT JOIN] table_name2 ON table_name1.column1 = table_name2.column1
[WHERE where_condition] 

  • name列がAlexであるデータを顧客テーブルから削除します。

    DELETE FROM customer_name='Alex ';
  • 年齢列が18未満のデータを顧客テーブルから削除します。

    DELETE FROM customer WHERE年齢 <18;
  • 顧客テーブルのid列と注文テーブルのid列に基づいて結合されたテーブルからデータを照会し、顧客テーブルから年齢列が18のデータを削除します。

    DELETE customer FROM customer.id = orders.id WHERE customer.age = 18;