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;