76
Pemrograman Internet Mobile Antonius R.C, S.Kom, M.Cs MySQL

Pemrograman Internet Mobile

  • Upload
    lilia

  • View
    31

  • Download
    0

Embed Size (px)

DESCRIPTION

Pemrograman Internet Mobile. Antonius R.C, S.Kom, M.Cs MySQL. SQL Pada MySQL. DDL – Data Definition Language CREATE ALTER DROP DML – Data Manipulation Language INSERT UPDATE DELETE Data Retrieving / Query SELECT DCL – Data Control Language Administrasi User. Melihat Versi MySQL. - PowerPoint PPT Presentation

Citation preview

Page 1: Pemrograman Internet Mobile

Pemrograman Internet Mobile

Antonius R.C, S.Kom, M.Cs

MySQL

Page 2: Pemrograman Internet Mobile

SQL Pada MySQL

• DDL – Data Definition Language– CREATE– ALTER– DROP

• DML – Data Manipulation Language– INSERT– UPDATE– DELETE

• Data Retrieving / Query– SELECT

• DCL – Data Control Language– Administrasi User

Page 3: Pemrograman Internet Mobile

Melihat Versi MySQL

• SELECT VERSION();

mysql> SELECT VERSION();

+------------------------------+

| VERSION() |

+------------------------------+

| 4.1.12-Debian_1ubuntu3.1-log |

+------------------------------+

Page 4: Pemrograman Internet Mobile

Melihat Database MySQL

SHOW DATABASES;

mysql> SHOW DATABASES;

+----------+

| Database |

+----------+

| mysql |

| test |

+----------+

Page 5: Pemrograman Internet Mobile

Create Database

• CREATE DATABASE <nama_databases>;mysql> CREATE DATABASE coba;

mysql> SHOW DATABASES;

+----------+

| Database |

+----------+

| coba |

| mysql |

| test |

+----------+

Page 6: Pemrograman Internet Mobile

Menghapus Database

• DROP DATABASE <nama_database>;mysql> DROP DATABASE coba;mysql> SHOW DATABASES;+----------+| Database |+----------+| mysql || test |+----------+

Page 7: Pemrograman Internet Mobile

Menggunakan Database

• USE <nama_database>;mysql> CREATE DATABASE universitas;mysql> SHOW DATABASES;+-------------+| Database |+-------------+| mysql || test || universitas |+-------------+mysql> USE universitas;Database changed

Page 8: Pemrograman Internet Mobile

Create Table

CREATE TABLE <nama_table>

(<nama_kolom1> <tipe_data1>,

<nama_kolom2> <tipe_data2>, ...);

mysql> CREATE TABLE pegawai

-> (nik CHAR(4), nama VARCHAR(20));

Page 9: Pemrograman Internet Mobile

Select Db dan Show TableSELECT DATABASE();mysql> SELECT DATABASE();+-------------+| DATABASE() |+-------------+| universitas |+-------------+

SHOW TABLES;mysql> SHOW TABLES;+-----------------------+| Tables_in_universitas |+-----------------------+| pegawai |+-----------------------+

Page 10: Pemrograman Internet Mobile

Menghapus table

DROP TABLE <nama_table>;

mysql> DROP TABLE karyawan;

mysql> SHOW TABLES;

Empty set (0.01 sec)

Page 11: Pemrograman Internet Mobile

Melihat deskripsi tableDESCRIBE <nama_table>;EXPLAIN <nama_table>;SHOW COLUMNS FROM <nama_table>;

mysql> DESCRIBE pegawai;+-------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+-------+| nik | varchar(4) | YES | | NULL | || nama | varchar(20) | YES | | NULL | |+-------+-------------+------+-----+---------+-------+

Page 12: Pemrograman Internet Mobile

MENGUBAH NAMA TABLE

• ALTER TABLE <nama_table> RENAME <nama_baru>;

mysql> ALTER TABLE pegawai RENAME karyawan;mysql> SHOW TABLES;+-----------------------+| Tables_in_universitas |+-----------------------+| karyawan |+-----------------------+

Page 13: Pemrograman Internet Mobile

Menambah Kolom di AkhirALTER TABLE <nama_table> ADD COLUMN <kolom_baru> <tipe_data>;

mysql> ALTER TABLE karyawan -> ADD COLUMN gaji int(5);mysql> DESCRIBE karyawan;+-------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+-------+| nik | varchar(4) | YES | | NULL | || nama | varchar(20) | YES | | NULL | || gaji | int(5) | YES | | NULL | |+-------+-------------+------+-----+---------+-------+

Page 14: Pemrograman Internet Mobile

Tambah Kolom di AwalALTER TABLE <nama_table> ADD COLUMN <kolom_baru> <tipe_data> FIRST;

mysql> ALTER TABLE karyawan -> ADD COLUMN tgl_lahir date FIRST;mysql> DESCRIBE karyawan;+-----------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-----------+-------------+------+-----+---------+-------+| tgl_lahir | date | YES | | NULL | || nik | varchar(4) | YES | | NULL | || nama | varchar(20) | YES | | NULL | || gaji | int(5) | YES | | NULL | |+-----------+-------------+------+-----+---------+-------+

Page 15: Pemrograman Internet Mobile

Menyisipkan kolom baruALTER TABLE <nama_table> ADD COLUMN <kolom_baru> <tipe_data>AFTER <nama_kolom>;

