Praktikum Sistem Basis Data (Database Server MySQL) Data Manipulation Language (DML)

dokumen-dokumen yang mirip
Praktikum Basis Data (Database Server MySQL) Bekerja Dengan Tabel

KURSUS ONLINE JASA WEBMASTERS

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

TUGAS PRAKTIKUM SISTEM BASIS DATA

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

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

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

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

Pengenalan Structured Query Language

Praktikum Basis Data 14 Structure Query Language 2

Pertemuan 12 Pengenalan Structured Query Language

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

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

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

Jobsheet SQL Dasar : Hari Zulianto, ST [Year]

PERINTAH DASAR MySQL

LAPORAN TUGAS BASIS DATA I

IF PEMROGRAMAN LANJUT MENGAKSES DATABASE. Oleh : Andri Heryandi, M.T.

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

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

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

TRIGGER TRIGGER 5/29/2017 HANI IRMAYANTI, S.KOM

7 VARIASI INSERT YANG TERLUPAKAN

MODUL V DATA MANIPULATION LANGUAGE (DML) 1

Perangkat Lunak Pengembangan Web

Database Management System. Program yang memungkinkan item-item dalam suatu database disusun, diolah dan diperbaharui

BAB 5 MANIPULASI DATA

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

MySQL J A M K E T I G A

Structured Query Language

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

PENGENALAN SINTAKS DASAR DALAM MySQL

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

TUGAS 1 PRAKTIKUM SISTEM BASIS DATA

Agenda SQL. Pemakai SQL. Kemampuan SQL 02/12/2010 STRUCTURED QUERY LANGUAGE (SQL) Structured Query Language (SQL) (Pert. 9)

MySQL AL AZHAR COMPUTER CLUB

Basis Data. DDL & Aturan Referential

TUGAS PRAKTIKUM SISTEM BASIS DATA

MODUL 5 INTERNET PROGRAMMING : MySQL

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

MODUL 4 INTERNET PROGRAMMING DATABASE

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

STUPID LOGIC PROGRAMMING II

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

BAB II PEMBUATAN DAN MANAJEMEN TABLE

LAPORAN PRAKTIKUM SISTEM BASIS DATA

MODUL 9 WEB PROGRAMMING : MySQL

Konsep Sistem Informasi B. BAB 2 - SQL Overview

Data Manipulation Language (DML)

P - 7 Pembahasan UTS PSIK V

MUKADDIMAH TEORI ASUMSI TABEL. CREATE TABLE contoh ( kode CHAR(5), nama VARCHAR(50) )

Praktikum Basis Data 2017 TE UM

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data

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

Mengenal Operasi Dasar SQL

Macam - Macam Perintah Pada SQL

Modul 3 : Query Penggabungan Tabel

Pertemuan 10. Bahasa Query Terapan

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

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

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

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

CARA MENGGUNAKAN SELECT QUERY PADA MYSQL

DESAIN DATABASE. Pertemuan 06 3 SKS

TUGAS 1 PRAKTIKUM SISTEM BASIS DATA

B a s i s D a t a - 1 C H A P T E R. SQL Operasi DML. Copyright 2005 PENS-ITS

PRAKTIKUM SISTEM BASISDATA

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

MODUL 2 PENGENALAN DATA DEFINITION LANGUAGE (DDL) & DATA MANIPULATION LANGUAGE (DML)

STRUCTURE QUERY LANGUAGE (SQL)

SQL (STRUCTURED QUERY LANGUAGE)

Basis Data Spasial Modul 2

LAPORAN PRAKTIKUM SISTEM BASIS DATA

Syntax Syntax SQL. Untuk lebih jelasnya dapat dilihat sebagai berikut : 1. DDL (Definition Data Language) a. CREATE

Modul 3 Pengelolaan Tabel

Hendra Setiawan ( )

MySQL. Setelah Anda melakukan tahapan-tahapan di atas Anda akan dapatkan screen seperti ini

TUGAS 1 PRAKTIKUM SISTEM BASIS DATA

Contoh SQL Constraint

BAB VIII FUNGSI, PL/PGSQL dan TRIGER

B a s i s D a t a - 1 C H A P T E R. SQL Operasi DML. Copyright 2005 PENS-ITS

