7 VARIASI INSERT YANG TERLUPAKAN

dokumen-dokumen yang mirip
CARA MENGGUNAKAN SELECT QUERY PADA MYSQL

Pertemuan 12 Pengenalan Structured Query Language

Jobsheet SQL Dasar : Hari Zulianto, ST [Year]

By Mrs Imana Malia Kondou, S.T. missimanakondou.wordpress.com

Pengenalan Structured Query Language

Membuat Aplikasi Tampil, Entri, Edit, Delete Mahasiswa

Data Manipulation Language (DML) & Data Control Language (DCL) pada Database

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN WEB Semester: 2 MYSQL 200 menit No.: Job: 12 Tgl: Hal.

Praktikum Basis Data 2017 TE UM

Pemrograman Web 1. Akademi Manajemen Informatika dan Komputer AMIK Royal Kisaran. Modul 2 Revisi 2. Tahun Akademik 2012/2013

MySQL Databases. Dasar-dasar MySQL dan Implementasi MySQL kedalam pemrograman PHP. Jakarta, 16 April 2011 Oleh: M. Awaludin, S.Kom

LAPORAN TUGAS BASIS DATA I

Untuk menjalankan Mysql secara konpensional jalankan Mysql.exe pada direktori Mysql\Bin. Akan tampak tampilan sebagai berikut:

DESAIN DATABASE. Pertemuan 06 3 SKS

TUGAS PRAKTIKUM SISTEM BASIS DATA

MENGENAL SYNTAX DML PADA SQL

BAB II PEMBUATAN DAN MANAJEMEN TABLE

MODUL 4 INTERNET PROGRAMMING DATABASE

Modul 2. Database Menggunakan Primary Key, Unique, Auto Increment, Alter-Add dan Alter-Drop. Disusun oleh. Sri Siska Wirdaniyati JURUSAN STATISTIKA

P - 7 Pembahasan UTS PSIK V

BAB 2 LANDASAN TEORI

KapitaSelekta. (KBKI82127, 2 sks) Materi : Pengenalan MySQL

KURSUS ONLINE JASA WEBMASTERS

PRAKTIKUM SISTEM BASISDATA

Basis Data Spasial Modul 2

Membuat Pencarian Data Mahasiswa

MODUL PRAKTIKUM PEMROGRAMAN BASIS DATA

KURSUS ONLINE JASA WEBMASTERS

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

Persiapan Table Untuk Latihan Sebelum kita berkenalan lebih jauh dengan Trigger, mari kita buat terlebih dahulu, struktur table yang dibutuhkan.

Achmad Solichin

Dasar Microsoft Access 2007

Konsep Sistem Informasi B. BAB 2 - SQL Overview

MySQL J A M K E T I G A

Pengenalan Database Management System MySQL. Pokok Bahasan: Pengenalan DataBase Pembangunan database berbasis Client-Server Dasar-Dasar MySQL

TUGAS I PRAKTIKUM SISTEM BASIS DATA. Nama: Krisna Pandu Wibowo( )

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

Contoh SQL Constraint

STUPID LOGIC PROGRAMMING II

1 Praktikum #1 - SQL Langkah-Langkah Kerja Solusi Masalah Penutup... 6

Untuk mencoba contoh-contoh perintah join, silahkan eksekusi query create+insert dibawah ini:

SISTEM BASIS DATA 1. WAHYU PRATAMA, S.Kom., MMSI.

INTERNET PROGRAMMING DATABASE

SISTEM BASIS DATA 1. WAHYU PRATAMA, S.Kom., MMSI.

Database Systems: Lab. Actvity 1: Database Design. Merancang Database. Merancang Database. Tipe Tabel MySQL.

PRAKTIKUM SISTEM BASISDATA. Disusun Oleh : Anggi Nurcahyo ( )

Praktikum Basis Data 14 Structure Query Language 2

15-Jan DATABASE - MySQL. Database. Constraints. Tujuan: Memahami perintah-perintah dasar DDL dan DML

MySQL AL AZHAR COMPUTER CLUB

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

Apakah SQL? Membuat basis data dan struktur tabel Input, update, dan delete data dari tabel Membuat query sederhana dan kompleks SQL

LAPORAN PRAKTIKUM SISTEM BASIS DATA

BAB I Penginstallan dan setting PHPTriad

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

Praktikum Basis Data (Database Server MySQL) Bekerja Dengan Tabel

Sejarah(1) Sejarah(2) STRUCTURE QUERY LANGUANGE (1) Definisi SQL

Basis Data Relational

Praktikum 2 Mata Kuliah : Sistem Pengolahan Basis Data Dosen : Nandang Hermanto

TUGAS 1 PRAKTIKUM SISTEM BASIS DATA

Pemrograman Web Lanjut 2017

