Adminer (06): Mengimpor Data ke Database MySQL

| banghaji | 1 komentar | Tags: , , , | Categories: Database, Tutorial, Web

Hai, selamat berjumpa kembali di banghaji dotcom 😎 Kali ini kita akan bahas tentang Adminer. Terakhir saya menulis tentang Adminer ini adalah sekitar 6 bulan yang lalu, lama sekali ya 🙁 Oke kita lanjutkan saja. Bahasan kita sesuai judul yaitu tutorial bagaimana mengimpor data ke database MySQL.

Gambarannya bagaimana?

Logo AdminerJadi begini, tentu Anda pernah mendownload contoh-contoh aplikasi berbasis web yang berhubungan dengan database. Biasanya disertakan juga databasenya tersebut, tetapi dalam bentuk file. Nah kita akan pelajari cara mengimpor data yang berasal dari file yang berisi data ke dalam database MySQL. Contoh file data yang akan kita gunakan ada 2 macam yaitu file dengan ekstensi .sql dan kedua menggunakan ekstensi .csv.

Sebelumnya, pastikan setidaknya Anda telah membaca dan mencoba tulisan-tulisan terkait, di antaranya:

  1. Adminer, Alternatif Pengganti PHPMyAdmin
  2. Adminer (01): Membuat Database dan Tabel
  3. Adminer (02): Pengolahan Data dalam Tabel

Baiklah, kita lanjutkan. Pastikan juga Anda sudah menjalankan Adminer dan login.

Impor File .SQL

Ceritanya saya punya sebuah file dalam format .sql, dan saya ingin memasukkanya ke dalam database MySQL. Misalnya nama filenya adalah inventaris.sql yang berisi data seperti di bawah ini. File ini berisi struktur tabel beserta field dan tipe datanya, dan juga isi datanya.

-- Adminer 4.2.1 MySQL dump

SET NAMES utf8;
SET time_zone = '+00:00';
SET foreign_key_checks = 0;
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';

