Cara Menambahkan Data ke Dalam MySQL Dengan Menggunakan Query Insert

24 Sep 2019 13:35 465 Hits 0 Comments Approved by Plimbi
Beberapa query insert untuk menambahkan data ke dalam database yang mungkin belum kalian ketahui

Pada artikel sebelumnya, kita sudah membahas tentang cara mengubah struktur tabel MySQL dengan menggunakan query ALTER TABLE. Maka pada tutorial kali ini kita akan bahas tentang cara menggunakan query INSERT dalam MySQL untuk menambahkan data kedalam tabel MySQL.

Menambahkan sebuah data ke dalam tabel MySQL merupakan salah satu aktifitas yang paling sering kita lakukan. Pembuatan database dan tabel hanya perlu kita lakukan satu kali saja, namun menginput data kedalam tabel akan terus dilakukan sepanjang penggunaan aplikasi. Didalam MySQL dan juga RDBMS yang lainnya,  kita menggunakan query INSERT untuk menambahkan sebuah data kedalam tabel.

Query INSERT ini memiliki banyak variasi perintah yang fleksibel tergantung kebutuhan. Termasuk pilihan ketika data yang akan diinput terdapat duplikasi, dengan opsi IGNORE dan ONDUPLICATE KEY UPDATE.

Supaya kalian bisa lebih memahami lagi tentang query insert ini, disini kita akan membuat sebuah tabel dengan nama “mata_pelajaran” didalam sebuah database yang kita buat.

Dalam tabel mata_kuliah diatas, kita mendefinisikannya menggunakan beberapa atribut yang sudah kita bahas pada artikel sebelumnya tentang “Atribut Tipe Data Dalam Database MySQL”.

 

1. Dasar Penulisan Query INSERT

Penulisan dasar dari penulisan query INSERT dalam MySQL adalah sebagai berikut:

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]

[INTO] tbl_name [(col_name,...)]

{VALUES | VALUE} ({expr | DEFAULT},...),(...),...

[ ON DUPLICATE KEY UPDATE

col_name=expr

[, col name=expr]...]

Untuk cara membaca format dasar MySQL diatas, perintah yang terdapat diantara 2 tanda kurung siku ([...]) adalah opsional, kita tidak harus menulis seluruh perintah tersebut, namun dari format tersebut kita dapat mengetahui berbagai opsi yang tersedia yang dapat kita gunakan.

Seperti yang kita lihat bahwa MySQL telah menyediakan banyak pilihan untuk memasukan data kedalam tabel. Nah pada artikel kali ini kita akan bahas lebih dalam lagi tentang query INSERT ini.

 

2. Cara Menggunakan Query INSERT...VALUES

Format perintahnya sebagai berikut:

INSERT INTO nama_tabel VALUES (nilai_kolom1, nilai_kolom2, . . .);

nama_tabel adalah nama tabel yang akan diinputkan, sedangkan nilai_kolom1 adalah nilai yang akan kita inputkan kedalam tabel MySQL, dan nilai_kolom2 adalah nilai untuk kolom yang kedua, dan seterusnya.

Perhatikan bahwa nilai_kolom harus berada dalam tanda kurung dan dipisahkan dengan koma untuk kolom-kolom berikutnya.

Contoh:

Lalu jika kita ingin memasukan 2 baris data atau lebih dalam satu perintah query INSERT, kita tinggal menambahkan isi data untuk baris berikutnya dibelakang perintah dengan format penulisannya sebagai berikut:

INSERT INTO nama_tabel VALUES (nilai_kolom1a, nilai_kolom2a, . . . ),

(nilai_kolom1b, nilai_kolom2b, . . . );

Contoh:

 

3. Cara Menggunakan Query INSERT (nama_kolom)... VALUES

Untuk situasi dimana kolom yang akan diisi tidak diketahui urutannya, atau kita hanya akan mengisi sebagian kolom saja. Caranya kita harus mendefinisikan kolom-kolom mana saja yang akan digunakan untuk keperluan tersebut.