PRAKTIKUM SISTEM BASIS DATA. Tugas I. Disusun oleh: Yoga Asmara (TI/ )

LAPORAN PRAKTIKUM SISTEM BASIS DATA

MODUL 5 INTERNET PROGRAMMING : MySQL

BAB I PENDAHULUAN. Perkembangan teknologi telah berkembang dengan sangat. pesat dan banyak terdapat layanan jasa informasi sampai penjualan

Database MySql. Mata Pelajaran: Database SMK Qamarul Huda Jurusan TKJ Kelas XII. Disusun oleh: Heru Minandar,ST.

MODUL 1 Pengenalan MySQL, DDL, DML

Pertemuan III Oleh: Ilham Rais Arvianto, M.Pd

B a s i s D a t a C H A P T E R. SQL Operasi DML. Arif Basofi PENS 2015

Mengenal Operasi Dasar SQL

TUGAS PRAKTIKUM SISTEM BASIS DATA

PENGENALAN SINTAKS DASAR DALAM MySQL

PEMROGRAMAN WEB 2 DATABASE,MYSQL. Rio andriyat krisdiawan, m.kom


Pertemuan 10. Bahasa Query Terapan

1. Pengertian Database

Pemrograman Web. Koneksi dan Manipulasi Basis Data. 7 Adam Hendra Brata

DATABASE - MySQL. Muhammad Zen S. Hadi, ST. MSc.

SISTEM BASIS DATA. Oleh : Devie Rosa Anamisa

Membuat Database mysql dengan PhpMyAdmin

MODUL II SQL A. TUJUAN

MODUL 9 WEB PROGRAMMING : MySQL

Nama : Parisaktiana Fathonah NIM : Kelas : Prak Sistem Basis Data TI-2 B malam

BAB IV IMPLEMENTASI DAN PENGUJIAN

BERMAIN DATA DENGAN SQL SERVER

Tutorial Singkat MySQL

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

SQL DASAR BASIS DATA. Rajif Agung Yunmar, S.Kom., M.Cs.

1. Memulai pengelolaan database Menampilkan daftar database Sintaks : show databases;

UJIAN AKHIR SMESTER PEMODELAN BASIS DATA

Modul 3 Pengelolaan Tabel

Data Manipulation Language (DML) merupakan bahasa basis data yang berguna untuk melakukan modifikasi dan pengambilan data pada suatu basis data

BAB VIII FUNGSI, PL/PGSQL dan TRIGER

MySQL Full-Text Searching

Mahasiswa mengetahui & memahami mengenai DML, DCL di SQL. (Isi_Field_1, Isi_Field_2,, Isi_Field_N) ;

Pemrograman Web. Koneksi dan Manipulasi Basis Data. 7 Adam Hendra Brata

UJIAN AKHIR SEKOLAH PEMODELAN BASIS DATA

MODUL V DATA MANIPULATION LANGUAGE (DML) 1

PENGERTIAN DATABASE MySQL

RANGKUMAN PHP dan MYSQL

SQL. Pemrograman Web II. Ganjil

Transkripsi:

7 VARIASI INSERT YANG TERLUPAKAN NURLITA nurlita.icha@gmail.com Abstrak Data Manipulation Language (DML) merupakan bagian dari perintah SQL (Structured Query Language) yang terdiri dari berbagai perintah untuk memanipulasi data di dalam suatu database. Empat perintah utama yang termasuk dalam perintah DML adalah perintah SELECT, INSERT, UPDATE dan DELETE. MySQL sebagai salah satu software database terkemuka tentunya mendukung keempat perintah DML tersebut dengan sangat baik. Di dalam tutorial kali ini, akan dibahas mengenai perintah INSERT dimana ternyata cukup banyak variasi perintah INSERT di MySQL yang sering terlupakan (terabaikan), namun sebenarnya sangat berguna. Kata Kunci:insert, sql, variasi Pendahuluan Penulis berharap agar tulisan ini dapat dipahami dan dimengerti oleh para pembaca dan dapat menggunakan atau meimplementasikannya. Penulis juga berharap semoga para pembaca yang sudah mengerti dapat berbagi ilmu yang telah ditulis ini kepada rekan rekan anda.