mysql> ALTER TABLE karyawan -> ADD COLUMN bonus int(4) AFTER nik;mysql> DESCRIBE karyawan;+-----------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-----------+-------------+------+-----+---------+-------+| tgl_lahir | date | YES | | NULL | || nik | varchar(4) | YES | | NULL | || bonus | int(4) | YES | | NULL | || nama | varchar(20) | YES | | NULL | || gaji | int(5) | YES | | NULL | |+-----------+-------------+------+-----+---------+-------+

Page 16: Pemrograman Internet Mobile

Ubah nama kolom dan tipe datanya

ALTER TABLE <nama_table> CHANGE <kolom_lama> <kolom_bar> <tipe_data>;

mysql> ALTER TABLE karyawan -> CHANGE nik nip char(4);mysql> DESCRIBE karyawan;+-----------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-----------+-------------+------+-----+---------+-------+| tgl_lahir | date | YES | | NULL | || nip | varchar(4) | YES | | NULL | || bonus | int(4) | YES | | NULL | || nama | varchar(20) | YES | | NULL | || gaji | int(5) | YES | | NULL | |+-----------+-------------+------+-----+---------+-------+

Page 17: Pemrograman Internet Mobile

Mengubah tipe data kolomALTER TABLE <nama_table> MODIFY <nama_kolom> <tp_data_baru>;

mysql> ALTER TABLE karyawan -> MODIFY nip int(5);mysql> DESCRIBE karyawan;+-----------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-----------+-------------+------+-----+---------+-------+| tgl_lahir | date | YES | | NULL | || nip | int(5) | YES | | NULL | || bonus | int(4) | YES | | NULL | || nama | varchar(20) | YES | | NULL | || gaji | int(5) | YES | | NULL | |+-----------+-------------+------+-----+---------+-------+

Page 18: Pemrograman Internet Mobile

Menghapus kolomALTER TABLE <nama_table> DROP COLUMN <nama_kolom>;

mysql> ALTER TABLE karyawan -> DROP COLUMN tgl_lahir;mysql> DESCRIBE karyawan;+-------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+-------+| nip | int(5) | YES | | NULL | || bonus | int(4) | YES | | NULL | || nama | varchar(20) | YES | | NULL | || gaji | int(5) | YES | | NULL | |+-------+-------------+------+-----+---------+-------+

Page 19: Pemrograman Internet Mobile

Create table dgn primary keyCREATE TABLE <nama_table> (kolom1 tipe_data1 PRIMARY KEY, kolom2 tipe_data2);

mysql> CREATE TABLE ktp -> (no_ktp int(15) PRIMARY KEY, -> nama varchar(20),tgl_lahir date, -> alamat varchar(30));mysql> DESCRIBE ktp;+-----------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-----------+-------------+------+-----+---------+-------+| no_ktp | int(15) | | PRI | 0 | || nama | varchar(20) | YES | | NULL | || tgl_lahir | date | YES | | NULL | || alamat | varchar(30) | YES | | NULL | |+-----------+-------------+------+-----+---------+-------+

Page 20: Pemrograman Internet Mobile

mysql> DESCRIBE mahasiswa;+-----------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-----------+-------------+------+-----+---------+-------+| nrp | varchar(7) | | PRI | | || nama | varchar(20) | YES | | NULL | || tgl_lahir | date | YES | | NULL | || ipk | double(3,2) | YES | | NULL | |+-----------+-------------+------+-----+---------+-------+

mysql> DESCRIBE mata_kuliah;+---------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+---------+-------------+------+-----+---------+-------+| kd_mk | varchar(5) | | PRI | | || nama_mk | varchar(15) | YES | | NULL | || sks | int(1) | YES | | NULL | |+---------+-------------+------+-----+---------+-------+

mysql> DESCRIBE pengambilan;+-------+------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+------------+------+-----+---------+-------+| nrp | varchar(7) | YES | | NULL | || kd_mk | varchar(5) | YES | | NULL | || nilai | int(3) | YES | | NULL | |+-------+------------+------+-----+---------+-------+

Page 21: Pemrograman Internet Mobile

Jawab

mysql> CREATE TABLE mahasiswa -> (nrp varchar(7) PRIMARY KEY, -> nama varchar(20), -> tgl_lahir date,ipk double(3,2))mysql> CREATE TABLE mata_kuliah -> (kd_mk varchar(5)PRIMARY KEY, -> nama_mk varchar(15), -> sks int(1));mysql> CREATE TABLE pengambilan -> (nrp varchar(7),kd_mk char(5), -> nilai int(3));

Page 22: Pemrograman Internet Mobile

Tambah record

INSERT INTO <nama_table> (kolom1,kolom2,kolom3)VALUES (data1,data2,data3);

mysql> INSERT INTO mahasiswa -> (nrp,nama,tgl_lahir,ipk) VALUES -> ('0673006','Dodi','1988-04-23',3.5);mysql> SELECT * FROM mahasiswa; +---------+------+------------+------+| nrp | nama | tgl_lahir | ipk |+---------+------+------------+------+| 0673006 | Dodi | 1988-04-23 | 3.50 |+---------+------+------------+------+

Page 23: Pemrograman Internet Mobile

Update recordUPDATE <nama_table>SET <nama_kolom> = <nilai_baru>WHERE <kondisi>;

mysql> UPDATE mahasiswa SET ipk=3.25 -> WHERE nrp='0673006';mysql> SELECT * FROM mahasiswa;+---------+-------+------------+------+| nrp | nama | tgl_lahir | ipk |+---------+-------+------------+------+| 0673006 | Dodi | 1988-04-23 | 3.25 || 0572123 | Billy | 1990-10-25 | 2.75 || 0471212 | Wiro | 1987-07-17 | 2.27 |+---------+-------+------------+------+

