Anda di halaman 1dari 18

TUGAS LAB SISTEM DATABASE

1. Tipe data dalam mysql :


-

M, menunjukkan lebar karakter maksimum. Nilai M maksimum adalah 255.


D, menunjukkan jumlah angka di belakang koma. Nilai maksimum D adalah 30 tetapi
dibatasi oleh nilai M, yaitu tidak boleh lebih besar daripada M-2.
UNSIGNED adalah bilangan tanpa tanda di depannya (misalnya tanda negatif).
TINYINT[(M)] [UNSIGNED] [ZEROFILL]
Integer yang sangat kecil jangkauan nilainya, yaitu -128 hingga 127. Jangkauan unsigned
adalah 0 hingga 255.
SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
Integer yang kecil jangkauan nilainya, yaitu -32768 hingga 32767. Jangkauan unsigned
adalah 0 hinga 65535.
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
Integer tingkat menengah. Jangkauan nilainya adalah -8388608 hingga 8388607.
Jangkauan unsigned adalah 0 hingga 16777215.
INT[(M)] [UNSIGNED] [ZEROFILL]
Integer yang berukuran normal. Jangkauan nilainya adalah -2147483648 hingga
2147483647. Jangkauan unsigned adalah 0 hingga 4294967295.
INTEGER[(M)] [UNSIGNED] [ZEROFILL]
Sama dengan INT.
BIGINT[(M)] [UNSIGNED] [ZEROFILL]
Integer berukuran besar. Jangkauan nilainya adalah -9223372036854775808 hingga
9223372036854775807. Jangkauan unsigned adalah 0 hingga 18446744073709551615.
FLOAT(precision) [ZEROFILL]
Bilangan floating-point. Tidak dapat bersifat unsigned. Nilai atribut precision adalah
<=24 untuk bilangan floating-point presisi tunggal dan di antara 25 dan 53 untuk
bilangan floating-point presisi ganda.
FLOAT[(M,D)] [ZEROFILL]
Bilangan floating-point presisi tunggal. Tidak dapat bersifat unsigned. Nilai yang
diijinkan adalah -3.402823466E+38 hingga -1.175494351E-38 untuk nilai negatif, 0, and
1.175494351E-38 hingga 3.402823466E+38 untuk nilai positif.
DOUBLE[(M,D)] [ZEROFILL]
Bilangan floating-point presisi ganda. Tidak dapat bersifat unsigned. Nilai yang diijinkan
adalah -1.7976931348623157E+308 hingga -2.2250738585072014E-308 untuk nilai
negatif, 0, dan 2.2250738585072014E-308 hingga 1.7976931348623157E+308 untuk
nilai positif.
DOUBLE PRECISION[(M,D)] [ZEROFILL] dan REAL[(M,D)] [ZEROFILL]
Keduanya sama dengan DOUBLE.

