Perbedaan Antara Truncate Dan Delete

Pembuatan dan manipulasi data membentuk basis data dan kami menyebutnya sebagai DDL dan DML. DDL adalah singkatan untuk Bahasa Definisi Data. Itu bisa membuat atau memodifikasi struktur data dalam database dan mereka tidak bisa digunakan untuk mengubah data yang ada pada tabel. Sebagai contoh, kita memiliki perintah yang hanya membuat tabel dengan atribut tabel yang ditentukan tetapi tidak pernah menambahkan baris ke dalam tabel. Tetapi DML, Bahasa Manipulasi Data, mampu menambahkan, menghapus, atau memodifikasi data dalam tabel. Sebagai aturan umum, perintah DDL berkaitan dengan struktur tabel sedangkan perintah DML berkaitan dengan data aktual. Biarlah, mengapa kita hanya menyimpang dari topik "Perbedaan antara Truncate dan Hapus"? Ada alasan kami berbicara tentang DML dan DDL. Anda akan memahaminya dalam diskusi yang akan datang.

Apa itu perintah terpotong?

Tujuan dari perintah Truncate adalah untuk menghapus seluruh tabel. Jadi ketika Anda menggunakan perintah Truncate, Anda akan kehilangan semua data di atas meja dan Anda harus berhati-hati dalam menggunakannya. Beri tahu kami cara menggunakannya.

Sintaks Truncate:

MEJA TRUNCATE nama tabel;

Di sini, Anda harus menentukan nama tabel yang harus dihapus secara keseluruhan. Ini memastikan bahwa akan ada meja yang ada di ruang memori. Ini adalah contoh penggunaan Truncate.

Di bawah ini adalah tabel 'karyawan' dan lihat saja baris data di dalamnya.

emp-id nama emp penunjukan
1011 Mendongkrak Petugas
1012 Cerah Admin
1014 Nancy Keuangan

Sekarang, mari kita keluarkan perintah di bawah ini di atas meja karyawan.

MEJA TRUNCATE karyawan;

Berikut ini adalah hasil dari sintaks di atas dan tidak ada data di dalamnya.

emp-id nama emp penunjukan

Apa itu Perintah Hapus?

Tujuan dari perintah Hapus adalah untuk menghapus baris yang ditentukan dari tabel. Di sini, klausa 'Di mana' digunakan di sini untuk menentukan baris yang perlu dihapus. Ketika kita tidak menentukan baris, perintah akan menghapus semua baris dalam tabel. Lihat saja sintaksnya.

HAPUS DARI karyawan;

Sintaks di atas menghapus semua baris dari tabel 'karyawan'. Jadi tabel yang dihasilkan tidak mengandung data.

HAPUS DARI karyawan DIMANA emp-id = 1011;

Pernyataan ini hanya menghapus satu baris dengan emp-id adalah 1011. Jadi tabel yang dihasilkan akan seperti di bawah ini.

emp-id nama emp penunjukan
1012 Cerah Admin
1014 Nancy Keuangan

Perbedaan:

  • Truncate adalah DDL; Hapus adalah DML: Kami telah membahas di atas bagaimana DDL dan DML bekerja dalam diskusi kami di atas. Perintah Truncate adalah DDL dan beroperasi pada tingkat struktur data. Tetapi Delete adalah perintah DML dan beroperasi pada tabel data. Contoh lain untuk DDL adalah CREATE dan ALTER. Dengan cara yang sama, kita dapat mengatakan perintah seperti SELECT, UPDATE, dan INSERT adalah contoh sempurna untuk DML.
  • Bagaimana cara Truncate dan Delete bekerja: Segera setelah kami mengeluarkan perintah Truncate, itu hanya mencari tabel yang ditentukan. Kemudian itu benar-benar menghapus semua data dari memori. Tetapi prosedur kerjanya sedikit berbeda dalam hal Hapus. Di sini, data tabel asli disalin ke ruang yang disebut ruang 'Putar kembali' sebelum melakukan manipulasi data yang sebenarnya. Kemudian perubahan dilakukan pada ruang data tabel aktual. Jadi, keduanya berbeda dalam cara mereka bekerja.

Memotong -> hapus seluruh data dari tabel -> Ruang tabel dibebaskan sekarang.

Menghapus -> Salin data tabel asli ke ruang Roll Back -> hapus data yang ditentukan / seluruh tabel -> Ruang tabel dibebaskan tetapi ruang Roll Back diisi.

  • Putar kembali: Roll back adalah seperti perintah Undo di aksesoris Microsoft kami. Ini digunakan untuk membatalkan perubahan yang telah kita lakukan baru-baru ini yaitu dari titik tersimpan terakhir. Untuk melakukan operasi, data harus disalin ke ruang Roll Back sebelum diedit. Meskipun Roll back ini membutuhkan memori tambahan, mereka sangat berguna untuk kembali ke aslinya. Terutama, ketika Anda mengedit secara tidak sengaja! Mari kita datang ke Truncate dan Delete sehubungan dengan Roll kembali sekarang. Seperti yang kita diskusikan di atas, Truncate tidak pernah menggunakan ruang putar belakang dan kami tidak bisa kembali ke data asli. Tapi perintah Delete menggunakan ruang roll back dan kita bisa menggunakan 'Komit' atau 'RollBack' untuk menerima atau membatalkan perubahan masing-masing.
  • Pemicu: Bagi mereka yang membutuhkan penjelasan tentang pemicu, berikut adalah sedikit catatan. Pemicu adalah serangkaian operasi / operasi yang ditentukan sebelumnya yang harus diaktifkan ketika tabel menemukan kondisi tertentu. Misalnya, kita dapat memicu perubahan jumlah gaji ketika pengalaman karyawan dengan perusahaan lebih dari setahun. Pemicu ini bisa bekerja di tabel lain juga. Misalnya, kami dapat memperbarui tabel keuangan segera setelah kenaikan gaji dilakukan untuk seorang karyawan.