Page 24: Pemrograman Internet Mobile

Delete record

DELETE FROM <nama_table>WHERE <kondisi>;

mysql> DELETE FROM mahasiswa -> WHERE nama='Dodi';mysql> SELECT * FROM mahasiswa;+---------+-------+------------+------+| nrp | nama | tgl_lahir | ipk |+---------+-------+------------+------+| 0572123 | Billy | 1990-10-25 | 2.75 || 0471212 | Wiro | 1987-07-17 | 2.27 |+---------+-------+------------+------+

Page 25: Pemrograman Internet Mobile

Truncate (Mengkosongkan table)

TRUNCATE TABLE <nama_table>;

TRUNCATE <nama_table>;

mysql> TRUNCATE TABLE mahasiswa;

mysql> SELECT * FROM mahasiswa;

Empty set (0.00 sec)

Page 26: Pemrograman Internet Mobile

Auto incrementCREATE TABLE <nama_table> (kolom_kunci> int(n) AUTO_INCREMENT PRIMARY KEY, <kolom2> <tipe_data2>);

mysql> CREATE TABLE warga ( -> no int(3) AUTO_INCREMENT PRIMARY KEY, -> nama varchar(20),usia int(2));mysql> DESCRIBE warga;+-------+-------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+----------------+| no | int(3) | | PRI | NULL | auto_increment || nama | varchar(20) | YES | | NULL | || usia | int(2) | YES | | NULL | |+-------+-------------+------+-----+---------+----------------+

Page 27: Pemrograman Internet Mobile

Auto increment (2)mysql> INSERT INTO warga(nama,usia) -> VALUES('Tora',33);mysql> INSERT INTO warga(nama) VALUES('Aming');mysql> INSERT INTO warga(usia) VALUES(27);mysql> SELECT * FROM warga;+----+-------+------+| no | nama | usia |+----+-------+------+| 1 | Tora | 33 || 2 | Aming | NULL || 3 | NULL | 27 |+----+-------+------+

Page 28: Pemrograman Internet Mobile

Auto increment (3)

mysql> DELETE FROM warga WHERE nama='Tora';mysql> INSERT INTO warga(nama,usia) -> VALUES('Jojon',40);mysql> SELECT * FROM warga;+----+-------+------+| no | nama | usia |+----+-------+------+| 4 | Jojon | 40 || 2 | Aming | NULL || 3 | NULL | 27 |+----+-------+------+

Page 29: Pemrograman Internet Mobile

Nilai defaultALTER TABLE <nama_table>MODIFY <nama_kolom> <tipe_data>DEFAULT <nilai_default>;

mysql> ALTER TABLE warga -> MODIFY usia int(2) DEFAULT 25;mysql> DESCRIBE warga;+-------+-------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+----------------+| no | int(3) | | PRI | NULL | auto_increment || nama | varchar(20) | YES | | NULL | || usia | int(2) | YES | | 25 | |+-------+-------------+------+-----+---------+----------------+

Page 30: Pemrograman Internet Mobile

Nilai Defaultmysql> INSERT INTO warga(nama) VALUES('Eko');mysql> INSERT INTO warga(nama,usia) -> VALUES('Tarsan',68);mysql> INSERT INTO warga() VALUES();mysql> SELECT * FROM warga;+----+--------+------+| no | nama | usia |+----+--------+------+| 1 | Parto | 33 || 2 | Akri | 32 || 3 | Eko | 25 || 4 | Tarsan | 68 || 5 | NULL | 25 |+----+--------+------+

Page 31: Pemrograman Internet Mobile

NOT NULLALTER TABLE <nama_table>MODIFY <nama_kolom> <tipe_data> NOT NULL;

mysql> CREATE TABLE anggota ( -> nama varchar(20) NOT NULL, -> tgl_lahir date,telp varchar(15));mysql> DESCRIBE anggota; +-----------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-----------+-------------+------+-----+---------+-------+| nama | varchar(20) | | | | || tgl_lahir | date | YES | | NULL | || telp | varchar(15) | YES | | NULL | |+-----------+-------------+------+-----+---------+-------+

NOT NULL berarti tidak kolom tersebut tidak boleh dikosongkan

Page 32: Pemrograman Internet Mobile

Foreign KeyALTER TABLE <table_anak> ADD FOREGIN KEY(kolom_anak)REFERENCES<table_induk>(<kolom_induk>);

mysql> ALTER TABLE pengambilan ADD FOREIGN -> KEY(nrp) REFERENCES mahasiswa(nrp); mysql> ALTER TABLE pengambilan ADD FOREIGN -> KEY(kd_mk) REFERENCES -> mata_kuliah(kd_mk);

• Foreign Key = Kunci Tamu• Field yang menjadi kunci utama di table lain dan masuk menjadi

field di suatu table yang berhubungan dengan table yg memiliki kunci utama tersebut

Page 33: Pemrograman Internet Mobile

Zerofillmysql> CREATE TABLE barang -> (nama varchar(20), -> harga int(5) ZEROFILL);mysql> DESCRIBE barang;

+-------+--------------------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+--------------------------+------+-----+---------+-------+| nama | varchar(20) | YES | | NULL | || harga | int(5) unsigned zerofill | YES | | NULL | |+-------+--------------------------+------+-----+---------+-------+

mysql> INSERT INTO barang VALUES('Kopi',500);mysql> INSERT INTO barang VALUES('Gula',300);mysql> INSERT INTO barang VALUES('Susu',1100);mysql> SELECT * FROM barang;+------+-------+| nama | harga |+------+-------+| Kopi | 00500 || Gula | 00300 || Susu | 01100 |+------+-------+

