Update dan Insert dari Tabel Lain
https://carakuvb6.blogspot.com/2017/11/update-dan-insert-dari-tabel-lain.html
Kali ini admin akan membahas query ringan tentang Insert dan Update dari tabel lain, terkadang kita menemui kasus seperti ini, katakan ada 2 tabel stok dan barang, dimasing-masing tabel pasti ada nama field dan data yang sama misalkan Nama Barang, disaat kita merubah record pada field nama barang tabel barang dengan secara prosedur nama barang yang berada pada tabel stok harus terubah secara sama, jika record dari kedua tabel masih terhitung sedikit kita cukup mudah dalam memilah datanya, akan tetapi jika record suhda terhitung banyak lebih dari 100 atau bahkan mencapai ribuan, pasti kita memerlukan waktu yang lama.
Buat terlebih dahulu database versi MySQL Server, terserah agan untuk nama dari databasenya, kemudian buatlah tabel BARANG, STOK dan TabelBackup kemudian Inputkan beberapa record
CREATE TABLE `barang` (`TGL` date DEFAULT NULL, `IDBARANG` varchar(50) DEFAULT NULL, `NMBARANG` varchar(30) DEFAULT NULL, `JUMBRG` int(20) DEFAULT '0', `IDSUPLIER` varchar(50) DEFAULT NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE `stok` (`IDBARANG` varchar(50) DEFAULT NULL, `NMBARANG` varchar(50) DEFAULT NULL, `JUMBRG` int(20) DEFAULT '0') ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE `tabelbackup` (`IDBARANG` varchar(50) DEFAULT NULL,`NMBARANG` varchar(50) DEFAULT NULL,`JUMBRG` int(20) DEFAULT '0') ENGINE=MyISAM DEFAULT CHARSET=latin1;
Buat terlebih dahulu database versi MySQL Server, terserah agan untuk nama dari databasenya, kemudian buatlah tabel BARANG, STOK dan TabelBackup kemudian Inputkan beberapa record
CREATE TABLE `barang` (`TGL` date DEFAULT NULL, `IDBARANG` varchar(50) DEFAULT NULL, `NMBARANG` varchar(30) DEFAULT NULL, `JUMBRG` int(20) DEFAULT '0', `IDSUPLIER` varchar(50) DEFAULT NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE `stok` (`IDBARANG` varchar(50) DEFAULT NULL, `NMBARANG` varchar(50) DEFAULT NULL, `JUMBRG` int(20) DEFAULT '0') ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE `tabelbackup` (`IDBARANG` varchar(50) DEFAULT NULL,`NMBARANG` varchar(50) DEFAULT NULL,`JUMBRG` int(20) DEFAULT '0') ENGINE=MyISAM DEFAULT CHARSET=latin1;
Sekarang kita jalankan script query untuk merubah NMBARANG dari tabel stok dengan berpatokan NMBARANG dari tabel barang
update stok a,barang b set a.NMBARANG=b.NMBARANG where a.idbarang=b.idbarang
update stok a,barang b set a.NMBARANG=b.NMBARANG where a.idbarang=b.idbarang
Dengan script query kecil diatas sudah sanggup merubah nama barang yang kita harapkan, akan tetapi jika kita menginginkan data pada tabelbackup tetapi data tersebut berkeriteria data yang berada ditabel stok tidak ada ditabel barang
INSERT INTO tabelbackup (IDBARANG,NMBARANG,JUMBRG)SELECT IDBARANG,NMBARANG,JUMBRG from STOK WHERE IDBARANG NOT IN(SELECT IDBARANG FROM BARANG);
Secara otomatis data akan terinput didalam tabelbackup dengan kriteria diatas
INSERT INTO tabelbackup (IDBARANG,NMBARANG,JUMBRG)SELECT IDBARANG,NMBARANG,JUMBRG from STOK WHERE IDBARANG NOT IN(SELECT IDBARANG FROM BARANG);
Secara otomatis data akan terinput didalam tabelbackup dengan kriteria diatas
Perhatian !!
- Berkomentarlah dengan menggunakan bahasa yang baik dan sopan dan sesuai topik pembahasan
- Dilarang menjadikan referensi artikel web ini tanpa menyertakan sumbernya