Perbedaan Antara Truncate dan Delete

Pengarang: Laura McKinney
Tanggal Pembuatan: 2 April 2021
Tanggal Pembaruan: 15 Boleh 2024
Anonim
Perbedaan perintah SQL Truncate vs Delete dalam Basisdata - (DML vs DDL)
Video: Perbedaan perintah SQL Truncate vs Delete dalam Basisdata - (DML vs DDL)

Isi

Perbedaan utama

HAPUS dan TRUNCATE adalah dua istilah yang digunakan dalam Structured Query Language (SQL) untuk menghapus catatan atau data dari tabel. Meskipun hasil akhir dari kedua perintah adalah sama tetapi ada juga beberapa perbedaan antara kedua yang penting untuk memahami. Perbedaan utama antara DELETE dan TRUNCATE adalah bahwa DELTE adalah perintah Data Manipulation Language (DML) sedangkan TRUNCATE adalah perintah Data Definition Language (DDL).


Apa itu TRUNCATE?

TRUNCATE juga merupakan operasi yang ditebang. Pernyataan TRUNCATE TABLE adalah perintah DDL dalam SQL yang menandai luasan dari tabel untuk deallokasi. Sebagai hasil dari operasi ini, semua data dari tabel menghapus langsung, biasanya melewati sejumlah mekanisme penegakan integritas. Saat itu diperkenalkan di SQL: standar 2008. Pernyataan ‘TRUNCATE TABLE mytable’ secara logis setara dengan pernyataan ‘DELETE FROM mytable’ tanpa klausa ‘WHERE’. ‘TRUNCATE TABLE’ langsung menghapus semua data dalam tabel dengan membatalkan alokasi halaman data yang digunakan oleh tabel. Ini mengurangi overhead sumber daya dari penebangan penghapusan, serta jumlah kunci yang diperlukan. Kami tidak dapat menentukan 'WHERE' clause dalam pernyataan 'TRUNCATE TABLE' karena semuanya atau tidak sama sekali.

Apa itu DELETE?

Dalam SQL database, cara DELETE pernyataan yang menghilangkan satu atau lebih catatan atau data dari tabel. Subset dapat didefinisikan untuk dihapus / dihapus menggunakan kondisi untuk menghapus semua catatan. Beberapa Sistem Manajemen Database (DBM) seperti MySQL mengizinkan untuk menghapus baris dari berbagai tabel dengan satu pernyataan DELETE yang juga disebut DELETE multi-tabel. Sintaks pernyataan DELETE adalah DELETE FROM table_name . Sekarang setiap baris yang cocok dengan kondisi ‘WHERE’ akan dihapus dari tabel. Jika ‘WHERE’ klausul dihilangkan dari pernyataan tersebut, semua baris dalam tabel akan dihapus. Jadi, pernyataan 'HAPUS' harus digunakan dengan hati-hati. Selain itu, pernyataan 'HAPUS' tidak mengembalikan baris apa pun; yang tidak akan menghasilkan hasil yang ditetapkan.


Perbedaan utama

  1. DELETE adalah perintah Data Manipulation Language (DML) sedangkan TRUNCATE adalah perintah Data Definition Language (DDL).
  2. TRUNCATE jauh lebih cepat dibandingkan dengan DELETE karena secara instan menghapus semua data.
  3. Kondisi ‘WHERE’ diperlukan di DELETE. . Jika ‘WHERE’ klausul dihilangkan dari pernyataan tersebut, semua baris dalam tabel akan dihapus. Tetapi kami tidak dapat menentukan klausa 'DIMANA' dalam pernyataan 'TRUNCATE TABLE' karena semuanya atau tidak sama sekali.
  4. HAPUS menghapus beberapa atau semua baris dari tabel sementara TRUNCATE menghapus semua baris.
  5. HAPUS menyebabkan semua pemicu HAPUS di atas meja menyala sementara tidak ada pemicu yang diaktifkan selama operasi TRUNCATE karena itu tidak berlaku pada baris individual.
  6. Hapus dapat digunakan dengan tampilan yang diindeks sementara TRUNCATE tidak dapat digunakan dengan tampilan yang diindeks.
  7. HAPUS dijalankan menggunakan kunci baris dan setiap baris dalam tabel dikunci untuk dihapus sementara TRUNCATE dieksekusi menggunakan kunci tabel dan semua tabel dikunci untuk menghapus semua catatan.

Cyan vs Teal - Apa bedanya?

Peter Berry

Boleh 2024

Perbedaan utama antara Cyan dan Teal adalah bahwa Cyan adalah warna yang terlihat antara biru dan hijau; warna primer ubtractive (CMY) dan Teal adalah warna jenuh rendah, media hijau kebiruan hingga g...

Ileum vs Colon - Apa bedanya?

Peter Berry

Boleh 2024

Ileum Ileum adalah bagian terakhir dari uu kecil di vertebrata paling tinggi, termauk mamalia, reptil, dan burung. Pada ikan, pembagian uu kecil tidak jela dan itilah uu poterior atau uu dital dapat...

Menarik