Page 34: Pemrograman Internet Mobile

Isi datamysql> SELECT * FROM mahasiswa;+---------+--------------+------------+------+| nrp | nama | tgl_lahir | ipk |+---------+--------------+------------+------+| 0471007 | Spiderman | 1990-02-26 | 3.33 || 0471019 | Superman | 1988-10-22 | 2.45 || 0471011 | Batman | 1985-05-14 | 2.77 || 0571022 | Robin | 1992-03-27 | 3.77 || 0571029 | Profesor X | 1991-05-23 | 3.51 || 0471059 | Wonder Woman | 1992-07-12 | 2.19 |+---------+--------------+------------+------+mysql> SELECT * FROM mata_kuliah;+-------+----------+------+| kd_mk | nama_mk | sks |+-------+----------+------+| IF001 | Menembak | 3 || IF002 | Menyamar | 2 || IF003 | Terbang | 2 || IF004 | Memanjat | 3 |+-------+----------+------+

Page 35: Pemrograman Internet Mobile

Backup table

CREATE TABLE <table_backup> ASSELECT * FROM <table_sumber>;

mysql> CREATE TABLE mhs AS -> SELECT * FROM mahasiswa;mysql> CREATE TABLE matkul AS -> SELECT * FROM mata_kuliah;

Page 36: Pemrograman Internet Mobile

Select And n Ormysql> SELECT * FROM pengambilan -> WHERE kd_mk='IF002' AND nilai>85;+---------+-------+-------+| nrp | kd_mk | nilai |+---------+-------+-------+| 0471007 | IF002 | 88 || 0471019 | IF002 | 88 || 0471011 | IF002 | 88 |+---------+-------+-------+

mysql> SELECT * FROM pengambilan -> WHERE kd_mk='IF002' OR nilai>85;+---------+-------+-------+| nrp | kd_mk | nilai |+---------+-------+-------+| 0471019 | IF003 | 90 || 0471007 | IF002 | 88 || 0471019 | IF002 | 88 || 0471011 | IF002 | 88 || 0571022 | IF002 | 82 |+---------+-------+-------+

Page 37: Pemrograman Internet Mobile

Select Not n Aliasmysql> SELECT * FROM pengambilan -> WHERE NOT (kd_mk='IF002');+---------+-------+-------+| nrp | kd_mk | nilai |+---------+-------+-------+| 0471007 | IF004 | 70 || 0471019 | IF003 | 90 |+---------+-------+-------+

mysql> SELECT nama "Nama", -> ipk "Indeks Prestasi Kumulatif" -> FROM mahasiswa;+--------------+---------------------------+| Nama | Indeks Prestasi Kumulatif |+--------------+---------------------------+| Spiderman | 3.33 || Superman | 2.45 || Batman | 2.77 || Robin | 3.77 || Profesor X | 3.51 || Wonder Woman | 2.19 |+--------------+---------------------------+

Page 38: Pemrograman Internet Mobile

Order bySELECT <kolom> FROM <nama_table>[WHERE <kondisi>]ORDER BY <kolom_acuan> [ASC|DESC];

mysql> SELECT * FROM mahasiswa -> WHERE ipk <3 -> ORDER BY nama DESC;+---------+--------------+------------+------+| nrp | nama | tgl_lahir | ipk |+---------+--------------+------------+------+| 0471059 | Wonder Woman | 1992-07-12 | 2.19 || 0471019 | Superman | 1988-10-22 | 2.45 || 0471011 | Batman | 1985-05-14 | 2.77 |+---------+--------------+------------+------+

Page 39: Pemrograman Internet Mobile

Operator like

Menampilkan data mahasiswa angkatan 2005

mysql> SELECT * FROM mahasiswa -> WHERE nrp LIKE '05%';+---------+------------+------------+------+| nrp | nama | tgl_lahir | ipk |+---------+------------+------------+------+| 0571022 | Robin | 1992-03-27 | 3.77 || 0571029 | Profesor X | 1991-05-23 | 3.51 |+---------+------------+------------+------+

Page 40: Pemrograman Internet Mobile

Like (2)

Menampilkan data mahasiswa yang berulang tahun pada bulan mei

mysql> SELECT * FROM mahasiswa -> WHERE tgl_lahir LIKE '%05-__';+---------+------------+------------+------+| nrp | nama | tgl_lahir | ipk |+---------+------------+------------+------+| 0471011 | Batman | 1985-05-14 | 2.77 || 0571029 | Profesor X | 1991-05-23 | 3.51 |+---------+------------+------------+------+

Page 41: Pemrograman Internet Mobile

Operator Matematikamysql> SELECT ipk "IPK", ipk+1 "+10" -> ipk-10 "-10", ipk*10 "*10", -> ipk/10 "/10", ipk%2 “%2” -> FROM mahasiswa;+------+------+-------+-------+--------+------+| IPK | +10 | -10 | *10 | /10 | %2 |+------+------+-------+-------+--------+------+| 3.33 | 4.33 | -6.67 | 33.30 | 0.3330 | 1.33 || 2.45 | 3.45 | -7.55 | 24.50 | 0.2450 | 0.45 || 2.77 | 3.77 | -7.23 | 27.70 | 0.2770 | 0.77 || 3.77 | 4.77 | -6.23 | 37.70 | 0.3770 | 1.77 || 3.51 | 4.51 | -6.49 | 35.10 | 0.3510 | 1.51 || 2.19 | 3.19 | -7.81 | 21.90 | 0.2190 | 0.19 |+------+------+-------+-------+--------+------+