DROP TABLE IF EXISTS `barang`;
CREATE TABLE `barang` (
  `barang_id` int(7) NOT NULL AUTO_INCREMENT COMMENT 'ID Barang (PK)',
  `barang_nama` varchar(40) COLLATE latin1_general_ci NOT NULL COMMENT 'Nama Barang',
  `barang_keterangan` text COLLATE latin1_general_ci NOT NULL COMMENT 'Keterangan Barang',
  `jenis_id` int(3) NOT NULL COMMENT 'ID Jenis (FK)',
  PRIMARY KEY (`barang_id`),
  KEY `barang_nama` (`barang_nama`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

INSERT INTO `barang` (`barang_id`, `barang_nama`, `barang_keterangan`, `jenis_id`) VALUES
(1,	'Digital Trainer',	'Bahan Kayu/Mika untuk praktikum rangkaian digital',	4),
(2,	'Meja Praktikan',	'Bahan Kayu',	3);

DROP TABLE IF EXISTS `inventaris`;
CREATE TABLE `inventaris` (
  `inventaris_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID Inventaris (PK)',
  `barang_id` int(7) NOT NULL COMMENT 'ID Barang (FK)',
  `inventaris_qty` int(3) NOT NULL COMMENT 'Jumlah Barang (kuantiti)',
  `ruangan_id` int(3) NOT NULL COMMENT 'ID Ruangan (FK)',
  PRIMARY KEY (`inventaris_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

INSERT INTO `inventaris` (`inventaris_id`, `barang_id`, `inventaris_qty`, `ruangan_id`) VALUES
(1,	1,	9,	8),
(2,	2,	3,	8);

DROP TABLE IF EXISTS `jenis`;
CREATE TABLE `jenis` (
  `jenis_id` int(3) NOT NULL AUTO_INCREMENT COMMENT 'ID Jenis (PK)',
  `jenis_nama` varchar(30) COLLATE latin1_general_ci NOT NULL COMMENT 'Nama Jenis',
  PRIMARY KEY (`jenis_id`),
  KEY `jenis_nama` (`jenis_nama`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

INSERT INTO `jenis` (`jenis_id`, `jenis_nama`) VALUES
(4,	'Trainer'),
(2,	'Kelistrikan'),
(3,	'Meblair');

DROP TABLE IF EXISTS `ruangan`;
CREATE TABLE `ruangan` (
  `ruangan_id` int(3) NOT NULL AUTO_INCREMENT COMMENT 'ID Ruangan (PK)',
  `ruangan_nama` varchar(30) COLLATE latin1_general_ci NOT NULL COMMENT 'Nama Ruangan',
  `ruangan_status` enum('0','1') COLLATE latin1_general_ci NOT NULL DEFAULT '1' COMMENT '0=tidak dipakai, 1=dipakai',
  PRIMARY KEY (`ruangan_id`),
  KEY `ruangan_nama` (`ruangan_nama`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

INSERT INTO `ruangan` (`ruangan_id`, `ruangan_nama`, `ruangan_status`) VALUES
(11,	'Lab Robotika',	'1'),
(10,	'Lab Bahasa',	'0'),
(3,	'Lab Dasar Pemrograman',	'1'),
(8,	'Lab Digital',	'0'),
(7,	'Lab Dasar Komputer',	'1'),
(12,	'Lab Database',	'1');

DROP VIEW IF EXISTS `view_barang`;
CREATE TABLE `view_barang` (`barang_id` int(7), `jenis_nama` varchar(30), `barang_nama` varchar(40), `barang_keterangan` text);


DROP VIEW IF EXISTS `view_inventaris`;
CREATE TABLE `view_inventaris` (`inventaris_id` int(11), `ruangan_nama` varchar(30), `ruangan_status` enum('0','1'), `jenis_nama` varchar(30), `barang_nama` varchar(40), `barang_keterangan` text, `inventaris_qty` int(3));


DROP TABLE IF EXISTS `view_barang`;
CREATE ALGORITHM=UNDEFINED SQL SECURITY DEFINER VIEW `view_barang` AS select `b`.`barang_id` AS `barang_id`,`j`.`jenis_nama` AS `jenis_nama`,`b`.`barang_nama` AS `barang_nama`,`b`.`barang_keterangan` AS `barang_keterangan` from (`barang` `b` join `jenis` `j`) where (`b`.`jenis_id` = `j`.`jenis_id`);

DROP TABLE IF EXISTS `view_inventaris`;
CREATE ALGORITHM=UNDEFINED SQL SECURITY DEFINER VIEW `view_inventaris` AS select `i`.`inventaris_id` AS `inventaris_id`,`r`.`ruangan_nama` AS `ruangan_nama`,`r`.`ruangan_status` AS `ruangan_status`,`j`.`jenis_nama` AS `jenis_nama`,`b`.`barang_nama` AS `barang_nama`,`b`.`barang_keterangan` AS `barang_keterangan`,`i`.`inventaris_qty` AS `inventaris_qty` from (((`inventaris` `i` join `ruangan` `r`) join `jenis` `j`) join `barang` `b`) where ((`i`.`barang_id` = `b`.`barang_id`) and (`i`.`ruangan_id` = `r`.`ruangan_id`) and (`b`.`jenis_id` = `j`.`jenis_id`));

-- 2017-08-19 13:39:05

Maka yang perlu saya lakukan adalah, membuat nama database, misalnya inventaris. Kemudian pada panel sebelah kiri di bawah nama database klik link Import. Perhatikan gambar.

Adminer Import Link

Selanjutnya klik Browse untuk mencari file database berada, kemudian pilih. Selanjutnya klik tombol Execute.

Adminer Import, Browse and Execute

Adminer Browse SQL File

Jika tidak ada masalah dalam proses impor, maka akan ditampilkan pesan bahwa impor telah berhasil.

Adminer SQL Imported

Untuk membuktikan apakah sudah benar-benar berhasil, silahkan lihat pada panel kiri. Karena file yang di-import tadi berisi struktur tabel dan field beserta isi datanya, maka seharusnya semua juga ikut di-import. Klik select untuk melihat apakah datanya ada.

Adminer SQL Import Result

Oke, demikian cara pertama untuk mengimpor data. Mengenai bagaimana cara mengimpor data lengkap yang berisi database, tabel, field dan data, caranya sama. Bedanya adalah jika pada file tersebut sudah ada nama databasenya, maka Anda tidak perlu membuat database, tetapi langsung melakukan impor saja.

Hal yang berbeda jika file tersebut hanya berisi data saja, tanpa database dan tabel (database dan tabel sudah kita buat misalnya, tinggal memasukkan data saja). Jika kasusnya seperti ini, maka caranya adalah dengan cara yang kedua.

Import File .csv

File .csv ini mirip dengan file spreadsheet seperti Excel. Jika dibuka di Excel tampilannya akan mirip seperti menggunakan kolom-kolom atau cell. Tetapi sebenarnya ada pemisah (delimiter) antara data field yang satu dengan yang lain. Umumnya tanda pemisah antardata pada file .csv adalah tanda , (koma) atau tanda ; (semicolon). Dari mana kita bisa mengetahui apakah itu menggunakan koma atau semicolon? Caranya adalah dengan dicoba saja, jika gagal mengimpor data maka silahkan ganti delimiternya 😀

Sebagai contoh, saya akan mengimpor data ke tabel ruangan dengan menggunakan file ruangan.csv. Perhatian, ingat bahwa database dan tabel beserta fieldnya harus sudah ada. Isi file ruangan.csv sebagai berikut (dengan delimiter tanda semicolon):

11;Lab Robotika;1
10;Lab Bahasa;0
3;Lab Dasar Pemrograman;1
8;Lab Digital;0
7;Lab Dasar Komputer;1
12;Lab Database;1

Data di atas ingin dimasukkan ke dalam tabel ruangan. Silahkan klik select pada tabel ruangan, kemudian pada panel kanan klik browse [1], lalu cari file ruangan.csv, selanjutnya pilih delimiter yang sesuai [2], jika sudah klik Import [3].

Adminer CSV Import

Jika berhasil akan terlihat pemberitahuan bahwa data sudah diimpor.

Adminer CSV Import Info

Cara melihat data apakah sudah masuk atau belum sama seperti setelah mengimpor file .sql.

Selamat, Anda sudah berhasil mengimpor data ke database MySQL. Pada tulisan selanjutnya insyaa Allah saya akan bahas tentang bagaimana cara mengekspor data dari database.

Download bahan latihan

Sebagai bahan latihan Anda, saya berikan 2 file data yang digunakan pada tutorial di atas (inventaris.sql dan ruangan.csv). Silahkan dipelajari 😀 Sampai jumpa lagi…

--[ share this post ]--

One thought on “Adminer (06): Mengimpor Data ke Database MySQL

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *