Back to Manticoresearch

Удаление таблицы

manual/russian/Deleting_a_table.md

25.11.05.1 KB
Original Source

Удаление таблицы

<!-- example drop -->

Удаление таблицы выполняется внутренне в 2 шага:

  1. Таблица очищается (аналогично TRUNCATE)
  2. Все файлы таблицы удаляются из папки таблицы. Все внешние файлы таблицы, которые использовались таблицей (такие как wordforms, extensions или stopwords), также удаляются. Обратите внимание, что эти внешние файлы копируются в папку таблицы при использовании CREATE TABLE, поэтому исходные файлы, указанные в CREATE TABLE, не будут удалены.

Удаление таблицы возможно только когда сервер работает в режиме RT. Можно удалить RT таблицы, PQ таблицы и распределённые таблицы.

<!-- intro -->
SQL:
<!-- request SQL -->
sql
DROP TABLE products;
<!-- response -->
sql
Query OK, 0 rows affected (0.02 sec)
<!-- intro -->
JSON:
<!-- request JSON -->
JSON
POST /cli -d "DROP TABLE products"
<!-- response JSON -->
JSON
{
"total":0,
"error":"",
"warning":""
}
<!-- intro -->
PHP:
<!-- request PHP -->
php
$params = [ 'table' => 'products' ];

$response = $client->indices()->drop($params);
<!-- response PHP -->
php
Array
(
    [total] => 0
    [error] =>
    [warning] =>
)

<!-- intro -->
Python:
<!-- request Python -->
python
utilsApi.sql('DROP TABLE products')
<!-- response Python -->
python
{u'error': u'', u'total': 0, u'warning': u''}
<!-- intro -->
Python-asyncio:
<!-- request Python-asyncio -->
python
await utilsApi.sql('DROP TABLE products')
<!-- response Python-asyncio -->
python
{u'error': u'', u'total': 0, u'warning': u''}
<!-- intro -->
Javascript:
<!-- request javascript -->
javascript
res = await utilsApi.sql('DROP TABLE products');
<!-- response javascript -->
javascript
{"total":0,"error":"","warning":""}
<!-- intro -->
java:
<!-- request Java -->
java
sqlresult = utilsApi.sql("DROP TABLE products", true);
<!-- response Java -->
java
{total=0, error=, warning=}
<!-- intro -->
C#:
<!-- request C# -->
clike
sqlresult = utilsApi.Sql("DROP TABLE products", true);
<!-- response C# -->
clike
{total=0, error="", warning=""}
<!-- intro -->
Rust:
<!-- request Rust -->
rust
let sqlresult = utils_api.sql("DROP TABLE products", Some(true)).await;
<!-- response Rust -->
rust
{total=0, error="", warning=""}
<!-- end -->

Синтаксис оператора DROP TABLE в SQL выглядит следующим образом:

sql
DROP TABLE [IF EXISTS] table_name
<!-- example drop-if-exists -->

При удалении таблицы через SQL можно использовать добавление IF EXISTS, чтобы удалить таблицу только если она существует. Если вы попробуете удалить несуществующую таблицу с опцией IF EXISTS, ничего не произойдёт.

При удалении таблицы через PHP можно добавить необязательный параметр silent, который работает так же, как IF EXISTS.

<!-- intro -->
SQL:
<!-- request SQL -->
sql
DROP TABLE IF EXISTS products;
<!-- intro -->
JSON:
<!-- request JSON -->
http
POST /cli -d "DROP TABLE IF EXISTS products"
<!-- intro -->
PHP:
<!-- request PHP -->
php
$params =
[
  'table' => 'products',
  'body' => ['silent' => true]
];

$client->indices()->drop($params);
<!-- intro -->
Python:
<!-- request Python -->
python
utilsApi.sql('DROP TABLE IF EXISTS products')
<!-- response Python -->
python
{u'error': u'', u'total': 0, u'warning': u''}
<!-- intro -->
Python-asyncio:
<!-- request Python-asyncio -->
python
await utilsApi.sql('DROP TABLE IF EXISTS products')
<!-- response Python-asyncio -->
python
{u'error': u'', u'total': 0, u'warning': u''}
<!-- intro -->
Javascript:
<!-- request javascript -->
javascript
res = await utilsApi.sql('DROP TABLE IF EXISTS products');
<!-- response javascript -->
javascript
{"total":0,"error":"","warning":""}
<!-- intro -->
java:
<!-- request Java -->
java
sqlresult = utilsApi.sql("DROP TABLE IF EXISTS products", true);
<!-- response Java -->
java
{total=0, error=, warning=}
<!-- intro -->
C#:
<!-- request C# -->
clike
sqlresult = utilsApi.Sql("DROP TABLE IF EXISTS products", true);
<!-- response C# -->
clike
{total=0, error="", warning=""}
<!-- intro -->
Rust:
<!-- request Rust -->
rust
let sqlresult = utils_api.sql("DROP TABLE IF EXISTS products", Some(true)).await;
<!-- response Rust -->
rust
{total=0, error="", warning=""}
<!-- end --> <!-- proofread -->