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.
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 |
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 |
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.
Truncate adalah perintah DDL, pemicunya tidak diperbolehkan di sini. Tapi Delete adalah perintah DML, Pemicu diizinkan di sini.
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!