DECIMAL[(M[,D])] [ZEROFILL]
Bilangan floating-point yang unpacked. Tidak dapat bersifat unsigned. Memiliki sifat
mirit dengan CHAR. Kata unpacked'' berarti bilangan disimpan sebagai string,
menggunakan satu karakter untuk setiap digitnya. Jangkauan nilai dari DECIMAL sama
dengan DOUBLE, tetapi juga tergantung dai nilai atribut M dan D yang disertakan. Jika
D tidak diisi akan dianggap 0. Jika M tidak diisi maka akan dianggap 10. Sejak MySQL
3.22 nilai M harus termasuk ruang yang ditempati oleh angka di belakang koma dan
tanda + atau -.
NUMERIC(M,D) [ZEROFILL]
Sama dengan DECIMAL.
DATE
Sebuah tanggal. MySQL menampilkan tanggal dalam format 'YYYY-MM-DD'.
Jangkauan nilainya adalah '1000-01-01' hingga '9999-12-31'.
DATETIME
Sebuah kombinasi dari waktu (jam) dan tanggal. MySQL menampilkan waktu dan
tanggal dalam format 'YYYY-MM-DD HH:MM:SS'. Jangkauan nilainya adalah '100001-01 00:00:00' hingga '9999-12-31 23:59:59'.
TIMESTAMP[(M)]
Sebuah timestamp. Jangkauannya adalah dari '1970-01-01 00:00:00' hingga suatu waktu
di tahun 2037. MySQL menampilkan tipe data TIMESTAMP dalam format
YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD, atau YYMMDD,
tergantung dari nilai M, apakah 14 (atau tidak ditulis), 12, 8, atau 6.
TIME
Tipe data waktu. Jangkauannya adalah '-838:59:59' hingga '838:59:59'. MySQL
menampilkan TIME dalam format 'HH:MM:SS'.
YEAR[(2|4)]
Angka tahun, dalam format 2- atau 4-digit (default adalah 4-digit). Nilai yang mungkin
adalah 1901 hingga 2155, 0000 pada format 4-digit, dan 1970-2069 pada format 2-digit
(70-69).
CHAR(M) [BINARY]
String yang memiliki lebar tetap. Nilai M adalah dari 1 hingga 255 karakter. Jika ada sisa,
maka sisa tersebut diisi dengan spasi (misalnya nilai M adalah 10, tapi data yang
disimpan hanya memiliki 7 karakter, maka 3 karakter sisanya diisi dengan spasi). Spasi
ini akan dihilangkan apabila data dipanggil. Nilai dari CHAR akan disortir dan
diperbandingkan secara case-insensitive menurut default character set yang tersedia,
kecuali bila atribut BINARY disertakan.

VARCHAR(M) [BINARY]
String dengan lebar bervariasi. Nilai M adalah dari 1 hingga 255 karakter. Jika nilai M
adalah 10 sedangkan data yang disimpan hanya terdiri dari 5 karakter, maka lebar data
tersebut hanya 5 karakter saja, tidak ada tambahan spasi.
TINYBLOB dan TINYTEXT
Sebuah BLOB (semacam catatan) atau TEXT dengan lebar maksimum 255 (2^8 - 1)
karakter.
BLOB dan TEXT
Sebuah BLOB atau TEXT dengan lebar maksimum 65535 (2^16 - 1) karakter.
MEDIUMBLOB dan MEDIUMTEXT
Sebuah BLOB atau TEXT dengan lebar maksimum 16777215 (2^24 - 1) karakter.
LONGBLOB dan LONGTEXT
Sebuah BLOB atau TEXT dengan lebar maksimum 4294967295 (2^32 - 1) karakter.
ENUM('value1','value2',...)
Sebuah enumerasi, yaitu objek string yang hanya dapat memiliki sebuah nilai, dipilih dari
daftar nilai 'value1', 'value2', ..., NULL atau nilai special "" error. Sebuah ENUM
maksimum dapat memiliki 65535 jenis nilai.
SET('value1','value2',...)
Sebuah set, yaitu objek string yang dapat memiliki 0 nilai atau lebih, yang harus dipilih
dari daftar nilai 'value1', 'value2', .... Sebuah SET maksimum dapat memiliki 64 anggota.

Nah, dengan mengenal tipe-tipe data yang didukung oleh MySQL, Anda dapat dengan tepat
memilih tipe data yang Anda butuhkan dalam menyusun sebuah database.
Misalnya Anda hendak menyimpan data jumlah suatu stok barang yang tidak melebihi angka 200
misalnya, maka sebaiknya Anda memilih tipe data TINYINT yang diberi atribut UNSIGNED.
Alasannya adalah jumlah stok tidak melebihi 200 dan tidak mungkin lebih kecil dari 0, dan tipe
data TINYINT memiliki jangkauan 0 hingga 255, jadi memenuhi syarat untuk digunakan.
Contoh yang lain, misalnya Anda hendak membuat database nomor telpon dari teman-teman
Anda. Memang nomor telpon seluruhnya terdiri dari angka, namun nampaknya tidak tepat bila
disimpan dalam tipe data INT (atau bahkan BIGINT bila hendak menyimpan nomor handphone).
Lebih baik dimasukkan ke dalam CHAR atau VARCHAR dengan M adalah 12. Mengapa 12?
Karena nomor handphone terpanjang terdiri dari 12 digit. Sedangkan nomor telpon rumah
terpanjang adalah 8 digit ditambah kode area terpanjang 4 digit, jadi angka 12 sangat pas.