INTERNET PROGRAMMING DATABASE

STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL)

Apa yang akan dibahas? Pengertian SQL Penggolongan Statement SQL Aturan Gramatika SQL Struktur Dasar SQL Query Satu (1) Tabel

MODUL II SQL A. TUJUAN

Tahap Instalasi PostgreSQL di Windows

Sistem Basis Data Danny Kriestanto, S.Kom., M.Eng

Basis Data Relational

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

Pemrograman Web Lanjut 2017

SISTEM BASIS DATA Pertemuan 11 Structure Query Language DDL - DML

Untuk mengakses MySQL dengan mode text dari Console (Command Prompt = Microsoft Windows), dapat dilakukan dengan cara : 1.

Pemrograman Basis Data Berbasis Web


PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2


MENGENAL SYNTAX DML PADA SQL

S Q L STRUCTURED QUERY LANGUAGE DEFINITION MANIPULATION C O N T R O L D M L SELECT INSERT UPDATE DELETE

PRAKTIKUM SISTEM BASISDATA. Disusun Oleh : Anggi Nurcahyo ( )

Transkripsi:

Data Manipulation Language (DML) 1 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

DML Perintah SQL yang termasuk dalam DML adalah : INSERT SELECT UPDATE REPLACE DELETE TRUNCATE 2 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