Pembahasan Selain bentuk dasar perintah INSERT, saya mencatat setidaknya ada 7 (tujuh) variasi bentuk perintah INSERT yang saya yakin suatu saat akan berguna untuk Anda. Berikut ini ketujuh perintah INSERT tersebut yang selanjutnya akan saya jelaskan satu per satu. 1. INSERT INTO (field1, field2, ) VALUES ( ) 2. INSERT SELECT 3. INSERT IGNORE 4. INSERT DELAYED 5. INSERT LOW PRIORITY HIGH PRIORITY 6. INSERT ON DUPLICATE KEY UPDATE 7. REPLACE INTO Untuk mempermudah pemahaman terhadap tutorial ini, maka seluruh contoh yang disajikan akan mengacu pada struktur tabel sebagai berikut: Nama tabel: tblmhs 8. mysql> desc tblmhs; 9. +----------+-------------+------+-----+---------+-------+ 10. Field Type Null Key Default Extra 11. +----------+-------------+------+-----+---------+-------+ 12. nim varchar(10) NO PRI NULL 13. nama varchar(40) NO NULL 14. alamat text NO NULL 15. +----------+-------------+------+-----+---------+-------+ 16. 3 rows in set (0.00 sec) Di sini tidak saya bahas mengenai bagaimana membuat struktur tabel di atas, karena sudah saya bahas pada tutorial mengenai perintah dasar MySQL. Lebih lengkapnya, Anda juga bisa pelajari buku gratis MySQL yang dapat didownload di website ini juga.

Bentuk Dasar Perintah INSERT Sebelum membahas variasi dari perintah INSERT, alangkah baiknya kita mengingat kembali mengenai bagaimana bentuk dasar dari perintah INSERT tersebut. Perintah INSERT pada dasarnya merupakan perintah yang dapat digunakan untuk memasukkan data (record) ke sebuah tabel di database. Bentuk perintah ini cukup sederhana. Berikut ini contoh sederhana perintah INSERT untuk memasukkan data seorang mahasiswa dengan nim 1011500100, nama ACHMAD SOLICHIN dan alamat di JAKARTA SELATAN. 17. INSERT INTO tblmhs VALUES('1011500100', 'ACHMAD SOLICHIN', 'JAKARTA SELATAN'); Hal yang penting dari contoh perintah INSERT di atas adalah urutan dari nilai data yang akan ditambahkan harus sama dengan urutan field (kolom) di tabel. Urutan field di dalam tabel tblmhs adalah nim, nama lalu alamat, sehingga waktu melakukan INSERT urutan seharusnya juga nim, nama dan alamat. Jika urutan tidak sesuai, maka data yang dimasukkan bisa jadi menempati kolom yang salah juga. 1. INSERT INTO tabel (field1, field2) VALUES Pada bentuk dasar perintah INSERT di atas, kita harus menyebutkan nilai dari seluruh kolom. Jadi jumlah nilai yang akan ditambahkan harus sesuai dengan jumlah kolom dalam tabel. Namun ada kalanya kita hanya ingin menambahkan sebagian dari kolom tabel, jadi tidak semua kolom kita masukkan. Jika demikian, variasi perintah INSERT yang pertama ini tentu tepat untuk digunakan. Kita menyebutkan kolom-kolom yang akan di-insert-kan di belakang nama tabel. Urutannya juga tidak harus sesuai dengan urutan di dalam struktur tabel. Sebagai contoh, kita akan memasukkan data nim dan nama seorang mahasiswa, tanpa memasukkan alamatnya. Urutan fieldnya sengaja dibalik, nama terlebih dahulu baru nim. Berikut perintahnya: 18. INSERT INTO tblmhs (nama, nim) VALUES('CHOTIMATUL MUSYAROFAH', '1012501983');

Terlihat pada contoh di atas bahwa urutan yang harus disesuaikan adalah urutan field yang berada di belakang nama tabel tblmhs dan urutan data (values) yang akan di-insert-kan. 2. INSERT SELECT Ada kalanya kita ingin memindahkan atau meng-copy sejumlah data yang berada pada suatu tabel ke tabel yang lainnya. Singkatnya copy data antar tabel. Untuk menyelesaikan permasalahan tersebut, tentunya sangat kurang efektif jika kita harus melakukan insert satu per satu. Untuk melakukan copy record antar tabel, akan lebih efektif jika kita menggunakan bentuk perintah INSERT SELECT yang menggabungkan proses insert (menambahkan data) dan select (mengambil data). Sebagai contoh, kita ingin memindahkan data nim dan nama mahasiswa yang berada di tabel tblpendaftaran ke tabel tblmhs, berikut ini perintahnya: 19. INSERT INTO tblmhs(nim, nama) SELECT nim, nama FROM tblpendaftaran; 3. INSERT IGNORE Saya pernah membuat suatu absensi pada suatu perusahaan dimana data absensi diimport dari suatu file teks hasil keluaran dari mesin finger. Setelah diimport, data absensi karyawan akan diperiksa dan dilengkapi oleh staf HRD. Proses import dari teks file dapat terjadi berulang-ulang sehingga diperlukan mekanisme agar pada saat proses import data yang mungkin sudah diedit oleh staf HRD tidak tertimpa. Jadi intinya, saat proses import, harus diperiksa apakah data absensi yang akan dimasukkan ke tabel sudah ada atau belum. Jika sudah ada, maka tidak perlu dilakukan insert, namun jika tidak ada maka lakukan proses import. Awalnya terpikir untuk melakukan pengecekan data ke database terlebih dahulu sebelum insert, namun dari isi efektivitas tentu hal ini tidak baik, apalagi jika datanya cukup banyak. Beruntung kemudian ketemu bentuk perintah INSERT IGNORE di MySQL. Dengan perintah ini, permasalahan tersebut dapat terselesaikan hanya dengan satu perintah.