1. Perintah perintah dasar dalam mysql


1. Create Database
Digunakan untuk membuat database baru.

Syntax dasar:
CREATE DATABASE database_nama
Contoh:
CREATE DATABASE databaseku
2. Create Table
Digunakan untuk membuat tabel data baru dalam sebuah database.
Syntax dasar:
CREATE TABLE
(
Column_name1 table_nama data_type
Column_name2 table_nama data_type
Column_name3 table_nama data_type
)
Contoh:
CREATE TABLE bukutamu
(
Id int,
Nama varchar (255),
Email varchar(50),
Kota varchar(255)
)
3. Select
Digunakan untuk memilih data dari table database.
Syntax dasar:
SELECT column_name(s)
FROM table_name
Atau
SELECT * FROM table_name
Contoh 1:
SELECT nama,email FROM bukutamu
Contoh 2:
SELECT * FROM bukutamu

4. Select Distinct
Digunakan untuk memilih data-data yang berbeda (menghilangkan duplikasi) dari sebuah table
database.
Syntax dasar:
SELECT DISTINCT column_name(s)
FROM table_name
Contoh:
SELECT DISTINCT kota FROM bukutamu
5. Where
Digunakan untuk memfilter data pada perintah Select
Syntax dasar:
SELECT column name(s)
FROM table_name
WHERE column_name operator value
Contoh:
SELECT * FROM bukutamu
WHERE kota=PAMULANG
6. Order By
Digunakan untuk mengurutkan data berdasarkan kolom (field) tertentu. Secara default, urutan
tersusun secara ascending (urut kecil ke besar). Anda dapat mengubahnya menjadi descending
(urut besar ke kecil) dengan menambahkan perintah DESC.
Syntax dasar:
SELECT column_name(s)
FROM table_name
ORDER BY column_name(s) ASC|DESC
Contoh 1:
SELECT * FROM bukutamu
ORDER BY nama
Contoh 2:
SELECT * FROM bukutamu
ORDER BY id DESC

7. Like
Digunakan bersama dengan perintah Where, untuk proses pencarian data dengan spesifikasi
tertentu.
Syntax dasar:
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern
Contoh 1:
SELECT * FROM bukutamu
WHERE nama LIKE a%
Keterangan :
Contoh di atas digunakan untuk pencarian berdasarkan kolom nama yang berhuruf depan a.
Contoh 2:
SELECT * FROM bukutamu
WHERE nama LIKE a%
Keterangan :
Contoh di atas digunakan untuk pencarian berdasarkan kolom nama yang berhuruf belakang a.
8. In
Digunakan untuk pencarian data menggunakan lebih dari satu filter pada perintah Where.
Syntax dasar :
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2, . . .)
Contoh:
SELECT * FROM bukutamu
WHERE kota IN (Tangerang,Depok)
9. Between
Digunakan untuk menentukan jangkauan pencarian.
Syntax dasar:
SELECT column_name(s)
FROM table_name