INSERT INSERT digunakan untuk menambahkan data ke suatu tabel. Bentuk umum pemanggilan insert adalah : INSERT [INTO] nama_tabel[(nama_kolom1[, nama_kolom2,...])] {VALUE VALUES} (isi_kolom1[, isi_kolom2,...]) INTO sifatnya opsional. Boleh ditulis, boleh tidak. Daftar nama kolom boleh ditulis, boleh tidak. Jika tidak ditulis, maka dianggap sesuai urutan nama kolom dalam pendefinisian tabel (lihat dengan perintah DESC namatabel. Gunakan koma sebagai pemisah. {VALUE VALUES}, wajib ditulis. Boleh VALUE atau VALUES. Isi kolom harus sesuai dengan urutan daftar nama kolom. Boleh diisi ekspresi atau DEFAULT. Gunakan koma sebagai pemisah. 3 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

INSERT Contoh : create table member( no int primary key auto_increment, nama varchar(50) not null, tgllhr date, berat decimal(6,2), status enum('a','t') default 'A' ); 4 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

INSERT Contoh : insert into member value(null,'adi','1980-06-10',65.5,'a'); Menggunakan INTO Daftar isi kolom tidak disebutkan, sehingga semua kolom harus disebut. Menggunakan VALUE. Kolom yang AUTO_INCREMENT diisi dengan nilai NULL. Pengisian data untuk setiap kolom ditulis sesuai urutan kolom dalam pendefinisian tabel. 5 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

INSERT Contoh : insert member values(null,'budi','1985-12-10',50,'t'); Tidak menggunakan INTO Daftar isi kolom tidak disebutkan, sehingga semua kolom harus disebut. Menggunakan VALUES. Kolom yang AUTO_INCREMENT diisi dengan nilai NULL. Pengisian data untuk setiap kolom ditulis sesuai urutan kolom dalam pendefinisian tabel. 6 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

INSERT Contoh : insert into member(nama,status) values('eni',default); Daftar isi kolom disebutkan (nama, status), sehingga hanya kolom tertentu yang akan disebut isinya. Kolom status diisi dengan DEFAULT. Ini menyatakan bahwa kolom tersebut akan diisi dengan nilai DEFAULT kolom. Dalam hal ini kolom status akan berisi A. 7 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

INSERT Contoh : insert into member values(null,'febri','1990-10- 12',60,'T'); select last_insert_id(); Pengisian data dengan nama Febri. Untuk melihat nilai hasil AUTO_INCREMENT, gunakan function LAST_INSERT_ID(). 8 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

INSERT Contoh : insert into member (nama,tgllhr) values('gungun',now()); Pengisian data untuk kolom menggunakan function now() yang berguna untuk mengisi data tanggal sekarang di komputer. 9 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

INSERT Contoh : insert into member (no,nama) values(10,'hendri'); insert into member (no,nama) values(null,'ina'); Pada insert yang pertama, nilai auto_increment diisi secara manual dengan nilai 10. Insert ke-dua akan menghasilkan nilai auto_increment 11 karena nilai auto_increment sebelumnya telah diisi dengan nilai 10. 10 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

INSERT Contoh salah: insert into member (no,nama) values(10,'hendra'); Akan menghasilkan error ERROR 1062 (23000): Duplicate entry '10' for key 'PRIMARY', karena nomor dengan nilai 10 sudah ada di tabel. 11 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

INSERT Contoh salah: insert into member values(null,'rendi','19900601',67); Akan menghasilkan error ERROR 1136 (21S01): Column count doesn't match value count at row 1, karena banyaknya kolom di daftar isian kolom (4 kolom) tidak sesuai dengan banyaknya kolom dalam pendefinisian kolom (5 kolom). 12 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

INSERT Contoh salah: insert into member(nama,tgllhr) values('jefry','19900601',67); Akan menghasilkan error ERROR 1136 (21S01): Column count doesn't match value count at row 1, karena banyaknya kolom di daftar isian kolom (3 kolom) tidak sesuai dengan banyaknya kolom yang akan diisi (2 kolom). 13 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

INSERT Contoh salah: insert into member(nama,berat) values('jefry', 'a67'); Akan menghasilkan error ERROR 1366 (HY000): Incorrect decimal value: 'a67' for column 'berat' at row 1, karena adanya kesalahan dalam pengisian data. Seharusnya diisi dengan angka. 14 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

INSERT Contoh salah: insert into member(nama,berat) values('jefry', 10000); Akan menghasilkan error ERROR 1264 (22003): Out of range value for column 'berat' at row 1, karena adanya kesalahan dalam pengisian data. Karena menggunakan decimal(6,2) maka isi kolom berat tidak boleh lebih dari 9999.99. 15 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

INSERT Contoh salah: insert into member(tgllhr,berat) values(1995,55); Akan menghasilkan error ERROR 1364 (HY000): Field 'nama' doesn't have a default value, karena adanya kesalahan yang diakibatkan oleh karena kolom nama tidak diisi dan tidak mempunyai nilai value. Hal ini menjadi error karena nama didefinisikan sebagai NOT NULL, 16 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

INSERT SELECT INSERT SELECT digunakan untuk melakukan pengisian data yang datanya diambil dari tabel lain. Bentuk umum pemanggilan insert adalah : INSERT [INTO] nama_tabel[(nama_kolom1[, nama_kolom2,...])] SELECT {* daftar_kolom} FROM nama_tabel_sumber; Daftar kolom INSERT harus sesuai dengan daftar_kolom dalam SELECT. Tidak ada VALUE/VALUES. Bagian VALUE/VALUES diganti dengan SELECT. 17 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

INSERT SELECT Contoh salah: create table negara( kode varchar(3) primary key, nama varchar(52) ); insert into negara select code,name from world.country; SQL pertama akan membuat tabel negara. SQL kedua akan melakukan insert ke tabel negara dengan isi diambil dari SQL select dari tabel country yang ada di skema world. 18 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

INSERT DELAYED INSERT DELAYED digunakan untuk melakukan pengisian data dimana server akan menempatkan baris yang akan diinsertkan ke buffer. Proses insert akan dilakukan ketika tabel sedang tidak digunakan oleh proses lain. Dengan cara ini, penyisipan akan dilakukan tanpa harus menunggu status insertnya selesai. INSERT DELAYED [INTO] nama_tabel[(nama_kolom1[, nama_kolom2,...])] {VALUE VALUES} (isi_kolom1[, isi_kolom2,...]) DELAYED ditempatkan setelah perintah INSERT. Hanya berlaku untuk tabel berengine MyISAM, MEMORY, ARCHIVE. 19 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

INSERT DELAYED Contoh: create table demodelayed(angka int) Engine=MyISAM; insert delayed into demodelayed values(10); SQL pertama akan membuat tabel negara. SQL kedua akan melakukan insert ke tabel negara dengan isi diambil dari SQL select dari tabel country yang ada di skema world. 20 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

INSERT ON DUPLICATE KEY UPDATE Perintah INSERT ON DUPLICATE KEY UPDATE digunakan untuk menyisipkan data (INSERT). Jika data yang dimasukkan ternyata mengakibatkan DUPLICATE KEY, maka operasi yang akan dilakukan bukanlah INSERT tapi UPDATE. Perintah ini akan menghidari terjadinya error DUPLICATE KEY ketika ada pengisian data baru. INSERT [INTO] nama_tabel[(nama_kolom1[, nama_kolom2,...])] {VALUE VALUES} (isi_kolom1[, isi_kolom2,...]) ON DUPLICATE KEY UPDATE kolom_update1=isi1[,kolom_update2=isi2]; 21 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

INSERT ON DUPLICATE KEY UPDATE Contoh: create table demodupkey(angka int primary key, angka2 int); insert into demodupkey values(1,2); insert into demodupkey values (2,100); insert into demodupkey values (1,5); -- Akan ERROR insert into demodupkey values (1,5) on duplicate key update angka2=values(angka2); Pada SQL ke-4, akan terjadi error jika menginsert data dengan angka 1 (karena sudah ada). SQL-5 tidak akan menghasilkan error, karena menggunakan ON DUPLICATE KEY UPDATE. Ketika terjadi DUPLICATE UPDATE, maka akan mengupdate kolom angka2 dengan nilai baru (values) yang diinsertkan. Value digunakan untuk mengambil nilai dari baris yang diinsertkan. 22 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

MULTIROW INSERT Multirow insert digunakan untuk melakukan penambahan lebih dari 1 baris baru dalam sekali INSERT. Bentuk umum pemanggilan multirow insert adalah : INSERT [INTO] nama_tabel[(nama_kolom1[, nama_kolom2,...])] {VALUE VALUES} (isi_kolom1[, isi_kolom2,...]) [, (isi_kolom1[, isi_kolom2,...])] Pada bagian setelah VALUES, daftar isi kolom bisa dilakukan lebih dari 1 kali. 23 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

MULTIROW INSERT Contoh: create table demomultirow(angka int); insert into demomultirow values(5),(7),(4),(3); SQL insert akan melakukan pengisian data sebanyak 4 baris dalam satu kali eksekusi query INSERT. Setiap daftar isi kolom dipisahkan dengan koma (,). 24 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

SELECT SELECT digunakan untuk mengambil data dari database. Bentuk umum pemanggilan SELECT adalah : SELECT {* daftar_kolom} FROM nama_tabel [WHERE kondisi_where] * digunakan untuk menampilkan semua kolom yang ada dalam tabel Daftar_kolom digunakan untuk mengampikan kolom tertentu saja WHERE digunakan jika ingin membatasi data yang ditampilkan Perintah SELECT lebih lanjut akan diterangkan pada bab-bab berikutnya. 25 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

SELECT Contoh: Select * from member; Menghasilkan : no nama tgllhr berat status 1 Adi 1980-06-10 65.50 A SQL 2 Budi insert akan 1985-12-10 melakukan 50.00 pengisian T data sebanyak 4 baris dalam satu 3 Catur kali eksekusi NULL query INSERT. NULL A 4 Eni NULL NULL A 5 Febri 1990-10-12 60.00 T 6 Gungun 2010-10-25 NULL A 10 Hendri NULL NULL A 11 Ina NULL NULL A 8 rows in set (0.00 sec) Setiap daftar isi kolom dipisahkan dengan koma (,). 26 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

SELECT Contoh: select no,nama,tgllhr from member; Menghasilkan : +----+--------+------------+ no nama tgllhr +----+--------+------------+ 1 Adi 1980-06-10 SQL 2 Budi insert akan 1985-12-10 melakukan pengisian data sebanyak 4 baris dalam satu 3 Catur kali eksekusi NULL query INSERT. 4 Eni NULL 5 Febri 1990-10-12 6 Gungun 2010-10-25 10 Hendri NULL 11 Ina NULL +----+--------+------------+ 8 rows in set (0.00 sec) Setiap daftar isi kolom dipisahkan dengan koma (,). 27 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

SELECT Contoh: select no,nama,tgllhr from member where no>5; Menghasilkan : +----+--------+------------+ no nama tgllhr +----+--------+------------+ 6 Gungun 2010-10-25 10 SQL Hendri insert akan NULL melakukan pengisian data sebanyak 4 baris dalam 11 satu Ina kali eksekusi NULL query INSERT. +----+--------+------------+ 3 rows in set (0.00 sec) Setiap daftar isi kolom dipisahkan dengan koma (,). 28 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

UPDATE UPDATE digunakan untuk mengganti isi data. Bentuk umum penggunaan update adalah : UPDATE nama_tabel SET kolom1={isi DEFAULT} [, kolom2={expr2 DEFAULT}]...] [WHERE kondisi_where] [ORDER BY nama_kolom_pengurutan] [LIMIT banyak_baris] WHERE digunakan untuk membatasi banyaknya baris yang diupdate ORDER BY digunakan untuk melakukan pengurutan data yang akan diupdate. LIMIT digunakan untuk membatasi baris yang akan diupdate (setelah data dibatasi dengan WHERE). 29 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

