Perbezaan Antara Truncate Dan Hapus Perbezaan Antara

Anonim

Penciptaan dan manipulasi data membentuk asas pangkalan data dan kami memanggilnya sebagai DDL dan DML masing-masing. A DDL adalah singkatan bagi Bahasa Definisi Data. Ia boleh mencipta atau mengubah struktur data dalam pangkalan data dan mereka tidak boleh digunakan untuk mengubah data yang ada pada jadual. Sebagai contoh, kami mempunyai arahan yang hanya membuat jadual dengan atribut jadual yang dinyatakan tetapi tidak pernah menambah mana-mana baris ke dalam jadual. Tetapi DML, Bahasa Manipulasi Data, mampu menambah, memotong atau memodifikasi data dalam jadual. Sebagai peraturan umum, arahan DDL memperkatakan struktur jadual manakala perintah DML berurusan dengan data sebenar. Biarlah, kenapa kita hanya menyimpang dari topik "Perbezaan antara Truncate dan Padam"? Terdapat sebab-sebab yang kami bercakap mengenai DML dan DDL. Anda akan faham dalam perbincangan yang akan datang.

Apakah arahan Truncate?

Tujuan perintah Truncate ialah memadamkan seluruh jadual. Oleh itu, apabila anda menggunakan arahan Truncate, anda akan kehilangan semua data di atas meja dan anda harus berhati-hati dalam menggunakannya. Marilah kita tahu cara menggunakannya.

Sintaks Truncate:

TRUNCATE TABLE table-name ;

Di sini, anda harus menentukan nama jadual yang harus dipadamkan secara keseluruhan. Ini memastikan bahawa terdapat sebarang jadual duduk di ruang ingatan. Berikut adalah contoh menggunakan Truncate.

Berikut adalah jadual 'pekerja' dan lihat sahaja baris data di dalamnya.

emp-id emp-name titel
1011 Jack Clerk
1012 1014 Nancy > Kewangan
Sekarang, marilah kita mengeluarkan arahan di bawah di atas jadual pekerja. Pekerja TRUNCATE TABLE
;

Berikut adalah hasil dari sintaks di atas dan tiada data di dalamnya.

emp-id emp-name

jawatan

Apa itu Delete Command? Tujuan arahan Hapus adalah untuk menghapus baris yang ditentukan dari jadual. Di sini, 'Where' fasal digunakan di sini untuk menentukan baris yang perlu dihapuskan. Apabila kita tidak menentukan baris, arahan itu akan memadamkan semua baris di dalam jadual. Lihat saja sintaks itu. DELETE FROM

pekerja;

Sintaks di atas memadam semua baris dari jadual 'pekerja'. Oleh itu jadual yang dihasilkan tidak mengandungi data.

DELETE DARI pekerja

WHERE

emp-id = 1011; Pernyataan ini hanya memadamkan satu baris yang emp-id adalah 1011. Jadi jadual yang dihasilkan akan seperti di bawah. emp-id emp-name

jawatan

1012 Rosy Admin
1014 Nancy sebuah DDL; Padam ialah DML:
Kami telah membincangkan di atas bagaimana DDL dan DML berfungsi dalam perbincangan kami di atas.Perintah Truncate adalah DDL dan ia beroperasi pada tahap struktur data. Tetapi Padam adalah perintah DML dan ia beroperasi pada data jadual. Contoh-contoh lain untuk DDL adalah CREATE and ALTER. Dengan cara yang sama, kita boleh mengatakan perintah seperti SELECT, UPDATE, dan REPLACE adalah contoh sempurna untuk DML. Bagaimanakah Truncate dan Padam berfungsi: Sebaik sahaja kami mengeluarkan perintah Truncate, ia hanya mencari jadual yang ditetapkan. Kemudian ia menghilangkan semua data dari memori. Tetapi prosedur kerja sedikit berbeza dalam hal Padam. Di sini, data jadual asal disalin ke ruang yang dipanggil ruang 'Kembali' sebelum melakukan manipulasi data sebenar. Kemudian perubahan dilakukan pada ruang data jadual sebenar. Jadi, kedua-duanya berbeza dengan cara mereka bekerja.

Truncate

  • -> alih keluar keseluruhan data dari jadual -> Ruang jadual dibebaskan sekarang. Padam
  • -> Salin data jadual asal ke Ruang Ralat Balik -> hapus data / seluruh jadual yang ditetapkan -> Ruang jadual dibebaskan tetapi ruang Roll Back diisi. Roll back:

Kembali roll adalah seperti perintah Undo dalam aksesori Microsoft kami. Ia digunakan untuk membatalkan perubahan yang telah kami lakukan baru-baru ini. e. dari titik selamat yang terakhir. Untuk menjalankan operasi, data harus disalin ke ruang Roll Back sebelum disunting. Walaupun punggung Roll ini memerlukan memori tambahan, mereka sangat berguna untuk kembali ke asal. Terutama, apabila anda menyunting beberapa kesalahan! Marilah kita datang ke Truncate dan Padam yang berkaitan dengan Roll sekarang. Seperti yang kita telah dibincangkan di atas, Truncate tidak pernah menggunakan ruang belakang dan kami tidak dapat kembali ke data asal. Tetapi Padam perintah menggunakan ruang balik dan kita sama ada menggunakan 'Commit' atau 'RollBack' untuk menerima atau membatalkan perubahan masing-masing. Pencetus:

Bagi mereka yang memerlukan penjelasan mengenai pencetus, berikut adalah nota kecil. Pencetus adalah set operasi / operasi yang telah ditetapkan sebelum ini yang perlu diaktifkan apabila jadual menghadapi keadaan tertentu. Sebagai contoh, kita boleh mencetuskan perubahan jumlah gaji apabila pengalaman pekerja dengan syarikat lebih daripada satu tahun. Pencetus ini boleh berfungsi pada jadual lain juga. Sebagai contoh, kami boleh mengemas kini jadual kewangan sebaik sahaja kenaikan gaji telah dilakukan untuk pekerja. Truncate adalah perintah DDL, pemicu tidak dibenarkan di sini. Tetapi Delete adalah perintah DML, Pemicu dibenarkan di sini.

  • Mana yang lebih cepat? Seperti yang anda fikirkan, arahan Truncate akan lebih cepat daripada perintah Delete. Yang pertama boleh memadam semua data dan tidak perlu menyemak apa-apa syarat yang sepadan. Juga, data asal tidak disalin ke ruang pengembalian dan ini menjimatkan banyak masa. Kedua-dua faktor ini menjadikan kerja Truncate lebih cepat daripada Padam.
  • Bolehkah kita menggunakan klausa WHERE? Klausa 'mana' digunakan untuk menentukan keadaan padanan tertentu dan tidak ada dengan Truncate. Memandangkan Truncate tidak pernah mencari sebarang keadaan yang sepadan dan hanya membuang semua baris, kami tidak dapat menggunakan klausa 'Di mana' di sini.Tetapi kami sentiasa dapat menentukan keadaan dengan bantuan klausa 'mana' dalam perintah Hapus.

Yang mana lebih banyak ruang?

  • Truncate tidak akan menggunakan ruang rollback dan menyimpan memori itu. Tetapi memadam memerlukan sandaran dalam bentuk ruang Rollback dan karenanya ia memerlukan lebih banyak ruang ingatan daripada truncate. Jadi mereka adalah perbezaan dan marilah kita melihat dalam bentuk jadual.
  • S. Tidak Perbezaan dalam
  • Truncate Padam

1.

DDL atau DML? Ia adalah DDL dan ia beroperasi pada tahap struktur data. Contoh-contoh lain untuk DDL adalah CREATE and ALTER. Ia adalah arahan DML dan ia beroperasi pada data jadual. DML ialah Bahasa Manipulasi Data. Perintah-perintah seperti SELECT, UPDATE, dan REPLACE adalah contoh sempurna untuk DML. DML ialah Bahasa Manipulasi Data.
2. Bagaimana ia berfungsi? Sebaik sahaja kami mengeluarkan arahan Truncate, ia hanya mencari jadual yang ditentukan. Kemudian ia menghilangkan semua data dari memori. Di sini, data jadual asal disalin ke ruang yang dipanggil ruang 'Kembali' sebelum melakukan manipulasi data sebenar. Kemudian perubahan dilakukan pada ruang data jadual sebenar.

3.

RollBack Perintah Truncate tidak pernah menggunakan ruang balik dan kami tidak dapat kembali ke data asal. Ruang Rollback adalah satu yang eksklusif dan diduduki apabila arahan DML dikeluarkan. Perintah Hapus menggunakan ruang balik dan kita sama ada menggunakan 'Commit' atau 'RollBack' untuk menerima atau membatalkan perubahan tersebut. 4.
Pencetus Truncate adalah arahan DDL, pencetus tidak dibenarkan. Padam adalah arahan DML, Pencetus dibenarkan di sini. 5.

Mana yang lebih cepat? Ia boleh mengalih keluar semua data dan tidak perlu menyemak apa-apa syarat yang sepadan. Juga, data asal tidak disalin ke ruang pengembalian dan ini menjimatkan banyak masa. Kedua-dua faktor ini menjadikan kerja Truncate lebih cepat daripada Padam. Ia menggunakan ruang rollback dan sentiasa data asal harus disimpan di atasnya. Ini adalah beban tambahan dan, pada gilirannya, mengambil banyak masa daripada Truncate. 6.

Bolehkah kita menggunakan klausa WHERE? Sebagai Truncate tidak pernah mencari apa-apa syarat yang sepadan dan hanya menghilangkan semua baris, kami tidak dapat menggunakan klausa 'Di mana' di sini. Tetapi kita sentiasa dapat menentukan keadaan dengan bantuan klausa 'mana' dalam perintah Hapus.

7.
Yang mana lebih banyak ruang? Truncate tidak akan menggunakan ruang rollback dan menyimpan memori itu. Ia memerlukan sandaran dalam bentuk ruang Rollback dan oleh itu ia memerlukan lebih banyak ruang ingatan daripada truncate. Mengetahui perbezaan antara mana-mana dua entiti memperluaskan pengetahuan kedua-duanya! Anda telah mendarat di jalan yang betul i. e. halaman web untuk memahami perbezaan, terutamanya, antara arahan memotong dan memadam. Berharap anda kini jelas dengan perbezaannya dan beritahu kami jika kami telah membantu anda memahaminya. Anda juga boleh membantu kami menunjuk yang telah ditinggalkan!