ClickHouse/docs/ja/sql-reference/statements/drop.md
2024-11-18 11:58:58 +09:00

142 lines
3.7 KiB
Markdown

---
slug: /ja/sql-reference/statements/drop
sidebar_position: 44
sidebar_label: DROP
---
# DROP ステートメント
既存のエンティティを削除します。`IF EXISTS` 条項が指定されている場合、エンティティが存在しないときにこれらのクエリはエラーを返しません。`SYNC` 修飾子が指定されている場合、エンティティは遅延なく削除されます。
## DROP DATABASE
`db` データベース内のすべてのテーブルを削除し、その後 `db` データベース自体を削除します。
構文:
``` sql
DROP DATABASE [IF EXISTS] db [ON CLUSTER cluster] [SYNC]
```
## DROP TABLE
1つ以上のテーブルを削除します。
:::tip
テーブルの削除を元に戻すには、[UNDROP TABLE](/docs/ja/sql-reference/statements/undrop.md)を参照してください。
:::
構文:
``` sql
DROP [TEMPORARY] TABLE [IF EXISTS] [IF EMPTY] [db1.]name_1[, [db2.]name_2, ...] [ON CLUSTER cluster] [SYNC]
```
制限事項:
- `IF EMPTY` 条項が指定されている場合、サーバーはクエリを受け取ったレプリカ上でのみテーブルの空であることを確認します。
- 複数のテーブルを一度に削除することは、原子的な操作ではありません。つまり、あるテーブルの削除が失敗した場合、後続のテーブルは削除されません。
## DROP DICTIONARY
Dictionary を削除します。
構文:
``` sql
DROP DICTIONARY [IF EXISTS] [db.]name [SYNC]
```
## DROP USER
ユーザーを削除します。
構文:
``` sql
DROP USER [IF EXISTS] name [,...] [ON CLUSTER cluster_name] [FROM access_storage_type]
```
## DROP ROLE
ロールを削除します。削除されたロールは、それが割り当てられていたすべてのエンティティから取り消されます。
構文:
``` sql
DROP ROLE [IF EXISTS] name [,...] [ON CLUSTER cluster_name] [FROM access_storage_type]
```
## DROP ROW POLICY
行ポリシーを削除します。削除された行ポリシーは、それが割り当てられていたすべてのエンティティから取り消されます。
構文:
``` sql
DROP [ROW] POLICY [IF EXISTS] name [,...] ON [database.]table [,...] [ON CLUSTER cluster_name] [FROM access_storage_type]
```
## DROP QUOTA
クォータを削除します。削除されたクォータは、それが割り当てられていたすべてのエンティティから取り消されます。
構文:
``` sql
DROP QUOTA [IF EXISTS] name [,...] [ON CLUSTER cluster_name] [FROM access_storage_type]
```
## DROP SETTINGS PROFILE
設定プロファイルを削除します。削除された設定プロファイルは、それが割り当てられていたすべてのエンティティから取り消されます。
構文:
``` sql
DROP [SETTINGS] PROFILE [IF EXISTS] name [,...] [ON CLUSTER cluster_name] [FROM access_storage_type]
```
## DROP VIEW
ビューを削除します。ビューは `DROP TABLE` コマンドでも削除できますが、`DROP VIEW` は `[db.]name` がビューであることを確認します。
構文:
``` sql
DROP VIEW [IF EXISTS] [db.]name [ON CLUSTER cluster] [SYNC]
```
## DROP FUNCTION
[CREATE FUNCTION](./create/function.md) で作成されたユーザー定義関数を削除します。システム関数は削除できません。
**構文**
``` sql
DROP FUNCTION [IF EXISTS] function_name [on CLUSTER cluster]
```
**例**
``` sql
CREATE FUNCTION linear_equation AS (x, k, b) -> k*x + b;
DROP FUNCTION linear_equation;
```
## DROP NAMED COLLECTION
名前付きコレクションを削除します。
**構文**
``` sql
DROP NAMED COLLECTION [IF EXISTS] name [on CLUSTER cluster]
```
**例**
``` sql
CREATE NAMED COLLECTION foobar AS a = '1', b = '2';
DROP NAMED COLLECTION foobar;
```