UPDATE Contoh data : select * from member; Menghasilkan : no nama tgllhr berat status 1 Adi 1980-06-10 65.50 A SQL 2 Budi insert akan 1985-12-10 melakukan 50.00 pengisian T data sebanyak 4 baris dalam satu 3 Catur kali eksekusi NULL query INSERT. NULL A 4 Eni NULL NULL A 5 Febri 1990-10-12 60.00 T 6 Gungun 2010-10-25 NULL A 10 Hendri NULL NULL A 11 Ina NULL NULL A 8 rows in set (0.00 sec) Setiap daftar isi kolom dipisahkan dengan koma (,). 30 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

UPDATE Contoh : update member set nama=upper(nama); Keterangan : Update seluruh (tanpa where) baris dengan mengisi (set) kolom nama dengan upper(nama). no nama tgllhr berat status 1 ADI 1980-06-10 65.50 A 2 BUDI 1985-12-10 50.00 T 3 CATUR NULL NULL A 4 ENI NULL NULL A 5 FEBRI 1990-10-12 60.00 T 6 GUNGUN 2010-10-25 NULL A 10 HENDRI NULL NULL A 11 INA NULL NULL A 8 rows in set (0.00 sec) 31 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

UPDATE Contoh : update member set tgllhr=19000101 where tgllhr is null; Keterangan : Update baris yang tgllahir-nya null dengan mengisi (set) kolom tgllhr dengan tanggal 1-Januari-1900. no nama tgllhr berat status 1 ADI 1980-06-10 65.50 A 2 BUDI 1985-12-10 50.00 T 3 CATUR 1900-01-01 NULL A 4 ENI 1900-01-01 NULL A 5 FEBRI 1990-10-12 60.00 T 6 GUNGUN 2010-10-25 NULL A 10 HENDRI 1900-01-01 NULL A 11 INA 1900-01-01 NULL A 8 rows in set (0.00 sec) 32 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