WHERE column_name
BETWEEN value1 AND value2
Contoh :
SELECT * FROM bukutamu
WHERE id
BETWEEN 5 and 15
Keterangan :
Contoh di atas digunakan untuk mencari data yang memiliki nomor id antara 5 dan 15.
10. Insert Into
Digunakan untuk menambahkan data baru di tabel database.
Syntax dasar :
INSERT INTO table_name
VALUES (value1,value2,value3, . . .)
Atau
INSERT INTO table_name (column1,column2,column3, . . .)
VALUES (value1,value2,value3, . . .)
Contoh 1:
INSERT INTO bukutamu
VALUES (1,Arlicious,arly@arlicious.com,Tangerang)
Contoh 2:
INSERT INTO bukutamu (id,nama,email,kota)
VALUES (1,Arlicious,arly@arlicious.com,Tangerang)
11. Update
Digunakan untuk mengubah/memperbarui data di tabel database.
Syntax dasar:
UPDATE table_name
SET column1=value,column2=value, . . .
WHERE some_column=some_value
Contoh :
UPDATE bukutamu
SET email=arly@arlicious.com, kota=Tangerang
WHERE

12. Delete
Digunakan untuk menghapus data di table database. Tambahkan perintah Where untuk memfilter
data-data tertentu yang akan dihapus. Jika tanpa perintah Where, maka seluruh data dalam tabel
akan terhapus.
Syntax dasar :
DELETE FROM table_name
WHERE some_column=some_value
Contoh:
DELETE FROM bukutamu
WHERE id=1
13. Inner Join
Digunakan untuk menghasilkan baris data dengan cara menggabungkan 2 buah tabel atau lebih
menggunakan pasangan data yang match pada masing-masing tabel. Perintah ini sama dengan
perintah join yang sering digunakan.
Syntax dasar :
SELECT column_name(s) FROM table_name1INNER JOIN table_name2 ON
table_name1.column_name=table_name2 column-name
contoh :
SELECT bukutamu.nama,bukutamu.email,order.no_order FROM bukutamu INNER JOIN order
ON bukutamu.id=order.id ORDER BY bukutamu.nama

14. Left Join


Digunakan untuk menghasilkan baris data dari tabel kiri (nama tabel pertama) yang tidak ada
pasangan datanya pada tabel kanan (nama tabel kedua).
Syntax dasar :
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.
column_name

contoh :
SELECT bukutamu.nama,bukutamu.email,order.no_order
FROM bukutamu
LEFT JOIN order
ON bukutamu.id=order.id
ORDER BY bukutamu.nama
15. Right Join
Digunakan untuk menghasilkan baris data dari tabel kanan (nama tabel kedua) yang tidak ada
pasangan datanya pada tabel kiri (nama tabel pertama).
Syntax dasar :
SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2
column_name
contoh :
SELECT bukutamu.nama,bukutamu.emailmorder.no_order
FROM bukutamu
RIGHT JOIN order
ON bukutamu.id=order.i
ORDER BY bukutamu.nama
16. Full Join
Digunakan untuk menghasilkan baris data jika ada data yang sama pada salah satu tabel.
Syntax dasar :
SELECT column_name(s) FROM table_name1
FULL JOIN table_name2 ON table_name1.column_name=table_name2
column_name
Contoh :
SELECT bukutamu.nama,bukutamu.email,order.no_order FROM bukutamu FULL JOIN order
ON bukutamu.id=order.id ORDER BY bukutamu.nama
17. Union

Digunakan untuk menggabungkan hasil dari 2 atau lebih perintah Select.


Syntax dasar :
SELECT column_name(s)FROM table_name1
UNION column_name(s) FROM table_name2
Atau
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2
Contoh :
SELECT nama FROM mhs_kampus1
UNION
SELECT nama FROM mhs_kampus2
18. Alter Table
Digunakan untuk menambah, menghapus, atau mengubah kolom (field) pada tabel yang sudah
ada.
Syntax untuk menambah kolom :
ALTAR TABLE table_name
ADD column_name datatyoe
Contoh :
ALTER TABLE Persons
ADD DateOfBirth date
Syntax untuk menghapus kolom :
ALTER TABLE table_name
DROP COLUMN column_name
Contoh :
ALTER TABLE Persons
DROP COLUMN DateOfBirth
Syntax untuk mengubah kolom :
ALTER TABLE table_name
ALTER TABLE clumn_name datatype
Contoh :
ALTER TABLE Persons
ALTER COLUMN DateOfBirth year

