Apa itu truncate pada mysql

Truncate Statement merupakan sebuah perintah atau sebuah statement yang terdapat pada sebuah database Mysql yang berfungsi untuk mengosongkan atau menghapus sebuah data yang terdapat didalam sebuah table, cara kerja dari Truncate hampir sama dengan perintah DELETE, namun pada Truncate lebih singkat dan lebih sederhana, oke teman-teman pada tutorial kali ini kita akan membahas tentang Cara Penggunaan Truncate Statement Pada Mysql.

Nah cara penulisan dari Truncate yaitu :

TRUNCATE TABLE nama_table;

Sebagai contoh nya seperti dibawah ini :

Pada sintak TRUNCATE TABLE murid; maksudnya yaitu kita akan menghapus semua data yang terdapat di dalam table murid, maka semua data yang terdapat di dalam table murid akan terhapus dengan menggunakan TRUNCATE.

Namun jika kita menggunakan DELETE maka perintah sql nya seperti dibawah ini :

DELETE FROM table_name WHERE kondisi;

Sebagai contoh nya seperti dibawah ini

DELETE FROM murid WHERE id="1";

Maksudnya yaitu kita akan menghapus sebuah data yang terdapat didalam table murid dengan id satu, atau kita juga bisa menggunakan perintah sql seperti dibawah ini :

Nah maksudnya yaitu kita akan menghapus semua data yang terdapat di dalam table murid, dibawah ini terdapat perbedaan antara Truncate dan Delete.

TRUNCATE DELETE
Menghapus data secara keseluruhan, dan tidak dapat menggunakan fungsi (where) Dapat menghapus data secara keseluruhan dan dapat menggunakan sebuah kondisi (where)
Waktu yang digunakan untuk menghapus semua data yang terdapat didalam sebuah table lebih cepat Waktu yang dibutuhkan untuk menghapus sebuah data tergantung dari sebuah variable atau jumlah data, jika data banyak maka akan membutuhkan waktu yang lama
Data yang telah dihapus tidak dapat di back up Data yang telah dihapus masih terback up
Merupakan kategori DDL (Data Definition Language) Merupakan Kategori DML (Data Manipulasi Language)

Namun dari perbedaan diatas dapat kita tarik sebuah pertanyaan yaitu, jika TRUNCATE lebih cepat dari DELETE mengapa kita menggunakan delete ?

Karena pada TRUNCATE kita tidak dapat menentukan kriteria pada data tertentu yang ingin kita hapus, dan pada TRUNCATE kita hanya mempunyai dua pilihan yaitu hapus semua atau tidak ada data yang dihapus.

Nah oke teman-teman sekian dulu tutorial saya kali ini tentang Cara Penggunaan Truncate Statement Pada Mysql.

Semoga bermanfaat.

Terimakasih.

Definisi dan Penggunaan

Fungsi TRUNCATE() digunakan untuk dapat memotong angka ke jumlah tempat desimal yang ditentukan.

Syntax

TRUNCATE(number, decimals)

Nilai Parameter

ParameterDeskripsi
number Required. Nomor yang akan dipotong
decimals Required. Jumlah tempat desimal yang akan dipotong

Detail Teknis

Works in:Mulai dari MySQL 4.0

Contoh
Kembalikan angka yang terpotong menjadi 2 tempat desimal:

SELECT TRUNCATE(245.985, 2);

Contoh
Kembalikan angka yang terpotong ke 0 tempat desimal:

SELECT TRUNCATE(674.156, 0);

Apa Itu Truncate Table?

TRUNCATE TABLE adalah salah satu perintah atau statement di database MySQL untuk mengosongkan atau menghapus semuda data yang ada di table. Perintah Truncate Table mirip dengan perintah DELETE table,  hanya lebih singkat dan sederhana tanpa menggunakan WHERE clause.

Apa itu truncate pada mysql


Sintak Dasar

Di bawah ini adalah sintak dasar Truncate Table di database MySQL:

TRUNCATE TABLE nama_table;

Contoh:

TRUNCATE TABLE mahasiswa;

Perintah diatas akan menghapus semua data di table Mahasiswa.

Catatan:

  • Perintah Truncate Table akan mereset sequence yang ada di table tersebut apabila salah satu kolomnya menggunakan constraint AUTO INCREMENT.
  • Jika Anda menggunakan engine database selain InnoDB, maka perintah Truncate Table akan menghapus semua data dan membuat table baru (re-create table).
  • Sedangkan jika Anda menggunakan engine database InnoDB, ketika tabel tersebut mempunyai beberapa Foreign Key, maka Truncate Table akan menghapus data baris per baris. Jika Foreign key tersebut mempunyai opsi DELETE CASCADE, maka data-data yang ada di child table (tabel referensi) akan ikut dihapus. Sedangkan jika tidak ada opsi DELETE CASCADE, Truncate Table akan menghapus data satu persatu, dan akan berhenti ketika ada error integrity constraint.

Truncate Vs Delete

Di bawah ini adalah tabel perbedaan antara Truncate Statement dan Delete Statement:

TRUNCATEDELETE
Merupakan kategori DDL (Data Definition Language) Merupakan kategori DML (Data Manipulation Language)
Akan menghapus seluruh record di table tanpa WHERE clause Akan menghapus record berdasarkan WHERE clause
Proses lebih cepat dan menggunakan lebih sedikit resource termasuk log transaksi Proses lebih lambat dan menggunakan lebih banyak resource termasuk log transaksi
Tidak dapat di rollback Dapat di rollback
Tidak dapat mengaktifkan trigger Dapat mengaktifkan trigger
Dapat mereset sequence Tidak dapat mereset sequence

Sekian tutorial Singkat Bagaimana Cara Menggunakan Truncate Statement Di MySQL. Semoga bermanfaat & Selamat Belajar database MySQL.

Jika Anda menyukai tutorial ini, silahkan Anda share dan Anda bagikan dengan teman-teman Anda, dan jika Anda ingin berdiskusi tentang judul tutorial diatas, atau pun mau bertanya tentang tutorial ini silahkan Anda untuk menggunakan fasilitas komentar untuk berdiskusi dan bertanya di blog ini.

Salam,

~Nursalim~
Naura-Lab.blogspot.com

Apa itu truncate MySQL?

Fungsi Numerik TRUNCATE() Pada MySQL Fungsi TRUNCATE() digunakan untuk dapat memotong angka ke jumlah tempat desimal yang ditentukan.

Apakah fungsi dari perintah truncate?

TRUNC akan menghapus bagian pecahan pada angka.

Apa perbedaan delete dan truncate?

Coba jawab ya, Kalo TRUNCATE buat ngosongin isi tabel, kalo DELETE buat hapus salah satu row (isi) tabel. Bedanya kalo ngosongin tabel dengan cara DELETE semua isinya, ketika tabel diinsert kembali primary key nya bakal dilajutin.

Jelaskan apa perbedaan perintah drop dan delete dalam MySQL?

Jika kondisi WHERE diberikan maka perintah delete akan menghapus data sesuai dengan kondisi yang diberikan. Jika tidak ada kondisi yang diberikan maka seluruh data pada tabel akan dihapus. DROP SQL digunakan untuk menghapus objek dari database.