UPDATE Contoh : update member set berat=berat+1 order by berat desc limit 2; Keterangan : Update 2 baris pertama yang mempunyai berat paling besar(order by berat desc) dengan menambahkan 1 pada kolom berat. no nama tgllhr berat status 1 ADI 1980-06-10 66.50 A <- Berubah 2 BUDI 1985-12-10 50.00 T 3 CATUR 1900-01-01 NULL A 4 ENI 1900-01-01 NULL A 5 FEBRI 1990-10-12 61.00 T <- Berubah 6 GUNGUN 2010-10-25 NULL A 10 HENDRI 1900-01-01 NULL A 11 INA 1900-01-01 NULL A 8 rows in set (0.00 sec) 33 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

REPLACE REPLACE berkerja seperti INSERT. Perbedaannya adalah jika terjadi error karena duplicate key, maka data lama akan dihapus dan data baru diinsertkan. Bentuk umum penggunaan replaceadalah : REPLACE [INTO] nama_tabel[(nama_kolom1[, nama_kolom2,...])] {VALUE VALUES} (isi_kolom1[, isi_kolom2,...]) Pemanggilannya mirip dengan insert, begitu juga aturan pengisian datanya. 34 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

REPLACE Contoh : create table demoreplace(id int primary key, nama char(10)); insert into demoreplace values(1,'aa'),(2,'bb'), (3,'CC'),(4,'DD'); select * from demoreplace; +----+------+ id nama +----+------+ 1 AA 2 BB 3 CC 4 DD +----+------+ 35 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

