Anda dapat mengeksekusi pernyataan TRUNCATE TABLE untuk menghapus seluruh data dari sebuah tabel atau dari partisi tertentu dalam tabel di kluster AnalyticDB for MySQL. Skema tabel tetap dipertahankan.
Sintaksis
Hapus semua data dari sebuah tabel:
TRUNCATE TABLE db_name.table_name;Hapus data dari partisi tertentu dalam sebuah tabel:
TRUNCATE TABLE db_name.table_name PARTITION partition_name[,...];
Parameter
| Parameter | Deskripsi |
|---|---|
| *db_name* | Nama database yang berisi tabel yang ingin Anda truncate. |
| *table_name* | Nama tabel yang ingin Anda truncate. |
| *partition_name* | Nama partisi yang ingin Anda truncate. Di AnalyticDB for MySQL, nama partisi berupa nilai BIGINT. Anda dapat menentukan beberapa nama partisi yang dipisahkan dengan koma. Untuk menanyakan (query) nama partisi, lihat Query partition names. |
Query partition names
Untuk menanyakan nama semua partisi dalam sebuah tabel, eksekusi pernyataan berikut:
SELECT partition_name FROM information_schema.partitions WHERE table_name = 'your_table_name' ORDER BY partition_name DESC LIMIT 100;Catatan penggunaan
Pernyataan
TRUNCATE TABLEtidak dapat dieksekusi saat backup database sedang berlangsung. Kesalahan akan dikembalikan jika Anda menjalankan pernyataan ini selama proses backup.Jika Anda mengeksekusi pernyataan
TRUNCATE TABLEsaat kluster AnalyticDB for MySQL memiliki task BUILD (proses organisasi data latar belakang) dalam status Berjalan, kesalahan akan dikembalikan. Tunggu hingga task BUILD selesai, lalu eksekusi ulang pernyataan tersebut. Untuk informasi lebih lanjut tentang cara menanyakan status task BUILD, lihat View the state of a BUILD task.
Contoh
Hapus semua data dari tabel
customerdi databaseadb_demo:TRUNCATE TABLE adb_demo.customer;Hapus data dari partisi
20170103,20170104, dan20170108di tabelcustomerdi databaseadb_demo:TRUNCATE TABLE adb_demo.customer PARTITION 20170103,20170104,20170108;