Perbezaan Antara Truncate dan Padam

Pengarang: Laura McKinney
Tarikh Penciptaan: 2 April 2021
Tarikh Kemas Kini: 15 Mungkin 2024
Anonim
SQL: Delete Vs Truncate Vs Drop
Video.: SQL: Delete Vs Truncate Vs Drop

Kandungan

Perbezaan Utama

DELETE dan TRUNCATE adalah dua istilah yang digunakan dalam Structured Query Language (SQL) untuk menghilangkan rekod atau data dari sebuah meja. Walaupun keputusan akhir kedua-dua perintah adalah sama tetapi terdapat juga beberapa perbezaan antara kedua-dua yang penting untuk difahami. Perbezaan utama antara DELETE dan TRUNCATE ialah DELTE adalah perintah Bahasa Manipulasi Data (DML) sementara TRUNCATE adalah arahan Bahasa Definisi Data (DDL).


Apa itu TRUNCATE?

TRUNCATE juga merupakan operasi log. Kenyataan TRUNCATE TABLE adalah arahan DDL dalam SQL yang menandakan luasnya jadual untuk deallocation. Sebagai hasil daripada operasi ini, semua data dari jadual dibuang dengan serta-merta, biasanya melangkaui beberapa mekanisme penguatkuasaan integriti. Ia diperkenalkan dalam SQL: 2008 standard. Kenyataan 'TRUNCATE TABLE mytable' secara logiknya bersamaan dengan kenyataan 'DELETE FROM mytable' tanpa klausa 'WHERE'. 'TRUNCATE TABLE' dengan serta-merta membuang semua data dalam jadual dengan mengesahkan halaman data yang digunakan oleh jadual. Ini mengurangkan overhead sumber pembalakan penghapusan, serta bilangan kunci yang diperlukan. Kami tidak dapat menentukan klausa 'WHERE' dalam pernyataan 'TRUNCATE TABLE' kerana semuanya atau apa-apa.

Apakah DELETE?

Dalam pangkalan data SQL, DELETE bermaksud pernyataan yang membuang satu atau lebih rekod atau data dari jadual. Subset boleh ditakrifkan untuk penyingkiran / pemadaman menggunakan syarat untuk mengalih keluar semua rekod. Beberapa Sistem Pengurusan Pangkalan Data (DBM) seperti permit MySQL untuk memadam baris dari pelbagai jadual dengan satu pernyataan DELETE yang juga dipanggil multi-table DELETE. Sintaks pernyataan DELETE adalah DELETE DARI table_name . Sekarang mana-mana baris yang sepadan dengan keadaan 'WHERE' akan dipadamkan dari jadual. Jika klausa 'WHERE' diabaikan dari pernyataan, semua baris di dalam jadual dipadamkan. Jadi, pernyataan 'DELETE' sepatutnya digunakan dengan berhati-hati. Selain itu, kenyataan 'DELETE' tidak mengembalikan sebarang baris; itu tidak akan menjana set hasil.


Perbezaan Utama

  1. DELETE adalah perintah Bahasa Manipulasi Data (DML) sementara TRUNCATE adalah arahan Bahasa Definisi Data (DDL).
  2. TRUNCATE adalah lebih cepat berbanding dengan DELETE kerana ia dengan serta-merta menghapus semua data.
  3. Syarat 'WHERE' diperlukan dalam DELETE. . Jika klausa 'WHERE' diabaikan dari pernyataan, semua baris di dalam jadual dipadamkan. Tetapi kita tidak boleh menyatakan klausa 'WHERE' dalam pernyataan 'TRUNCATE TABLE' kerana semuanya atau apa-apa.
  4. DELETE menghilangkan beberapa atau semua baris dari meja sambil TRUNCATE mengeluarkan semua baris.
  5. DELETE menyebabkan semua DELETE mencetuskan di atas meja untuk api sementara tiada pencetus dipecat semasa operasi TRUNCATE kerana ia tidak terpakai pada baris individu.
  6. Padam boleh digunakan dengan pandangan yang diindeks manakala TRUNCATE tidak boleh digunakan dengan pandangan yang diindeks.
  7. DELETE dieksekusi menggunakan kunci baris dan setiap baris dalam jadual dikunci untuk penghapusan sementara TRUNCATE dilaksanakan menggunakan kunci meja dan semua jadual dikunci untuk mengeluarkan semua rekod.

Provini ebuah wilayah hampir elalu merupakan bahagian pentadbiran, dalam negara atau negeri. Itilah ini beraal dari wilayah Rom kuno, yang merupakan wilayah teritorial dan pentadbiran wilayah Rom Em...

Ungkapan yang berbeza mempunyai penjelaan yang membuat mereka ama ekali berbeza atau eperti atu ama lain, namun butiran pertama yang menjadikannya berbeza angat penting. Kedua-dua yang edang dibincang...

Artikel Yang Menarik