REPLACE Contoh : insert into demoreplace values(1,'ade'); -- Error Duplicate replace into demoreplace values(1, 'Ade'); Keterangan : SQL pertama akan error : ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY' karena duplikat key. SQL kedua akan berhasil dan mengupdate data +----+------+ id nama +----+------+ 1 Ade 2 BB 3 CC 4 DD +----+------+ 36 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

DELETE Contoh data : select * from member; Menghasilkan : no nama tgllhr berat status 1 ADI 1980-06-10 66.50 A 2 BUDI 1985-12-10 50.00 T 3 CATUR 1900-01-01 NULL A 4 ENI 1900-01-01 NULL A 5 FEBRI 1990-10-12 61.00 T 6 GUNGUN 2010-10-25 NULL A 10 HENDRI 1900-01-01 NULL A 11 INA 1900-01-01 NULL A 8 rows in set (0.00 sec) 37 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

DELETE Contoh : delete from member where no=6; Penghapusan dilakukan pada data dengan no=6, sehingga data menjadi : no nama tgllhr berat status 1 ADI 1980-06-10 66.50 A 2 BUDI 1985-12-10 50.00 T 3 CATUR 1900-01-01 NULL A 4 ENI 1900-01-01 NULL A 5 FEBRI 1990-10-12 61.00 T 10 HENDRI 1900-01-01 NULL A 11 INA 1900-01-01 NULL A 7 rows in set (0.00 sec) 38 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

DELETE Contoh : delete from member order by berat desc limit 2; Penghapusan 2 baris (limit 2) yang mempunyai berat paling besar (order by berat desc). Data menjadi : no nama tgllhr berat status 2 BUDI 1985-12-10 50.00 T 3 CATUR 1900-01-01 NULL A 4 ENI 1900-01-01 NULL A 10 HENDRI 1900-01-01 NULL A 11 INA 1900-01-01 NULL A 5 rows in set (0.00 sec) 39 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

DELETE Contoh : delete from member; Penghapusan semua baris (tanpa where, tanpa limit). Data menjadi empty set. 40 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

TRUNCATE TRUNCATE berguna untuk melakukan panghapusan semua baris (mirip dengan DELETE tanpa WHERE dan LIMIT). Format pemanggilan TRUNCATE adalah : TRUNCATE [TABLE] tbl_name Perbedaan antara TRUNCATE dan DELETE Jika penghapusan menggunakan DELETE, maka nilai auto_increment tetap berlaku dan akan digunakan untuk insert berikutnya. Tetapi jika menggunakan truncate, maka nilai auto_increment akan kembali ke nilai awal. Penghapusan dengan DELETE dilakukan dengan melakukan penghapusan per baris, tetapi TRUNCATE akan melakukan penghapusan dengan DROP tabel dan kemudian CREATE tabel baru. Hal ini akan menyebabkan eksekusi TRUNCATE akan lebih cepat dibandingkan dengan DELETE. 41 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

TRUNCATE Contoh (penghapusan data dengan delete): Create table demodelete( id int primary key auto_increment, nama varchar(5)); Insert into demodelete(nama) values('aa'),('bb'),('cc'); Delete from demodelete; Insert into demodelete(nama) values('dd'); Keterangan : SQL kedua akan mengisi 3 data. Nilai auto_increment terakhir adalah 3. SQL ketiga akan menghapus semua data. SQL keempat akan menambah data dengan nilai auto_increment adalah 4 42 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010

TRUNCATE Contoh (penghapusan data dengan truncate): Create table demotruncate( id int primary key auto_increment, nama varchar(5)); Insert into demotruncate(nama) values('aa'),('bb'),('cc'); Truncate table demotruncate; Insert into demotruncate (nama) values('dd'); Keterangan : SQL kedua akan mengisi 3 data. Nilai auto_increment terakhir adalah 3. SQL ketiga akan menghapus semua data. SQL keempat akan menambah data dengan nilai auto_increment kembali ke awal yaitu 1. 43 Oleh : Andri Heryandi, MT, (andri@unikom.ac.id) Teknik Informatika Universitas Komputer Indonesia (UNIKOM) - 2010