INSERT…… Perintah Lanjutan SQL
Dalam pembahasan yang lalu saya pernah menyinggung perintah INSERT, tapi masih dalam perintah standard. Dalam pengolahan data dengan jumlah data record yang sangat luar biasa besarnya tentu perintah standard sudah tidak efektif lagi, kita tentunya tidak mungkin lagi melakukan perintah ini satu persatu untuk mengisi data record.
1. INSERT INTO tablename(field1, field2, field2,…) VALUES( val1, val2, val3, …..)
Perintah diatas merupakan perintah standard, misalkan kita mempunyai tabel_A
Kode | Nama | Alamat |
---|---|---|
Untuk mengisinya kita cukup beri perintah,
INSERT INTO tabel_A(kode,nama,alamat) VALUES (‘1001’, ‘Yoga’, ‘Jl. Garuda No. 31’)
2. INSERT INTO tablename VALUES(val1, val2, val2,……)
Apabila kita menginginkan semua field pada tabel pada contoh 1 terisi semua, kita tidak perlu menuliskan satu persatu nama field-nya. Cukup nilai values-nya saja, dengan syarat urutan field dan values harus sesuai. Misalkan kita masih memakai tabel pada contoh pertama, perintahnya menjadi :
INSERT INTO tabel_A VALUES (‘1001’, ‘Yoga’, ‘Jl. Garuda No. 31’)
Dengan bentuk perintah ini maka lebih efisien, karena kita tidak perlu menulis nama field-nya. Dan apabila kita tidak ingin mengisi field alamat maka cukup dikosongkan saja, dan bentuk perintahnya menjadi ;
INSERT INTO tabel_A VALUES (‘1001’, ‘Yoga’, ”)
itu apabila field tersebut bertipe Character. Jadi sesuaikan dengan nilai Values dengan type fieldnya. Kalau type fieldnya float maka harus diisi 0.0 .
3. INSERT INTO tablename1 SELECT field1, field2, field3 FROM tablename2
Perintah ini dapat digunakan untuk mentransfer dari tablename2 ke tablename1. Perintah ini sangat efisien sekali dalam memindah data dalam sekejap, walaupun
jumlah recordnya sampai jutaan sekalipun. Apalagi dengan kombinasi perintah SELECT, yang mana perintah ini sudah sangat dikenal sekali dan hasil dari perintah SELECT tersebut langsung di input kan ke tablename1.
Contoh :
tabel_A
kode | nama | alamat |
---|---|---|
table_B
kode | nama | alamat | kota |
---|---|---|---|
1001 | Budi | Jl. Merpati 55 | Surabaya |
1002 | Yoga | Jl. Garuda 31 | Jakarta |
1003 | Dino | Jl. Cempaka 21 | Surabaya |
1004 | Guntur | Jl. Kelinci 34 | Semarang |
Kasusnya begini, kita menginginkan seluruh isi record data tabel_B yang tinggal di kota Surabaya akan kita inputkan ke tabel_A. Dan tentunya sungguh tidak efisien sekali kalau kita menggunakan perintah pada contoh 1 dan contoh 2 yang telah saya tulis di atas.
Untuk lebih efisiennya ikuti langkah berikut ,
Pertama-tama bentuk terlebih dahulu perintah SELECT, dan lihat hasilnya apakah sesuai atau tidak dengan yang kita inginkan
SELECT kode, nama, alamat FROM tabel_B where kota = ‘Surabaya’
Dan perhatikan urutan fieldnya harus sesuai dengan tabel_A, setelah itu tinggal kita gabung saja dengan perintah INSERT. Perintah kombinasi yang terbentuk sebagai berikut :
INSERT INTO tabel_A SELECT kode, nama, alamat FROM tabel_B where kota = ‘Surabaya’
Kalau kita eksekusi maka seluruh isi record tabel_B yang mempunyai kota = ‘Surabaya’ akan disalin ke tabel_A.
tabel_A akan berisi sebagai berikut :
kode | nama | alamat |
---|---|---|
1001 | Budi | Jl. Merpati 55 |
1003 | Dino | Jl. Cempaka 21 |
Sampai disini dulu tips dan trik yang saya berikan, dan berikutnya saya akan menguraikan lagi lebih lanjut perintah UPDATE, dan DELETE dengan kombinasinya.
Selamat mencoba semoga Anda sukses.
Notes : perintah-perintah di atas dibuat dengan memakai Microsoft SQL.
Artikel lainnya
- Dasar-Dasar SQL 1
- Dasar-Dasar SQL 2
- Dasar-Dasar SQL 3
- Dasar-Dasar SQL 4
- Konsep Himpunan Dalam SQL
- Instalasi MySQL
- Koneksi Delphi ke SQL Server
- Full Join dan Cross Join dalam SQL
- Query Dalam Query
- Perintah EXISTS dalam SQL
- Perbedaan Perintah UNION dan UNION ALL dalam SQL
- Cara Membuat Store Procedure di SQL Server
- Perintah LIKE dalam SQL
- Create Trigger dalam SQL
- Penggunaan Perintah CASE Dalam SQL
- INSERT…… Perintah Lanjutan SQL
- update-from
- Delete….From…
Filed under: SQL, Tips & Tricks, insert, SQL
bermanfaat sekali. tq mas
Kunjungi dan dapatkan berita ekonomi
yang mas kasih contoh kan di tabel yang berbeda. bisa ngk y klo insert field di tabel yang sama.