Page 42: Pemrograman Internet Mobile

Sum, Countmysql> SELECT SUM(nilai) "nilaitotal" -> FROM pengambilan -> WHERE nrp='0471007';+-------------+| nilai total |+-------------+| 158 |+-------------+

mysql> SELECT COUNT(8) “Jml Mhs Angkt 04” -> FROM mahasiswa -> WHERE nrp LIKE '04%';+------------------+| Jml Mhs Angkt 04 |+------------------+| 4 |+------------------+

Page 43: Pemrograman Internet Mobile

Avg, Max, Minmysql> SELECT AVG(ipk) -> FROM mahasiswa -> WHERE nrp LIKE '05%';+----------+| AVG(ipk) |+----------+| 3.640000 |+----------+

mysql> SELECT MIN(ipk) "IPK Terkecil", -> MAX(ipk) "IPK Terbesar" -> FROM mahasiswa;+--------------+--------------+| IPK Terkecil | IPK Terbesar |+--------------+--------------+| 2.19 | 3.77 |+--------------+--------------+

Page 44: Pemrograman Internet Mobile

Group bySELECT <fungsi_agregat>FROM <nama_table> GROUP BY <nama_kolom|alias_kolom>;

mysql> SELECT kd_mk,COUNT(kd_mk) -> FROM pengambilan -> GROUP BY kd_mk;+-------+--------------+| kd_mk | COUNT(kd_mk) |+-------+--------------+| IF002 | 4 || IF003 | 1 || IF004 | 1 |+-------+--------------+

Page 45: Pemrograman Internet Mobile

Group By (2)mysql> SELECT nrp,COUNT(*),AVG(nilai), -> MAX(nilai),MIN(nilai) -> FROM pengambilan -> GROUP BY nrp;+---------+----------+------------+------------+------------+| nrp | COUNT(*) | AVG(nilai) | MAX(nilai) | MIN(nilai) |+---------+----------+------------+------------+------------+| 0471007 | 2 | 79.0000 | 88 | 70 || 0471011 | 1 | 88.0000 | 88 | 88 || 0471019 | 2 | 89.0000 | 90 | 88 || 0571022 | 1 | 82.0000 | 82 | 82 |+---------+----------+------------+------------+------------+

Page 46: Pemrograman Internet Mobile

Fungsi matematika

• ABS(n)• POW(x,y)• SQRT(n);• CEILING(n) dan FLOOR(n)• ROUND(n [ ,m ]) dan TRUNCATE(n,m)• RADIANS(n) dan DEGREES(n)• SIN(n), COS(n), dan TAN(n)• PI()• BIN(n), OCT(n), dan HEX(n)• FORMAT(m,n)

Page 47: Pemrograman Internet Mobile

Fungsi String• UCASE(x) dan UPPER(x)• LCASE(x) dan LOWER(x)• ASCII(n) dan CHAR(x)• CHAR_LENGTH(x) dan LENGTH(x)• CONCAT(x,y [,z,..])• STRCMP(x,y);• ENCODE(x,y) dan DECODE(x,y)• ENRYPT(x) dan PASSWORD(x)• COALESCE(x,y);• INSERT(x,m,n,y)• LTRIM(x), RTRIM(x), dan TRIM(x)• LPAD(x,y,z) dan RPAD(x,y,z)• REVERSE(x)• REPLACE(x,y,z)• LEFT(x,n), RIGHT(x,n), dan MID(x,m,n)

Page 48: Pemrograman Internet Mobile

Fungsi ASCII dan CHARmysql> SELECT ASCII('B'),CHAR(66);+------------+----------+| ASCII('B') | CHAR(66) |+------------+----------+| 66 | B |+------------+----------+

mysql> SELECT nama_mk,ASCII(nama_mk) FROM mata_kuliah;+----------+----------------+| nama_mk | ASCII(nama_mk) |+----------+----------------+| Menembak | 77 || Menyamar | 77 || Terbang | 84 || Memanjat | 77 |+----------+----------------+

Page 49: Pemrograman Internet Mobile

LENGTH dan CHAR_LENGTHmysql> SELECT nama,LENGTH(nama), -> CHAR_LENGTH(nama) -> FROM mahasiswa;+--------------+--------------+-------------------+| nama | LENGTH(nama) | CHAR_LENGTH(nama) |+--------------+--------------+-------------------+| Spiderman | 9 | 9 || Superman | 8 | 8 || Batman | 6 | 6 || Robin | 5 | 5 || Profesor X | 10 | 10 || Wonder Woman | 12 | 12 |+--------------+--------------+-------------------+

Page 50: Pemrograman Internet Mobile

STRCMPmysql> SELECT STRCMP('Spiderman','SPIDERMAN');+---------------------------------+| STRCMP('Spiderman','SPIDERMAN') |+---------------------------------+| 0 |+---------------------------------+

mysql> SELECT STRCMP('Spiderman','Batman');+------------------------------+| STRCMP('Spiderman','Batman') |+------------------------------+| 1 |+------------------------------+

mysql> SELECT STRCMP('Spiderman','Spidermanz');+----------------------------------+| STRCMP('Spiderman','Spidermanz') |+----------------------------------+| -1 |+----------------------------------+

Page 51: Pemrograman Internet Mobile

