mySQL Practice: meng-copy data antar tabel dengan INSERT … SELECT …

Kembali lagi iseng posting tentang mySQL. Kembali dalam permasalahan import mengimport data seperti di practice sebelumnya.  Okeh langsung pokoknya aja. Lihat gambar dibawah ini. ada 2 tabel di database. Tabel siswa berisi data dan tabel buku telepon yang masih kosong.

Nah dari dua tabel itu. Muncul lah pertanyaan. Bagaimana kita mengisi tabel buku telp dengan data yang sudah ada di tabel siswa?  Seperti yang dilihat di tabel buku telp kita hanya butuh no telp dan nama saja yang mana sudah ada data di tabel siswa. Untuk melakukan hal itu ternyata cukup pake fungsi mySQL yang sederhana: INSERT … SELECT…

contohnya seperti berikut:

INSERT INTO buku_telp (no_telp, nama) SELECT no_hp, nama FROM siswa

simpel kan? kita bisa nambah fungsi IGNORE untuk menghidari duplikasi data atau error sehingga data yang error di-skip dan lanjut data berikutnya.  atau tambah WHERE untuk mem-filter misalnya hanya siswa cewek saja :genit:

Dengan begitu kita gak perlu lagi double job ngisi data ke dua tabel.

Sumber referensi:

http://stackoverflow.com/questions/4241621/mysql-insert-into-table-data-from-another-table

http://dev.mysql.com/doc/refman/5.1/en/insert-select.html

10 responses

  1. Terimakasih banyak gan atas pencerahannya

    1. sama-sama gan :D

  2. Sederhana tapi sangat membantusekali… Terimakasih :)

  3. ane jadiin bookmark gan :D

  4. Makasih gan atas fungsi sql untuk mengcopy data antar tabelnya.

  5. thanks for share

  6. Joshzy Avatar
    Joshzy

    gan, mau tanya nihh. klo mau insert data dari 2 tabel gimana yak? jadi misalnya ada tabel 1 mau copy data dari tabel 2 sama tabel 3. scriptnya gimana yak?

    1. tabel 2 sama tabel 3 ada relationship nggak? kalo iya, ya tinggal JOIN aja

  7. yaya Avatar

    makasih gan sangat membantu

  8. kris Avatar

    gan setelah q coba kok data harusnya masuk 1 kok masuk lebih dengan data yg sama atau data doble

Leave a Reply

Your email address will not be published. Required fields are marked *