Dalam contoh berikut ini, akan melakukan insert data ke tabel tblmhs hanya jika data nim belum ada di tabel. Pemeriksaan data didasarkan pada field yang menjadi primary key. Jadi jika terjadi duplikasi primary key maka data akan diabaikan (ignored). 20. INSERT IGNORE INTO tblmhs VALUES('1012501983','BUNGA', 'TANGERANG'); 4. INSERT DELAYED Bentuk perintah INSERT DELAYED merupakan bentuk perintah yang mungkin akan kita perlukan saat membuat suatu aplikasi transaksional dengan beberapa pengguna dalam satu waktu. Dengan tambahan perintah DELAYED maka proses menambahkan data akan ditangguhkan hingga tidak ada user yang mengakses tabel. Contoh berikut ini menggambarkan bagaimana perintah tersebut: 21. INSERT DELAYED INTO tblmhs (nim, nama) VALUES ('1011500121', 'LINTANG', 'TANGERANG'); Penjelasan lebih lanjut mengenai perintah ini dapat dilihat di manual MySQL. 5. INSERT LOW PRIORITY HIGH PRIORITY Tambahan perintah LOW PRIORITY atau HIGH PRIORITY dibelakang perintah INSERT dapat digunakan untuk mengatur prioritas dari perintah INSERT yang akan dijalankan. Perintah dengan prioritas lebih tinggi tentu akan didahulukan untuk dijalankan. Sama seperti bentuk perintah INSERT DELAYED, perintah ini juga berguna saat kita bermain dengan proses transaksional. Berikut ini contoh sederhananya: 22. INSERT INTO tblmhs VALUES('1111500111', 'INDAH', 'JAKARTA');

6. INSERT ON DUPLICATE KEY UPDATE Variasi perintah INSERT ini mungkin suatu saat akan kita perlukan. Misalnya pada kasus dimana pada proses insert sejumlah data, jika datanya sudah ada, dalam arti terjadi duplikasi primary key, maka lakukan perintah update untuk kolom tertentu. Sebagai contoh, kita akan melakukan penambahan data ke tblmhs, jika datanya sudah ada, maka update field alamat dengan alamat yang baru. Berikut ini perintahnya: 23. INSERT INTO tblmhs (nim, nama, alamat) VALUES('1111500111', 'WULAN', 'MALANG') ON DUPLICATE KEY UPDATE alamat='jakarta'; Untuk penjelasan lebih rinci terkait perintah ini dapat dilihat di dokumentasi MySQL (http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html). 7. REPLACE INTO Saya sangat senang dengan adanya bentuk perintah REPLACE di MySQL ini. Perintah ini sangatlah membantu. Contohnya saat saya ingin melakukan penambahan data secara massal seperti pada kasus import absensi karyawan di atas. Jika pada proses import, kita menginginkan agar data selalu up to date, maka jika data sudah ada harus dilakukan proses update. Perintah REPLACE INTO berperan untuk melakukan dua tugas sekaligus, yaitu INSERT jika datanya belum ada dan UPDATE jika datanya sudah ada. Berikut ini contoh perintah ini: 24. REPLACE INTO tblmhs VALUES('1011500100', 'ACHMAD SOLICHIN', 'TANGERANG SELATAN'); Demikian ketujuh bentuk variasi perintah INSERT di dalam MySQL yang sering terlupakan namun seringkali kita butuhkan. Semoga postingan ini bermanfaat untuk kita semua. Mari terus semangat berbagi demi Indonesia.

Referensi http://achmatim.net/2011/02/15/7-variasi-perintah-insert-di-mysql-yang-seringterlupakan/ http://kode-kecil.blogspot.co.id/2014/03/7-variasi-perintah-insert-di-mysql-yang.html http://www.sukmanuradillah.web.id/7-variasi-perintah-insert-di-mysql-yang-seringterlupakan.html Biografi Nurlita Wanita kelahiran Tangerang 20 Desember 1993. Saya berkerja diperusahaan yang berada di Jakarta Pusat dan saya sedang kuliah disalah satu kampus yang ada di kota tangerang. Apabila ada yang ditanyakan bias hubungi saya di email nurlita.icha@gmail.com