manual/chinese/Deleting_a_table.md
删除表在内部执行分两个步骤:
CREATE TABLE 时,这些外部文件会被复制到表文件夹,因此不会删除 CREATE TABLE 中指定的原始文件。只有在服务器以 RT 模式运行时才可以删除表。可以删除 RT 表、PQ 表和分布式表。
<!-- intro -->DROP TABLE products;
Query OK, 0 rows affected (0.02 sec)
POST /cli -d "DROP TABLE products"
{
"total":0,
"error":"",
"warning":""
}
$params = [ 'table' => 'products' ];
$response = $client->indices()->drop($params);
Array
(
[total] => 0
[error] =>
[warning] =>
)
utilsApi.sql('DROP TABLE products')
{u'error': u'', u'total': 0, u'warning': u''}
await utilsApi.sql('DROP TABLE products')
{u'error': u'', u'total': 0, u'warning': u''}
res = await utilsApi.sql('DROP TABLE products');
{"total":0,"error":"","warning":""}
sqlresult = utilsApi.sql("DROP TABLE products", true);
{total=0, error=, warning=}
sqlresult = utilsApi.Sql("DROP TABLE products", true);
{total=0, error="", warning=""}
let sqlresult = utils_api.sql("DROP TABLE products", Some(true)).await;
{total=0, error="", warning=""}
以下是 SQL 中 DROP TABLE 语句的语法:
DROP TABLE [IF EXISTS] table_name
通过 SQL 删除表时,添加 IF EXISTS 可以仅在表存在时删除该表。如果尝试删除不存在的表且使用了 IF EXISTS 选项,则不会有任何操作。
通过 PHP 删除表时,可以添加可选的 silent 参数,其作用与 IF EXISTS 相同。
DROP TABLE IF EXISTS products;
POST /cli -d "DROP TABLE IF EXISTS products"
$params =
[
'table' => 'products',
'body' => ['silent' => true]
];
$client->indices()->drop($params);
utilsApi.sql('DROP TABLE IF EXISTS products')
{u'error': u'', u'total': 0, u'warning': u''}
await utilsApi.sql('DROP TABLE IF EXISTS products')
{u'error': u'', u'total': 0, u'warning': u''}
res = await utilsApi.sql('DROP TABLE IF EXISTS products');
{"total":0,"error":"","warning":""}
sqlresult = utilsApi.sql("DROP TABLE IF EXISTS products", true);
{total=0, error=, warning=}
sqlresult = utilsApi.Sql("DROP TABLE IF EXISTS products", true);
{total=0, error="", warning=""}
let sqlresult = utils_api.sql("DROP TABLE IF EXISTS products", Some(true)).await;
{total=0, error="", warning=""}