ENCODE dan DECODEmysql> SELECT nama,ENCODE(nama,'key'), -> DECODE(ENCODE(nama,'key'),'key') -> FROM mahasiswa;+--------------+--------------+----------------------------------+| nama | acak | DECODE(ENCODE(nama,'key'),'key') |+--------------+--------------+----------------------------------+| Spiderman | H? | Spiderman || Superman | .+ | Superman || Batman | { | Batman || Robin | ZG* | Robin || Profesor X | mn6R | Profesor X || Wonder Woman | $B-sb | Wonder Woman |+--------------+--------------+----------------------------------+

Page 52: Pemrograman Internet Mobile

ENCRYPT dan PASSWORDmysql> SELECT nama,ENCRYPT(nama),PASSWORD(nama) -> FROM mahasiswa;+--------------+---------------+------------------+| nama | ENCRYPT(nama) | PASSWORD(nama) |+--------------+---------------+------------------+| Spiderman | DyCsAXu0bZaao | 162ed2e56022ac99 || Superman | DydyB2x2xXmXo | 774280dd330aac14 || Batman | DyIlblnd77dfw | 0856077d423db292 || Robin | DyyMAZuf5ODFE | 406ad76459c5d464 || Profesor X | Dyy9LvL6qAONQ | 70a37e8212baf12a || Wonder Woman | Dysfyzf4PkiUk | 730b5163068e7931 |+--------------+---------------+------------------+

Page 53: Pemrograman Internet Mobile

TRIM, LTRIM, RTRIMmysql> SELECT LTRIM(' Batman '), -> RTRIM(' Batman '), -> TRIM(' Batman ');+-----------------------+-----------------------+----------------------+| LTRIM(' Batman ') | RTRIM(' Batman ') | TRIM(' Batman ') |+-----------------------+-----------------------+----------------------+| Batman | Batman | Batman |+-----------------------+-----------------------+----------------------+

mysql> SELECT LENGTH(' Batman ') "asli", -> LENGTH(LTRIM(' Batman ')) "LTRIM", -> LENGTH(RTRIM(' Batman ')) "RTRIM", -> LENGTH(TRIM(' Batman ')) "TRIM";+------+-------+-------+------+| asli | LTRIM | RTRIM | TRIM |+------+-------+-------+------+| 12 | 9 | 9 | 6 |+------+-------+-------+------+

Page 54: Pemrograman Internet Mobile

LPAD, RPADmysql> SELECT nama, -> LPAD(nama,15,'*'), -> RPAD(nama,15,'#') -> FROM mahasiswa;+--------------+-------------------+-------------------+| nama | LPAD(nama,15,'*') | RPAD(nama,15,'#') |+--------------+-------------------+-------------------+| Spiderman | ******Spiderman | Spiderman###### || Superman | *******Superman | Superman####### || Batman | *********Batman | Batman######### || Robin | **********Robin | Robin########## || Profesor X | *****Profesor X | Profesor X##### || Wonder Woman | ***Wonder Woman | Wonder Woman### |+--------------+-------------------+-------------------+

Page 55: Pemrograman Internet Mobile

LEFT, RIGHT, MIDmysql> SELECT nama, -> LEFT(nama,3), -> RIGHT(nama,3), -> MID(nama,2,3) -> FROM mahasiswa;+--------------+--------------+---------------+---------------+| nama | LEFT(nama,3) | RIGHT(nama,3) | MID(nama,2,3) |+--------------+--------------+---------------+---------------+| Spiderman | Spi | man | pid || Superman | Sup | man | upe || Batman | Bat | man | atm || Robin | Rob | bin | obi || Profesor X | Pro | r X | rof || Wonder Woman | Won | man | ond |+--------------+--------------+---------------+---------------+

Page 56: Pemrograman Internet Mobile

LEFT

mysql> SELECT LEFT(nrp,2)"angkatan",AVG(ipk) -> FROM mahasiswa -> GROUP BY angkatan; +----------+----------+| angkatan | AVG(ipk) |+----------+----------+| 04 | 2.685000 || 05 | 3.640000 |+----------+----------+

Page 57: Pemrograman Internet Mobile

Fungsi Tanggal• CURDATE() dan CURRENT_DATE()• CURTIME() dan CURRENT_TIME()• SYSDATE() , NOW() , dan • CURRENT_TIMESTAMP()• DATE_ADD(d,INTERAL n DAY) dan • DATE_SUB(d,INTERVAL n DAY)• DATE_FORMAT(d,f)• DAYOFWEEK(d) , DAYOFMONTH(d) , dan • DAYOFYEAR(d)• DAYNAME(d) dan MONTHNAME(d)• DAY(d) , MONTH(d) , dan YEAR(d)• HOUR(d) , MINUTE(d) , dan SECOND(d)• QUARTER(d)

Page 58: Pemrograman Internet Mobile

DATE_ADD, DATE_SUBmysql> SELECT tgl_lahir "asli", -> DATE_ADD(tgl_lahir, INTERVAL 7 DAY) -> "DATE_ADD", -> DATE_SUB(tgl_lahir,INTERVAL 7 DAY) -> "DATE_SUB" -> FROM mahasiswa;+------------+------------+------------+| asli | DATE_ADD | DATE_SUB |+------------+------------+------------+| 1990-02-26 | 1990-03-05 | 1990-02-19 || 1988-10-22 | 1988-10-29 | 1988-10-15 || 1985-05-14 | 1985-05-21 | 1985-05-07 || 1992-03-27 | 1992-04-03 | 1992-03-20 || 1991-05-23 | 1991-05-30 | 1991-05-16 || 1992-07-12 | 1992-07-19 | 1992-07-05 |+------------+------------+------------+

Page 59: Pemrograman Internet Mobile

DATE_FORMATmysql> SELECT nama,tgl_lahir, -> DATE_FORMAT(tgl_lahir,'%a,%d %M %Y') -> "format tgl" -> FROM mahasiswa;+--------------+------------+----------------------+| nama | tgl_lahir | format tgl |+--------------+------------+----------------------+| Spiderman | 1990-02-26 | Mon,26 February 1990 || Superman | 1988-10-22 | Sat,22 October 1988 || Batman | 1985-05-14 | Tue,14 May 1985 || Robin | 1992-03-27 | Fri,27 March 1992 || Profesor X | 1991-05-23 | Thu,23 May 1991 || Wonder Woman | 1992-07-12 | Sun,12 July 1992 |+--------------+------------+----------------------+

Page 60: Pemrograman Internet Mobile

Format untuk DATE_FORMAT

• %a Format singkat nama hari (Sun..Sat)• %b Format singkat bulan (Jan..Dec)• %D Format tanggal teurut (1st, 2nd, 3rd, ...)• %d Format tanggal 2 digit (00..31)• %H Format jam 24 jam (00..23)• %h Format jam 12 jam (01..12)• %i Format menit 2 digit (00..59)• %M Format nama bulan (January..December)• %m Format angka bulan (00..12)

Page 61: Pemrograman Internet Mobile

DAYOFWEEK, MONTH, dan YEAR

mysql> SELECT tgl_lahir, -> DAYOFWEEK(tgl_lahir) "dayofweek", -> DAYOFMONTH(tgl_lahir) "dayofmonth", -> DAYOFYEAR(tgl_lahir) "day of year" -> FROM mahasiswa;+------------+-------------+--------------+-------------+| tgl_lahir | day of week | day of month | day of year |+------------+-------------+--------------+-------------+| 1990-02-26 | 2 | 26 | 57 || 1988-10-22 | 7 | 22 | 296 || 1985-05-14 | 3 | 14 | 134 || 1992-03-27 | 6 | 27 | 87 || 1991-05-23 | 5 | 23 | 143 || 1992-07-12 | 1 | 12 | 194 |+------------+-------------+--------------+-------------+

Page 62: Pemrograman Internet Mobile

DAY dan MONTHNAMEmysql> SELECT tgl_lahir, -> DAYNAME(tgl_lahir), -> MONTHNAME(tgl_lahir) -> FROM mahasiswa;+------------+--------------------+----------------------+| tgl_lahir | DAYNAME(tgl_lahir) | MONTHNAME(tgl_lahir) |+------------+--------------------+----------------------+| 1990-02-26 | Monday | February || 1988-10-22 | Saturday | October || 1985-05-14 | Tuesday | May || 1992-03-27 | Friday | March || 1991-05-23 | Thursday | May || 1992-07-12 | Sunday | July |+------------+--------------------+----------------------+

Page 63: Pemrograman Internet Mobile

Fungsi lainnya

• ISNULL(a)

• IFNULL(a,b)

• IF(a,b,c)

Page 64: Pemrograman Internet Mobile

ISNULL

mysql> INSERT INTO pengambilan(nrp,kd_mk) -> VALUES('0471019','IF004');mysql> SELECT * FROM pengambilan -> WHERE ISNULL(nilai);+---------+-------+-------+| nrp | kd_mk | nilai |+---------+-------+-------+| 0471019 | IF004 | NULL |+---------+-------+-------+

Page 65: Pemrograman Internet Mobile

IFNULLmysql> SELECT nrp, -> kd_mk, -> IFNULL(nilai,'kosong') -> FROM pengambilan;+---------+-------+------------------------+| nrp | kd_mk | IFNULL(nilai,'kosong') |+---------+-------+------------------------+| 0471007 | IF004 | 70 || 0471019 | IF003 | 90 || 0471007 | IF002 | 88 || 0471019 | IF002 | 88 || 0471011 | IF002 | 88 || 0571022 | IF002 | 82 || 0471019 | IF004 | kosong |+---------+-------+------------------------+

Page 66: Pemrograman Internet Mobile

IFmysql> SELECT nrp, -> nilai, -> IF(nilai>=90,'Hebat','Baik')“keterangan” -> FROM pengambilan;+---------+-------+------------+| nrp | nilai | keterangan |+---------+-------+------------+| 0471007 | 70 | Baik || 0471019 | 90 | Hebat || 0471007 | 88 | Baik || 0471019 | 88 | Baik || 0471011 | 88 | Baik || 0571022 | 82 | Baik || 0471019 | NULL | Baik |+---------+-------+------------+

Page 67: Pemrograman Internet Mobile

IF (2)mysql> SELECT nrp,nilai, -> IF(nilai>=90,'A',IF(nilai>=80,'B','C')) -> "keterangan" -> FROM pengambilan;+---------+-------+------------+| nrp | nilai | keterangan |+---------+-------+------------+| 0471007 | 70 | C || 0471019 | 90 | A || 0471007 | 88 | B || 0471019 | 88 | B || 0471011 | 88 | B || 0571022 | 82 | B || 0471019 | NULL | C |+---------+-------+------------+

Page 68: Pemrograman Internet Mobile

IF (3)mysql> SELECT nrp,nilai, -> IF(nilai>=90,'A',IF(nilai>=80,'B', -> IF(ISNULL(nilai),'KOSONG','C'))) -> "keterangan" -> FROM pengambilan;+---------+-------+------------+| nrp | nilai | keterangan |+---------+-------+------------+| 0471007 | 70 | C || 0471019 | 90 | A || 0471007 | 88 | B || 0471019 | 88 | B || 0471011 | 88 | B || 0571022 | 82 | B || 0471019 | NULL | KOSONG |+---------+-------+------------+

Page 69: Pemrograman Internet Mobile

Relasi Cross JoinSELECT <nama_kolom>FROM <table1> CROSS JOIN <table2>;

mysql> SELECT * -> FROM mahasiswa,pengambilan;mysql> SELECT * -> FROM mahasiswa,pengambilan,mata_kuliah;mysql> SELECT * -> FROM mahasiswa CROSS JOIN pengambilan;mysql> SELECT * -> FROM mahasiswa CROSS JOIN pengambilan -> CROSS JOIN mata_kuliah;

Page 70: Pemrograman Internet Mobile

Inner JoinSELECT <kolom>FROM <table1> INNER JOIN <table2>ON <relasi>;

mysql> SELECT * -> FROM mahasiswa INNER JOIN pengambilan -> ON mahasiswa.nrp=pengambilan.nrp;+---------+-----------+------------+------+---------+-------+-------+| nrp | nama | tgl_lahir | ipk | nrp | kd_mk | nilai |+---------+-----------+------------+------+---------+-------+-------+| 0471007 | Spiderman | 1990-02-26 | 3.33 | 0471007 | IF004 | 70 || 0471019 | Superman | 1988-10-22 | 2.45 | 0471019 | IF003 | 90 || 0471007 | Spiderman | 1990-02-26 | 3.33 | 0471007 | IF002 | 88 || 0471019 | Superman | 1988-10-22 | 2.45 | 0471019 | IF002 | 88 || 0471011 | Batman | 1985-05-14 | 2.77 | 0471011 | IF002 | 88 || 0571022 | Robin | 1992-03-27 | 3.77 | 0571022 | IF002 | 82 || 0471019 | Superman | 1988-10-22 | 2.45 | 0471019 | IF004 | NULL |+---------+-----------+------------+------+---------+-------+-------+

Page 71: Pemrograman Internet Mobile

Table Aliasingmysql> SELECT m.nrp ,m.nama, p.kd_mk, p.nilai -> FROM mahasiswa m -> INNER JOIN pengambilan p -> ON m.nrp=p.nrp;+---------+-----------+-------+-------+| nrp | nama | kd_mk | nilai |+---------+-----------+-------+-------+| 0471007 | Spiderman | IF004 | 70 || 0471019 | Superman | IF003 | 90 || 0471007 | Spiderman | IF002 | 88 || 0471019 | Superman | IF002 | 88 || 0471011 | Batman | IF002 | 88 || 0571022 | Robin | IF002 | 82 || 0471019 | Superman | IF004 | NULL |+---------+-----------+-------+-------+

Page 72: Pemrograman Internet Mobile

Inner join > 2 tablemysql> SELECT m.nrp,m.nama,mk.nama_mk,p.nilai -> FROM mahasiswa m -> INNER JOIN pengambilan p -> ON m.nrp=p.nrp -> INNER JOIN mata_kuliah mk -> ON p.kd_mk=mk.kd_mk;+---------+-----------+----------+-------+| nrp | nama | nama_mk | nilai |+---------+-----------+----------+-------+| 0471007 | Spiderman | Memanjat | 70 || 0471019 | Superman | Terbang | 90 || 0471007 | Spiderman | Menyamar | 88 || 0471019 | Superman | Menyamar | 88 || 0471011 | Batman | Menyamar | 88 || 0571022 | Robin | Menyamar | 82 || 0471019 | Superman | Memanjat | NULL |+---------+-----------+----------+-------+

Page 73: Pemrograman Internet Mobile

Bentuk lain inner joinSELECT <kolom> FROM <table1> , <table2> WHERE <relasi>;

mysql> SELECT m.nrp,m.nama,mk.nama_mk,p.nilai -> FROM mahasiswa m, pengambilan p, -> mata_kuliah mk -> WHERE m.nrp=p.nrp AND p.kd_mk=mk.kd_mk;+---------+-----------+----------+-------+| nrp | nama | nama_mk | nilai |+---------+-----------+----------+-------+| 0471007 | Spiderman | Memanjat | 70 || 0471019 | Superman | Terbang | 90 || 0471007 | Spiderman | Menyamar | 88 || 0471019 | Superman | Menyamar | 88 || 0471011 | Batman | Menyamar | 88 || 0571022 | Robin | Menyamar | 82 || 0471019 | Superman | Memanjat | NULL |+---------+-----------+----------+-------+

Page 74: Pemrograman Internet Mobile

Data Control LanguageCREATE USER <nama_user>@<nama_host> IDENTIFIED BY

'<password>';

mysql> CREATE USER anton@localhost -> IDENTIFIED BY ‘123anton';

SELECT user,host,password FROM user;

mysql> SELECT user,host,password FROM user;+------------------+-----------+------------------+| user | host | password |+------------------+-----------+------------------+| root | localhost | || root | my-ubuntu | || debian-sys-maint | localhost | 1d272cd33c9de0ee || anton | localhost | 6a4c41e8176a7981 |+------------------+-----------+------------------+

Page 75: Pemrograman Internet Mobile

Drop UserDROP USER <nama_user>@<nama_host>;

mysql> DROP USER boedy@localhost;mysql> SELECT user,host,password FROM user;+------------------+-----------+------------------+| user | host | password |+------------------+-----------+------------------+| root | localhost | || root | my-ubuntu | || debian-sys-maint | localhost | 1d272cd33c9de0ee |+------------------+-----------+------------------+

Page 76: Pemrograman Internet Mobile

NEXT

• PHP