تُستخدم عبارة TRUNCATE في ClickHouse لإزالة جميع البيانات بسرعة من جدول أو قاعدة بيانات مع الحفاظ على بنيتهما.
TRUNCATE TABLE
TRUNCATE TABLE [IF EXISTS] [db.]name [ON CLUSTER cluster] [SYNC]| Parameter | Description |
|---|---|
IF EXISTS |
يمنع حدوث خطأ إذا لم يكن الجدول موجودًا. وإذا أُغفل، فسيُرجع الاستعلام خطأ. |
db.name |
اسم قاعدة البيانات اختياري. |
ON CLUSTER cluster |
يشغّل الأمر على عنقود محدد. |
SYNC |
يجعل عملية الاقتطاع متزامنة عبر النسخ المتماثلة عند استخدام الجداول المتماثلة. وإذا أُغفل، تحدث عملية الاقتطاع بشكل غير متزامن افتراضيًا. |
يمكنك استخدام إعداد alter_sync لتهيئة الانتظار حتى تُنفَّذ الإجراءات على النسخ المتماثلة.
يمكنك تحديد مدة الانتظار (بالثواني) حتى تنفّذ النسخ المتماثلة غير النشطة استعلامات TRUNCATE باستخدام إعداد replication_wait_for_inactive_replica_timeout.
الاستعلام TRUNCATE TABLE غير مدعوم لمحركات الجداول التالية:
TRUNCATE جميع الجداول
TRUNCATE [ALL] TABLES FROM [IF EXISTS] db [LIKE | ILIKE | NOT LIKE '<pattern>'] [ON CLUSTER cluster]| المعلمة | الوصف |
|---|---|
ALL |
يزيل البيانات من جميع الجداول في قاعدة البيانات. |
IF EXISTS |
يمنع حدوث خطأ إذا لم تكن قاعدة البيانات موجودة. |
db |
اسم قاعدة البيانات. |
LIKE | ILIKE | NOT LIKE '<pattern>' |
يُصفّي الجداول حسب النمط. |
ON CLUSTER cluster |
ينفّذ الأمر على مستوى العنقود. |
يزيل جميع البيانات من جميع الجداول في قاعدة بيانات.
TRUNCATE DATABASE
TRUNCATE DATABASE [IF EXISTS] db [ON CLUSTER cluster]| المعلمة | الوصف |
|---|---|
IF EXISTS |
يمنع ظهور خطأ إذا كانت قاعدة البيانات غير موجودة. |
db |
اسم قاعدة البيانات. |
ON CLUSTER cluster |
ينفّذ الأمر على مستوى عنقود محدد. |
يزيل جميع الجداول من قاعدة بيانات مع الإبقاء على قاعدة البيانات نفسها. وعند حذف العبارة IF EXISTS، يعرض الاستعلام خطأ إذا كانت قاعدة البيانات غير موجودة.