Format penulisannya sebagai berikut:

INSERT INTO nama_tabel (kolom1, kolom2,...) VALUES

(nilai_kolom1, nilai_kolom2, ...);

Contoh:

Query TRUNCATE diatas digunakan untuk mengosongkan tabel mata_pelajaran, hal ini bertujuan agar tabel mata_pelajaran kembali kosong.

Lalu bagaimana jika urutan kolomnya kita acak? Selama perintah MySQL yang kita input sesuai dengan urutan kolom tang ditulis, maka hal tersebut tidak menjadi masalah.

Perhatikan query diatas, pada saat pembuatan tabel mata_pelajaran, kolom jml_sks didefinisikan dengan nilai default 2, dengan kata lain jika kolom ini tidak diisi, maka nilai default 2 akan digunakan untuk kolom jml_sks.

 

4. Cara Menggunakan Query INSERT IGNORE...VALUES

Setiap kali kita mendefinisikan sebuah tabel, sebaiknya sebuah tabel memiliki satu kolom yang didefinisikan sebagai PRIMARY KEY. Kolom dengan atribut PRIMARY KEY ini harus unik, dalam arti tidak boleh ada duplikasi data pada kolom tersebut. Kegunaan dari kolom ini adalah sebagai penanda bahwa kolom dengan nilai yang sama telah bisa diinput pada tabel.

Pada tabel mata_pelajaran diatas kita telah mendefinisikan kolom kd_pelajaran sebagai primary key, sehingga jika ada data mata_pelajaran yang telah ada sebelumnya, dan kita mencoba menginputkan data yang sama, maka MySQL akan menghasilkan error dan seluruh perintah akan dibatalkan.

Sebagai contoh, kita akan mencoba menginputkan kd_pelajaran M001 pada tabel mata_pelajaran. Nilai M001 ini sebenarnya sudah tersedia didalam tabel.

Perhatikan query diatas, karena kd_pelajaran M001 telah ada sebelumnya, maka MySQL akan menghasilkan error Duplicate entry ‘M001’ for key ‘PRIMARY’ dan tidak menjalankan penginputan ‘B008’, walaupun B008 belum tersedia pada tabel.

Untuk memaksa MySQL agar tetap menjalankan perintah inputan B008, maka kita bisa menambahkan perintah opsional IGNORE. Perintah ini digunakan untuk memaksa MySQL agar tetap menjalankan seluruh query walaupun terdapat error.

Jadi walaupun didalam query nya ada error (nilai M001 terjadi duplikasi), namun nilai B008 akan tetap ditambahkan kedalam tabel.

 

5. Cara Menggunakan Query INSERT... VALUES... ON DUPLICATE KEY UPDATE...

Dalam query INSERT...IGNORE diatas, MySQL akan mengabaikan error jika terdapat kd_pelajaran yang ganda. Tapi selain itu, MySQL juga menyediakan perintah opsional lain untuk menangani duplikasi data dengan mengupdate nilai kolom lain.

Sebagai contoh, kita akan mencoba menambahkan kd_pelajaran ‘M001’, dan jika terdapat kd_pelajaran yang sama, maka kita ingin merubah nm_pelajaran. Intruksi ini dapat dilakukan dengan menambahkan perintah ON DUPLICATE KEY UPDATE pada akhir query INSERT.

Contoh:

Dapat kita lihat bahwa nm_pelajaran “Matematika” telah diubah menjadi “Musik”. Hal ini dimungkinkan dengan pilihan ON DUPLICATE KEY UPDATE.

Tags

About The Author

Tineu Nursyifa 27
Novice

Comments

You need to be logged in to be able to post a comment. Click here to login
Plimbi adalah tempat menulis untuk semua orang.
Yuk kirim juga tulisanmu sekarang
Submit Artikel