Truncate adalah perintah DDL, pemicunya tidak diperbolehkan di sini. Tapi Delete adalah perintah DML, Pemicu diizinkan di sini.

  • Yang mana lebih cepat? Seperti yang Anda tebak, perintah Truncate akan lebih cepat daripada perintah Delete. Yang pertama bisa menghapus semua data dan tidak perlu memeriksa kondisi yang cocok. Selain itu, data asli tidak disalin ke ruang rollback dan ini menghemat banyak waktu. Dua faktor ini membuat Truncate bekerja lebih cepat daripada Delete.
  • Bisakah kita menggunakan klausa WHERE? Klausa 'Di mana' digunakan untuk menentukan kondisi pencocokan tertentu dan tidak ada hubungannya dengan Truncate. Karena Truncate tidak pernah mencari kondisi yang cocok dan hanya menghilangkan semua baris, kami tidak dapat menggunakan klausa 'Di mana' di sini. Tapi kami selalu bisa menentukan kondisi dengan bantuan klausa 'di mana' dalam perintah Hapus.
  • Yang menempati lebih banyak ruang? Truncate tidak akan menggunakan ruang rollback dan menghemat memori itu. Tetapi delete membutuhkan cadangan dalam bentuk ruang Rollback dan karenanya membutuhkan lebih banyak ruang memori daripada truncate.

Jadi itulah perbedaannya dan mari kita lihat dalam bentuk tabel.

S.Tidak Perbedaan dalam Memotong Menghapus
1. DDL atau DML? Ini adalah DDL dan beroperasi pada tingkat struktur data. Contoh lain untuk DDL adalah CREATE dan ALTER. Ini adalah perintah DML dan beroperasi pada data tabel. DML adalah singkatan dari Bahasa Manipulasi Data. Perintah seperti SELECT, UPDATE, dan INSERT adalah contoh sempurna untuk DML. DML adalah singkatan dari Bahasa Manipulasi Data.

2. bagaimana cara kerjanya? Segera setelah kami mengeluarkan perintah Truncate, itu hanya mencari tabel yang ditentukan. Kemudian itu benar-benar menghapus semua data dari memori. Di sini, data tabel asli disalin ke ruang yang disebut ruang 'Putar kembali' sebelum melakukan manipulasi data yang sebenarnya. Kemudian perubahan dilakukan pada ruang data tabel aktual.
3. RollBack Perintah Truncate tidak pernah menggunakan ruang roll back dan kami tidak bisa kembali ke data asli. Ruang Rollback adalah ruang eksklusif dan ditempati saat perintah DML dikeluarkan. Perintah Hapus menggunakan ruang putar kembali dan kita bisa menggunakan 'Komit' atau 'RollBack' untuk menerima atau membatalkan perubahan masing-masing.

4. Pemicu Truncate adalah perintah DDL, pemicu tidak diizinkan. Hapus adalah perintah DML, Pemicu diizinkan di sini.

5. Yang mana lebih cepat? Itu bisa menghapus semua data dan tidak perlu memeriksa kondisi yang cocok. Selain itu, data asli tidak disalin ke ruang rollback dan ini menghemat banyak waktu. Dua faktor ini membuat Truncate bekerja lebih cepat daripada Delete.

Ini menggunakan ruang rollback dan selalu data asli harus tetap di atasnya. Ini adalah beban tambahan dan, pada gilirannya, membutuhkan lebih banyak waktu daripada Truncate.
6. Bisakah kita menggunakan klausa WHERE? Karena Truncate tidak pernah mencari kondisi yang cocok dan hanya menghilangkan semua baris, kami tidak dapat menggunakan klausa 'Di mana' di sini. Tapi kami selalu bisa menentukan kondisi dengan bantuan klausa 'di mana' dalam perintah Hapus.
7. Yang menempati lebih banyak ruang? Truncate tidak akan menggunakan ruang rollback dan menghemat memori itu. Perlu cadangan dalam bentuk ruang Rollback dan karenanya memerlukan lebih banyak ruang memori daripada truncate.

Mengetahui perbedaan antara dua entitas akan memperluas pengetahuan tentang keduanya! Anda telah mendarat di jalur yang benar yaitu halaman web untuk memahami perbedaan, terutama, antara perintah truncate dan delete. Semoga Anda sekarang jelas dengan perbedaannya dan beri tahu kami jika kami telah membantu Anda memahaminya. Anda juga dapat membantu kami menunjukkan yang tersisa!