3.1 Menyisipkan Data INSERT digunakan untuk menyisipkan (menambah) record ke tabel database. INSERT dapat dipakai dengan beberapa cara : · Memasukkan sebuah record tunggal lengkap · Memasukkan sebuah record tunggal sebagian · Memasukkan hasil dari sebuah query Untuk kesempatan ini kita hanya akan membahas dua cara untuk menyisipkan data, yaitu masukkan sebuah record tunggal lengkap dan sebagian. 3.1.1 Menyisipkan Record Lengkap Cara yang lebih sederhana untuk memasukkan data ke dalam sebuah tabel adalah menggunakan syntax INSERT dasar, yang menuntut Anda menetapkan nama tabel dan nilai-nilai untuk dimasukkan ke dalam record baru. Berikut ini adalah contohnya : INPUT INSERT INTO Mahasiswa VALUES (‘0000001’, ‘ALI’, ‘ANTAPANI’, ‘BANDUNG’, ‘JAWA BARAT'); ANALYSIS Contoh diatas memasukkan mahasiswa baru ke dalam tabel Mahasiswa. Data disimpan di setiap field tabel ditetapkan dalam klausa VALUES, dan harus ada nilai untuk setiap field. Jika field yang tidak mempunyai nilai, maka Anda dapat mendefinisikan nilai NULL untuk field tersebut, dengan catatan bahwa field tersebut diperbolehkan memiliki nilai NULL. Meskipun syntax ini sederhana, tetapi tidak semuanya aman dan biasanya dihindari. Statemen INSERT tersebut sangat tergantung pada urutan dimana field ditentukan pada tabel. Statemen itu juga tergantung pada informasi tentang urutan yang tersedia. Sekalipun urutan tersedia, tidak ada jaminan bahwa kolom akan ada dalam urutan yang tepat sama pada lain waktu tabel disusun kembali. Oleh karena itu, menuliskan statemen SQL yang tergantung pada pengurutan field khusus, sangat tidak aman. Jika Anda tetap melakukannya juga, pada beberapa hal akan terjadi sesuatu yang tidak dapat dihindarkan. Cara yang lebih aman (sayangnya lebih tidak praktis) untuk menulis statemen INSERT adalah seperti berikut : INPUT INSERT INTO Mahasiswa (NIM, Nama, Alamat, Kota, Propinsi) VALUES (‘0000001’, ‘ALI’, ‘ANTAPANI’, ‘BANDUNG’, ‘JAWA BARAT'); ANALYSIS Contoh tersebut melakukan hal yang tepat sama seperti statemen INSERT sebelumnya, tetapi nama field dinyatakan secara eksplisit dalam tanda kurung setelah nama tabel. Ketika record dimasukkan, DBMS akan mencocokkan setiap item dalam daftar field dengan nilai yang sesua dalam daftar VALUES. Entry pertama dalam VALUES dihubungkan dengan nama kolom yang ditentukan pertama kali. Nilai kedua dihubungkan ke nama field kedua, dan seterusnya. Karena nama field disediakan, maka VALUES harus mencocokkan nama field yang telah ditentukan di dalam urutan dimana itu ditentukan, tidak dalam urutan dimana field muncul pada tabel sebenarnya. Keuntungan dari hal tersebut adalah, jika terjadi perubahan layout tabel, statemen INSERT masih bekerja dengan benar. Statemen INSERT berikut menempatkan semua field (seperti sebelumnya), tetapi dilakukan dalam urutan yang berbeda. Karena nama field ditentukan, maka penyisipan akan bekerja dengan benar. INPUT INSERT INTO Mahasiswa (NIM, Alamat, Propinsi, Nama, Kota) VALUES (‘0000001’, ‘ANTAPANI’, ‘JAWA BARAT', ‘ALI’, ‘BANDUNG’); Catatan : · Gunakan Selalu Daftar Field. Aturannya, jangan pernah memakai INSERT tanpa menentukan secara eksplisit daftar field. Hal ini akan sangat meningkatkan probabilitas SQL Anda untuk melanjutkan fungsi di dalam event dimana tabel berubah. · Gunakan VALUES Dengan Hati-hati. Tanpa memperhatikan syntax INSERT yang sedang digunakan, angka yang benar pada VALUES harus ditentukan. Jika nama field tidak disediakan, maka harus ditampilkan harga untuk setiap field tabel. Jika nama field disediakan harga harus ditampilkan untuk setiap field yang terdaftar. Jika tidak ditampilkan, akan terjadi pesan error, dan record tidak akan disisipkan. 3.1.2 Menyisipkan Record Sebagian Sebagaimana dijelaskan diatas, cara yang dianjurkan untuk menggunakan INSERT adalah menetapkan dengan jelas nama field tabel. Dengan menggunakan syntax tersebut, Anda juga dapat menghilangkan daftar field. Ini berarti Anda hanya menyediakan nilai untuk beberapa field, tetapi tidak untuk yang lainnya. Perhatikan contoh dibawah ini : INPUT INSERT INTO Mahasiswa (NIM, Nama, Alamat) VALUES (‘0000001’, ‘ALI’, ‘ANTAPANI’); ANALYSIS Pada contoh diatas, data yang akan dimasukkan hanyalah untuk beberapa field saja yaitu NIM, Nama dan Alamat saja. Dan untuk field Kota dan Propinsi akan secara otomatis bernilai NULL atau sesuai dengan nilai default yang di definisikan tabel. 3.2 Memperbarui Data Untuk meng-update (memperbarui) data pada sebuah tabel, digunakan statemen UPDATE dengan dua cara : · Untuk memperbarui record khusus pada sebuah tabel · Untuk memperbarui semua record pada sebuah tabel Statemen UPDATE sangat mudah digunakan. Format dasar statemen UPDATE terdiri dari tiga bagian : · Sebuah tabel untuk diperbarui · Nama field dengan nilai barunya · Kondisi penyaringan yang menentukan record mana yang akan diperbarui Perhatikan contoh sederhana berikut ini. Mahasiswa 0000001 sekarang pindah kota sehingga record-nya perlu diperbarui. Statemen berikut ini melakukan pembaruan yang diperlukan : INPUT UPDATE Mahasiswa SET Kota=’Jakarta’ WHERE NIM=’0000001’ ANALYSIS Statemen UPDATE selalu diawali dengan nama tabel yang akan diperbarui. Pada contoh ini, adalah tabel Mahasiswa. Perintah SET kemudian digunakan untuk menugaskan nilai baru pada sebuah field. Sebagaimana digunakan disini, klausa SET mengatur field alamat pada nilai yang ditentukan : SET Alamat=’Margahayu’ Statemen UPDATE diakhiri dengan klausa WHERE yang memberitahu DBMS record mana yang akan diperbarui. Tanpa klausa WHERE, DBMS akan memperbarui semua record pada tabel Mahasiswa dengan alamat baru tersebut, dan ini jelas tidak diinginkan. Memperbarui banyak field membutuhkan syntax yang sedikit berbeda : INPUT UPDATE Mahasiswa SET Kota=’Jakarta’, Propinsi=’DKI Jakarta’ WHERE NIM=’0000001’ ANALYSIS Ketika memperabarui banyak field, pada perintah SET setiap pasangan field = value dipisahkan oleh sebuah koma (,). Untuk menghapus sebuah nilai pada field tertentu, Anda dapat mengaturnya ke NULL. Anda dapat melakukannya sebagai berikut : INPUT UPDATE Mahasiswa SET Alamat=NULL WHERE NIM=’0000001’ ANALYSIS Disini keyword NULL digunakan untuk tidak menyimpan nilai ke field alamat. 3.3 Menghapus Data Untuk menghapus data dari sebuah tabel, digunakan statemen DELETE. DELETE dapat digunakan dengan dua cara : · Untuk menghapus record khusus pada sebuah tabel · Untuk menghapus semua record pada sebuah tabel Telah dijelaskan bahwa UPDATE sangat mudah digunakan. Berita baik (dan buruk) adalah DELETE bahkan lebih mudah digunakan. Statemen berikut menghapus sebuah record tunggal dari tabel Mahasiswa. INPUT DELETE FROM Mahasiswa WHERE NIM=’0000001’ ANALYSIS Statement ini sudah cukup jelas. DELETE FROM mengharuskan Anda menentukan nama tabel dari data yang akan dihapus. Klausa WHERE menyaring record mana yang akan dihapus. Pada contoh diatas hanya mahasiswa dengan NIM 0000001 yang akan dihapus. Jika klausa WHERE dihilangkan, statemen ini akan menghapus setiap mahasiswa di dalam tabel. DELETE tidak memutuhkan nama field atau karakter khusus. DELETE menghapus nilai sebuah record bukan field. Untuk menghapus nilai sebuah field khusus, gunakan statemen UPDATE. 3.4 Pedoman untuk Memperbarui dan Menghapus Data Statemen UPDATE dan DELETE yang digunakan pada langkah-langkah sebelumnya mempunyai klausa WHERE, dan inilah alasan yang sangat bagus. Jika Anda menghilangkan klausa WHERE, maka UPDATE atau DELETE akan diterapkan pada setiap record pada tabel. Dengan kata lain, jika Anda mengeksekusi UPDATE tanpa klausa WHERE, setiap record pada tabel akan diperbarui dengan nilai-nilai baru. Demikian juga jika Anda mengeksekusi DELETE tanpa klausa WHERE, semua isi tabel akan dihapus. Berikut ini beberapa pedoman penting bagi para pemrogram SQL : 1. Jangan pernah mengeksekusi UPDATE atau DELETE tapa klausa WHERE, kecuali kalau Anda bermaksud memperbarui atau menghapus setiap record. 2. Pastikan setiap tabel mempunyai PRIMARY KEY, dan gunakan PRIMARY KEY sebagai klause WHERE kapan saja memungkinkan. 3. Sebelum menggunakan klausa WHERE dengan UPDATE atau DELETE, pertama-tama periksalah klausa itu dengan SELECT untuk memastikan bahwa klausa itu menyaring record yang tepat – sangat sulit untuk menulis klausa WHERE yang salah. 4. Gunakan database yang menjalankan integritas referensial, sehingga DBMS tidak akan memperbolehkan penghapusan baris yang mempunyai data pada tabel lain yang berhubungan dengannya. 5. Beberapa DBMS memperbolehkan administrator database mengadakan pembatasan yang mencegah eksekusi UPDATE atau DELETE tanpa WHERE. Jika DBMS Anda mendukung fitur ini, perhatikan bagaimana cara menggunakannya. Perlu diingat bahwa SQL tidak mempunya tombol Undo. Berhati-hatilah menggunakan UPDATE dan DELETE, atau Anda akan memperbarui dan menghapus data yang salah.
 |
Mohon Bantuannya....