--> Skip to main content
Pelajar Koding

follow us

Sql Insert

SQL Insert digunakan untuk menambah data gres ke suatu tabel. Terdapat beberapa cara untuk menuliskan sintaks insert. Kita akan membahasnya disini. Sebagai pola kasus kita akan menggunakan tabel berjulukan `klasifikasi` yang ada dalam database `latihan` dengan struktur selaku berikut: Basic Cara paling sederhana untuk input satu baris baru ialah memakai sintaks INSERT INTO dan menuliskan masing-masing nilai untuk semua kolom yang ada pada tabel tersebut. Jika tabel ada 10 kolom maka seluruhnya mesti diisi nilainya. INSERT INTO klasifikasi VALUES ( 'K003' , 'Berita Media Cetak' , '2010-05-14 15:15:32' , 'rani' , '2019-12-11 15:15:32' , 'rani' ) Kolom modifieddate dan modifiedby ialah log untuk pergantian data yang boleh bernilai NULL. Karena saat pertama kali insert data tercatat waktu dan user pembuatnya. Contoh Insert dengan nilai NULL yakni selaku berikut: INSERT INTO  kategori VALUES  ( 'K003' ,  'Berita Media Cetak' ,  '2010-05-14 15:15:32' , 'rani' ,  NULL ,  NULL ) Dengan Menyebutkan Nama Field yang akan Diinput Nilai Menyebutkan nama field yang akan diisi nilai pada query insert sangat dianjurkan alasannya adalah: Tidak mesti mengenang urutan kolom mirip dalam struktur tabel. Tidak perlu menentukan nilai untuk semua kolom, cuma yang diperlukan saja. Jika ada banyak kolom, lebih gampang untuk mencocokkan nilai dengan kolom yang dimaksud.  Sintaks INSERT tanpa daftar kolom akan menjadi tidak valid (error) kalau ada pergeseran kolom seperti ditambah atau dihapus dari tabel. Sehingga sehabis kolom disertakan atau dihapus dari tabel. Sintaks harus diganti lagi sesuai urutan kolom yang gres agar berfungsi kembali. INSERT INTO  kategori (kodekategori,namakategori,createddate,createdby) VALUES  ( 'K003' ,  'Berita Media Cetak' ,  '2010-05-14 15:15:32' ,  'rani' ) Menggunakan Sintaks SET Meskipun jarang dipakai tetapi ternyata INSERT MySQL dapat dilaksanakan dengan cara mirip ini. Kelebihan memakai SET yakni membuat lebih mudah membaca query dikala kolom dalam table sangat banyak. Tetapi cara ini cuma mampu menginput data 1 baris saja. INSERT INTO   klasifikasi SET   kodekategori = 'K003' ,   namakategori= 'Berita Media Cetak' ,   createddate= '2010-05-14 15:15:32' ,   createdby= 'rani' ; Insert Banyak Baris (Rows) Sekaligus Insert data dapay dikerjakan eksklusif beberapa baris dalam satu sintaks INSERT dengan memisahkan set nilai dalam beberapa tanda kurung. INSERT INTO   klasifikasi VALUES ( 'K001' , 'Fiksi' , '2010-05-14 15:15:31' , 'rani' , NULL ,  NULL ), ( 'K002' , 'Non Fiksi' , '2010-05-14 15:15:32' ,  'rani' ,  NULL ,  NULL ), ( 'K003' , 'Berita Media Cetak' , '2010-05-14 15:15:33' ,  'rani' ,  NULL ,  NULL ); atau INSERT INTO   klasifikasi(kodekategori,namakategori,createddate,createdby) VALUES  ( 'K001' ,  'Fiksi' ,  '2010-05-14 15:15:31' ,  'rani' ), ( 'K002' ,  'Non Fiksi' ,  '2010-05-14 15:15:32' ,  'rani' ), ( 'K003' ,  'Berita Media Cetak' ,  '2010-05-14 15:15:33' ,  'rani' ); Insert dari Hasil Query Insert data dari query atau sintaks SELECT juga mampu dikerjakan, pastikan jumlah dan urutan kolom yang dihasilkan dari SELECT sesuai dengan kolom tabel atau list kolom yang terdapat dalam sintaks INSERT. Sebagai acuan kita akan mengambil data yang ada di tabel kategori_beta untuk disimpan di tabel kategori. INSERT INTO klasifikasi SELECT kodekategori, namakategori, createddate, createdby,  modifieddate, modifiedby FROM kategori_beta atau INSERT INTO  kategori (kodekategori,namakategori,createddate,createdby) SELECT  kodekategori, namakategori, createddate, createdby   FROM  kategori_beta Mencegah Error Duplikat Data dengan INSERT IGNORE Sintaks ini dapat digunakan untuk menanggulangi error data unik/primary key kalau kita ingin mengabaikan proses INSERT jikalau data sudah ada. Kita lihat acuan data sebelum di insert: Query yang dipakai: INSERT IGNORE INTO klasifikasi  (kodekategori,namakategori,createddate,createdby, modifieddate,modifiedby) VALUES  ( 'K003' , 'Berita Media Terikini' , '2010-05-14 15:15:32' ,  'rani' , '2019-12-14 15:15:32' , 'rani' ) Setelah INSERT IGNORE alasannya adalah primary key telah digunakan sebelumnya, maka tidak ada perubahan: Namun akan berlaku INSERT biasa jika tidak didapatkan primary key atau unique constrain yang sama. Mencegah Error Duplikat Data dengan REPLACE INTO Berbeda dengan Insert Ignore, sintaks ini akan meniadakan baris data yang telah ada dan mengambil alih dengan yang gres. Kita akan menjajal mengganti data sebelum nya dengan PK K003 secara keseluruhan sehingga terlihat pergeseran masing-masing kolom. REPLACE INTO  kategori  (kodekategori,namakategori,createddate,createdby, modifieddate,modifiedby) VALUES  ( 'K003' ,  'Berita Media Terikini' ,  '2019-012-14 11:11:11' ,  'irsan' ,  '2019-12-15 05:10:55' ,  'irsan' ) Hasilnya seluruh nilai baris tergantikan (kecuali primary key) Query akan berlaku mirip INSERT biasa jika tidak ditemukan primary key atau unique constrain yang serupa. Mencegah Error Duplikat Data dengan  INSERT ... ON DUPLICATE KEY UPDATE Ketika Insert dilaksanakan dan data unik telah ada kita cuma ingin update beberapa kolom tertentu saja, kita mampu memakai sintaks ON DUPLICATE KEY ini. Tidak mirip REPLACE INTO yang mengganti sepenuhnya. Status nilai data terakhir sebelum mengeksekusi on duplicate key update: Query dibuat dengan nilai berlainan seluruhnya dengan data yang ada dalam baris bersangkutan (kecuali primary key) untuk menyaksikan imbas update berlaku pada kolom mana saja. Disini jikalau terjadi duplikat maka hanya akan mengubah kolom  namakategori ,  modifieddate  dan  modifiedby  saja. INSERT INTO klasifikasi  (kodekategori,namakategori,createddate,createdby, modifieddate,modifiedby) VALUES ('K003', 'Berita Media Terpercaya', '2018-11-14 22:22:22',  'ibenk', '2019-11-15 15:12:11', 'ibenk')  ON DUPLICATE KEY UPDATE namakategori = VALUES(namakategori),  modifieddate = VALUES(modifieddate), modifiedby = VALUES(modifiedby); Hasilnya: Jika terjadi duplikasi maka query hanya akan mengupdate data yang didefinisikan di klausa  ON DUPLICATE KEY UPDATE Sementara akan berlaku INSERT biasa bila tidak didapatkan primary key atau unique constrain yang sama. Lihat panduan selengkap nya pada link di bawah ini: Tutorial MySQL
Sumber http://rani-irsan.blogspot.com

You Might Also Like:

Comment Policy: Silahkan tuliskan komentar Anda yang sesuai dengan topik postingan halaman ini. Komentar yang berisi tautan tidak akan ditampilkan sebelum disetujui.
Buka Komentar