TRUNCATE TABLE

Bir tablo veya bölümden tüm satırları kaldırır. Tablo bir görünüm veya dış veya geçici bir tablo olmamalıdır. Aynı anda birden çok bölümü kesmek için bölümünde bölümleri belirtin partition_spec . Hayır partition_spec belirtilirse, tablodaki tüm bölümleri kaldırır.

Sözdizimi

TRUNCATE TABLE table_identifier [ partition_spec ]

Parametreler

  • table_identifier

    • [database_name.] table_name: Tablo adı, isteğe bağlı olarak bir veritabanı adı ile nitelenir.
    • delta.`<path-to-table>`: Varolan bir Delta tablosunun konumu.
  • partition_spec

    Bölümler için anahtar-değer çiftleri için isteğe bağlı, virgülle ayrılmış liste.

    Sözdizimi:PARTITION ( partition_col_name = partition_col_val [ , ... ] )

Örnekler

-- Create table Student with partition
CREATE TABLE Student (name STRING, rollno INT) PARTITIONED BY (age INT);

SELECT * FROM Student;
+----+------+---+
|name|rollno|age|
+----+------+---+
| ABC|     1| 10|
| DEF|     2| 10|
| XYZ|     3| 12|
+----+------+---+

-- Remove all rows from the table in the specified partition
TRUNCATE TABLE Student partition(age=10);

-- After truncate execution, records belonging to partition age=10 are removed
SELECT * FROM Student;
+----+------+---+
|name|rollno|age|
+----+------+---+
| XYZ|     3| 12|
+----+------+---+

-- Remove all rows from the table from all partitions
TRUNCATE TABLE Student;

SELECT * FROM Student;
+----+------+---+
|name|rollno|age|
+----+------+---+
+----+------+---+