19. Now ()
Digunakan untuk mendapatkan informasi waktu (tanggal dan jam saat ini.)
Syntax dasar :
Now()
Contoh :
SELECT NOW()
20. Curdate
Digunakan unutk mendapatkan informasi tanggal saat ini.
Syntax dasar :
Curdate()
Contoh :
SELECT CURDATE()
21. Curtime()
Digunakan untuk mendapatkan informasi jam saat ini.
Syntax dasar :
Curtime()
Contoh :
SELECT CURTIME()
22. Extract()
Digunakan untuk mendapatkan informasi bagian-bagian dari data waktu tertentu, seperti tahun,
bulan, hari, jam, menit, dan detik tertentu.
Syntax dasar :
Extract(unit FROM date)
Keterangan :
Parameter unit dapat berupa :
MICROSECOND
SECOND
MINUTE
HOUR
DAY

WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND
MINUTE_SECOND
HOUR_MICROSECOND
HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND
DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH
Contoh :
SELECT EXTRAXT (YEAR FROM tglorder( AS Th_Order, EXTRACT (MONTH FROM
tglorder) AS Bulan_Order,EXTRACT (FAY FROM tglorder AS Hari_Order,
FROM order
WHERE
23. Date_Add() dan Date_Sub()
Fungsi Date_Add() digunakan unutk menambahkan interval waktu tertentu pada sebuah tanggal,
sedangkan fungsi Date_Sub() digunakan untuk pengurangan sebuah tanggal dengan interval
tertentu.
Syntax dasar :
DATE_ADD (date,INTERVAL expr type)
DATE_SUB (date,INTERVAL expr type)
Keterangan :
Tipe data parameter INTERVAL dapat berupa :
MICROSECOND
SECOND
MINUTE
HOUR
DAY

WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND
MINUTE_MICROSECOND
MINUTE_SECOND
HOUR_MICROSEDOND
HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND
DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH
Contoh 1:
SELECT id,DATE_ADD (tglorder,INTERVAL 30 DAY)
AS Waktu_pembayaran
FROM order
Contoh 2:
SELECT id,DATE_SUB(tglorder,INTERVAL 5 DAY)
AS Pengurangan_Waktu
FROM order
24. DateDiff()
Digunakan untuk mendapatkan informasi waktu di antara 2 buah tanggal.
Syntax dasar :
DATEIFF(date1,date2)
Contoh :
SELECT DATEIFF(2010-06-30,2010-06-29)
AS Selisih_waktu
25. Date_Format()
Digunakan untuk menampilkan informasi jam dan tanggal dengan format tertentu.

Syntax dasar :
DATE_FORMAT(date,format)
Keterangan :
Parameter format dapat berupa :
%a, nama hari yang disingkat
%b, nama bulan yang disingkat
%c, bulan (numerik)
%D hari dalam sebulan dengan format English
%d, hari dalam sebulan (numerik 00-31)
%e, hari dalam sebulan (numerik 0-31)
%f, micro detik
%H, jam (00-23)
%h, jam (01-12)
%I, jam (01-12)
%i, menit (00-59)
%j, hari dalam setahun (001-366)
%k, jam (0-23)
%l, jam (1-12)
%M, nama bulan
%m, bulan (numerik 00-12)
%p, AM atau PM
%r, waktu jam dalam format 12 jam (hh:mm:ss AM or PM)
%S, detik (00-59)
%s, detik (00-59)
%T, waktu jam dalam format 24 jam (hh:mm:ss)
%U, minggu (00-53) dimana Sunday sebagai hari pertama dalam seminggu
%u, minggu (00-53) dimana Monday sebagai hari pertama dalam seminggu
%W, nama hari kerja
%w, hari dalam seminggu (0=Sunday, 6=Saturday)
%X, tahun dalam seminggu dimana Sunday sebagai hari pertama dalam seminggu (4 digits)
digunakan dengan %V
%x, tahun dalam seminggu di mana Monday sebagai hari pertama dalam seminggu (4 digits)
digunakan dengan %v
%Y, tahun 4 digit

%y, tahun 2 digit


Contoh :
DATA_FORMAT (NOW(),%b %d %Y %h : %i %p)
DATE_FORMAT (NOW(),%m-%d-%Y)
DATE_FORMAT (NOW(),%d %b %Y)
DATE_FORMAT (NOW(),%d %b %Y %T : %f)
26. Drop Table
Digunakan untuk menghapus tabel beserta seluruh datanya.
Syntax dasar :
DROP TABLE table_name
Contoh :
DROP TABLE mhs
27. Drop Database()
Digunakan untuk menghapus database.
Syntax dasar :
DROP DATABASE database_name
28. AVG()
Digunakan untuk menghitung nilai-rata-rata dari suatu data.
Syntax dasar :
SELECT AVG (column_name) FROM table_name
Contoh :
SELECT AVG(harga) AS Harga_rata2FROM order
29. Count()
Digunakan untuk menghitung jumlah (cacah) suatu data.
Syntax dasar :
SELECT COUNT (column_name) FROM table_name
Contoh :
SELECT COUNT(id) AS Jumlah_tamu FROM bukutamu
30. Max()

Digunakan untuk mendapatkan nilai terbesar dari data-data yang ada.


Syntax dasar :
SELECT MAX (column_name) FROM table_name
Contoh :
SELECT MAX(harga) AS Harga_termahal FROM order
31. Min()
Digunakan untuk mendapatkan nilai terkecil dari data-data yang ada.
Syntax dasar :
SELECT MIN (column_name) FROM table_name
Contoh:
SELECT MIN(harga) AS Harga_termurah FROM order
32. Sum()
Digunakan untuk mendapatkan nilai total penjumlahan dari data-data yang ada.
Syntax dasar :
SELECT SUM (column_name) FROM table_name
Contoh :
SELECT SUM(harga) AS Harga_total FROM order
33. Group By()
Digunakan untuk mengelompokkan data dengan kriteria tertentu.
Syntax dasar :
SELECT column_name,aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
Contoh :
SELECT nama_customer,SUM(harga) FROM order GROUP BY nama_customer
34. Having()
Digunakan untuk memfilter data dengan fungsi tertentu.
Syntax dasar :
SELECT column_name,aggregate_function(column_name)

FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value
Contoh :
SELECT nama_customer,SUM(harga) FROM order
WHERE nama_customer=Arlicious OR nama_customer=Dvallen
GROUP BY nama_customer
HAVING SUM (harga)>25000
35. Ucase()
Digunakan untuk mengubah huruf pada data tertentu menjadi huruf bSesar.
Syntax dasar :
SELECT UCASE (column_name) FROM table_name
Contoh :
SELECT UCASE(nama) as Nama FROM bukutamu
36. Lcase()
Digunakan untuk mengubah huruf pada data tertentu menjadi huruf kecil.
Syntax dasar :
SELECT LCASE (column_name) FROM table_name
Contoh :
SELECT LCASE(nama) as Nama FROM bukutamu
37. Mid()
Digunakan untuk mengambil beberapa karakter dari field teks.
Syntax dasar:
SELECT MID(column_name,start[,length]) FROM table_name
Contoh:
SELECT MID (kota,1,4) as singkatan_kota FROM
Buku tamu
38. Len()
Digunakan unutk mendapatkan informasi jumlah karakter dari field teks.

Syntax dasar:
SELECT LEN (column_name) FROM table_name
Contoh:
SELECT LEN(nama) as panjang_nama
FROM bukutamu
39. Round()
Digunakan untuk pembuatan bilangan pecahan.
Syntax dasar:
SELECT ROUND (column_name,decimals)
FROM table_name
Contoh:
SELECT no_mhs, ROUND (nilai,0) as nilai_bulat
FROM tnilai