disusun oleh : program studi teknik informaka stmik ... · d. perintah dasar mysql dengan...

22
Pemrograman Visual II Resume Dasar-Dasar MySQL Disusun Oleh : Abd Kadir Jalani (2016020122) Program Studi Teknik Informaka STMIK Handayani Makassar 2018

Upload: others

Post on 27-Feb-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Pemrograman Visual II

Resume Dasar-Dasar MySQL

Disusun Oleh :

Abd Kadir Jalani (2016020122)

Program Studi Teknik Informa�ka

STMIK Handayani Makassar2018

PEMBAHASAN

A. Data Base

Bahasa database adalah bahasa khusus yang ditetapkan pembuat DMBS ( database

management system ), tentang cara berinteraksi atau berkomunikasi antara pemakai

dengan database.

Bahasa ini terdiri atas sejumlah perintah yang diformulasikan untuk dapat diberikan oleh

pengguna dan dikenali oleh DBMS. Salah satu bahasa database yang populer adalah

SQL.

B. Kelebihan MySQL

⦁ Handal, cepat dan mudah digunakan.

⦁ Dukungan SQL.

⦁ Multiplatform dan portable.

MySQL dapat berjalan stabil pada berbagai sistemoperasi seperti Windows, Linux, FreeBSD,

Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.

⦁ Perangkat lunak sumber terbuka.

MySQL di distribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga

dapat digunakan secara gratis.

⦁ Multi-user.

MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa

mengalami masalah atau konflik.

⦁ ‘Performance Tuning'.

MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata

lain dapat memproses lebih banyak SQL persatuan waktu.

⦁ Ragam tipe data.

MySQL memiliki ragam tipe data yang sangat kaya, seperti signed atau unsigned integer, float,

double, char, text, date, timestamp, dan lain-lain.

⦁ Perintah dan Fungsi.

MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where

dalam perintah ( query ).

⦁ Keamanan.

MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin

akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.

⦁ Skalabilitas dan Pembatasan.

MySQL mampu menangani database dalam skala besar, dengan jumlah rekaman ( records )

lebih dari 50 juta dan 60 ribu tabel serta 5 milyarbaris. Selain itu batas indeks yang dapat

ditampung mencapai 32 indeks pada tiap tabelnya.

⦁ Konektivitas.

MySQL dapat melakukan koneksi dengan klien menggunakan protokolTCP / IP, Unix soket (

UNIX ), atau Named Pipes ( NT ).

⦁ Lokalisasi.

MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari 20

bahasa. Meskipun demikian, bahasa Indonesia belum termasuk di dalamnya.

⦁ Antar Muka.

MySQL memiliki antar muka ( interface ) terhadap berbagai aplikasi dan bahasa pemrograman

dengan menggunakan fungsi API ( Application Programming Interface ).

⦁ Klien dan Peralatan.

MySQL dilengkapi dengan berbagai peralatan ( tool ) yang dapat digunakan untuk administrasi

database, dan pada setiap peralatan yang ada disertakan petunjuk online.

⦁ Struktur tabel.

MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE

dibandingkan database lainnya semacam PostgreSQL ataupun Oracle.

⦁ Dapat dikoneksikan pada bahasa C, C++, Java, Perl, PHP dan Python.

⦁ Memiliki lebih banyak type data seperti : signed / unsigned integer yang memilikipanjang

data sebesar 1,2,3,4 dan 8 byte, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB,

DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET dan tipeENUM.

⦁ Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY. Mendukung

terhadap fungsi penuh COUNT, COUNT DISTINCT, AVG , STD, SUM, MAX AND MIN.

⦁ Mendukung terhadap LEFT OUTHER JOIN dengan ANSI SQL dan sintak ODBC.

⦁ Mendukung ODBC for Windows 95 (dengan source program). Semua fungsi ODBC2.5

dan sebagainya. Sebagai contoh kita dapat menggunakan Access untuk connect

ke MySQL server.

⦁ Menggunakn GNU automake, autoconf, dan LIBTOOL untuk portabilitas.

⦁ Kita dapat menggabungkan beberapa table dari database yang berbeda dalam query

yang sama.

⦁ Ditulis dengan menggunakan bahasa C dan C++. Diuji oleh compiler yang sangat

jauh berbeda.

⦁ Privilege (hak) dan password sangat fleksibel dan aman serta mengujinkan ‘Host -

Based’ Verifikasi.

C. Kekurangan MySQL

⦁ Untuk koneksi ke bahasa pemrograman visual seperti vb, delphi, dan foxpro,

MySQL kurang support, karena koneksi ini menyebabkan field yang dibaca harus

sesuai dengan koneksi dari program visual tersebut, dan ini yang menyebabkan MySQL

jarang dipakai dalam program visual.

⦁ Data yang ditangani belum begitu besar.

⦁ Kelemahan MySQL dari dulu sampai sekarang itu adalah 'feature-creep', artinya MySQL

berusaha kompatibel dengan beberapa standard serta berusaha memenuhinya.

Sampai sini terdengar bagus, namun kalau diungkapkan kenyataannya bahwa fitur-fitur itu belum

lengkap dan berperilaku sesuai standar.

D. Perintah Dasar MySQL dengan Menggunakan Query Select.

⦁ Select Version.

Perintah query tersebut dipergunakan untuk menampilkan server versi MySQL.

⦁ Select Current_Date.

Perintah query tersebut dipergunakan untuk menampilkan tanggal saat ini.

⦁ Select Now.

Perintah query tersebut dipergunakan untuk menampilkan tanggal dan jam saat ini

⦁ Select User.

Perintah tersebut dipergunakan untuk mengetahui nama user yang bersangkutan dannama client

tempat user melakukan login. Dalam contoh di atas user yangmelakukan login adalah root dan

login melalui komputer lokal server MySQL ( localhost ).

⦁ Select Status.

Perintah query ini tidak digunakan dalam MySQL / menampilkan pesan error saat dijalankan.

⦁ Status

Perintah query ini digunakan untuk menampilkan status MySQL yang sedang digunakan.

⦁ Help.

Perintah query ini digunakan untuk menampilkan perintah - perintah dos yang ada pada MySQL.

⦁ Select (*,/,-,+).

Perintah query ini digunakan untuk operasi aritmatik ( kali, bagi, kurang dan tambah ).

⦁ Select SIN.

Perintah query ini digunakan untuk operasi dalam matematika yang mengubah angka menjadi

derajat Sinus.

⦁ Select COS.

Perintah query ini digunakan untuk operasi dalam matematika yang mengubah angka menjadi

derajat Cosinus.

⦁ Select TAN.

Perintah query ini digunakan untuk operasi dalam matematika yang mengubah angka menjadi

derajat Tangen.

⦁ Select Least.

Fungsi Least digunakan untuk mendapatkan nilai terkecil dari sederetan bilangan atau data yang

ada. Seberapapun jumlah bilangan atau data yang ada, fungsi Leasttetap akan mendapatkan

nilai terkecil.

⦁ Select Greatest.

Fungsi Greatest digunakan untuk mendapatkan nilai terbesar dari sederetan datayang ada.

⦁ Select ABS.

Perintah query ini digunakan untuk mengubah setiap bilangan negatif menjadi bilangan positif.

⦁ Select MOD.

Perintah query ini digunakan untuk menampilkan sisa hasil bagi1.

⦁ Select POW.

Perintah query ini digunakan untuk memangkatkan bilangan.

E. Fitur MySQL

Kalau di seri 3.22 MySQL mulai diadopsi banyak orang dan meningkat populasi penggunanya,

maka di seri 3.23 dan 4.0-lah terjadi banyak peningkatan dari sisi teknologi. Ini tidak terlepas dari

tuntutan pemakai yang semakin mengandalkan MySQL, namun membutuhkan fitur-fitur yang

lebih banyak lagi. Seri 3.23. Di seri 3.23 MySQL menambahkan tiga jenis tabel baru: pertama

MyISAM, yang sampai sekarang menjadi tipe tabel default; kedua BerkeleyDB, yang pertama kali

menambahkan kemampuan transaksi pada MySQL; dan ketiga InnoDB, primadona baru yang

potensial. Seri 4.x.

Di seri yang baru berjalan hingga 4.0 tahap alfa ini, pengembang MySQL berjanji akan

menjadikan MySQL satu derajat lebih tinggi lagi. Fitur-fitur yang sejak dulu diminta akan

dikabulkan, seperti subselek (di 4.1), union (4.0), foreign key constraint (4.0 atau 4.1—meski

InnoDB sudah menyediakan ini di 3.23.x), stored procedure (4.1), view (4.2), cursor (4.1 atau

4.2), trigger (4.1). MySQL AB tetap berdedikasi mengembangkan dan memperbaiki MySQL,

serta mempertahankan MySQL sebagai databaseopen source terpopuler.

F. Tipe Data MYSQL

⦁ Char(M)

Tipe data ini digunakan untuk menyimpan data string dengan jumlah karakter tertentu. Panjang

maksimum karakter tipe data Char harus dinyatakan secara eksplisit seperti contoh berikut:

Judul CHAR(50)

⦁ Varchar(M)

Tipe data ini cocok digunakan untuk menyimpan data string dengan panjang yang bervariasi.

Sama seperti tipe data Char, panjang maksimum karakter yang akan ditampung

dalam field harus dinyatakanTipe Data. Beberapa jenis tipe data dalam MySQL memiliki tipe

tersendiri dalam tiap field di table databasenya.

MySQL mengenal beberapa type data field, yaitu :

1. Tipe data numeric

Tipe data numerik dapat dibedakan menajdi dua kelompok, yaitu tipe data integer dan tipe data

floating point. Tipe data integer untuk data bilangan bulat sedangkan tipe data floating point

digunakan untuk bilangan desimal. Tipe data numeric dapat kita sajikan dalam table di bawah ini :

Tipe data Kisaran nilai

Tinyint (-128) – 127 atau 0-225

Smallint (-32768) – 32767 atau 0 – 65535

Mediumint (-8388608)-8388607 atau 0-16777215

Int (-2147683648)-(2147683647) atau 0-4294967295

Bigint (-9223372036854775808)-(9223372036854775807)

Atau 0 – 18446744073709551615

Float(x) (-3.402823466E+38)-(-1.175494351E-38),0,dan 1.175494351E-38 – 3.402823466E + 38

Float Idem Double (-1.7976E+308)–(-2.22E-308),0,dan(2.22E-308)- (1.79E+308)

Besar kebutuhan memori penyimpanan untuk masing-masing tipe data di atas sebagai berikut :

⦁ Column type Storage required

⦁ TINYINT 1 byte

⦁ SMALLINT 2 bytes

⦁ MEDIUMINT 3 bytes

⦁ INT 4 bytes

⦁ INTEGER 4 bytes

⦁ BIGINT 8 bytes

⦁ FLOAT(4) 4 bytes

⦁ FLOAT(8) 8 bytes

⦁ FLOAT 4 bytes

⦁ DOUBLE 8 bytes

⦁ DOUBLE PRECISION 8 bytes

⦁ REAL 8 bytes

⦁ DECIMAL(M,D) M bytes (D+2, if M < D)

⦁ NUMERIC(M,D) M bytes (D+2, if M < D)

2. Tipe data string

Yang termasuk dalam tipe data string adalah tipe-tipe data berikut : Tipe kolom Kebutuhan

memori penyimpanan

CHAR(M) M bytes, 1 <= M <= 255

VARCHAR(M) L+1 bytes, where L <= M and 1 <= M <= 255

TINYBLOB, TINYTEXT L+1 bytes, where L < 2^8

BLOB, TEXT L+2 bytes, where L < 2^16

MEDIUMBLOB,

MEDIUMTEXT

L+3 bytes, where L < 2^24

LONGBLOB,

LONGTEXT

L+4 bytes, where L < 2^32

ENUM

('value1','value2',...)

1 or 2 bytes, depending on the number of enumeration

values (65535 values maximum)

SET

('value1','value2',...)

1, 2, 3, 4 or 8 bytes, depending on the number of set

members (64 members maximum)

3. Tipe data waktu

Yang termasuk dalam tipe data tanggal dan waktu adalah sebagai berikut :

Column type Storage require

DATETIME 8 bytes

DATE 3 bytes

TIMESTAMP 4 bytes

TIME 3 bytes

YEAR 1 byte

4. Tipe data char() dan varchar() pada prinsipnya sama. Yang menjadi perbedaannya adalah

pada jumlah memori yang dibutuhkan untuk penyimpanan. Memori penyimpanan yang

dibutuhkan tipe data char() bersifat statis, besarnya tergantung pada berapa jumlah karakter

yang ditetapkan pada saat field tersebut dideklarasikan. Sebaliknya, tipe data varchar() besar

memori penyimpanan tergantung terhadap berapa karakter yang digunakan ditambah 1 byte

yang berisi data jumlah karakter yang digunakan.

G. Kumpulan Perintah-perintah Dasar MySQL

⦁ Create Database

Digunakan untuk membuat database baru.

Syntax dasar: CREATE DATABASE database_nama

Contoh: CREATE DATABASE databaseku

⦁ 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)

⦁ 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 buku tamu

Contoh 2: SELECT * FROM buku tamu

⦁ 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 buku tamu

⦁ 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 buku tamu WHERE kota=’PAMULANG’

⦁ 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

⦁ 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”.

⦁ 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’)

⦁ 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.

⦁ 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 buku tamu VALUESm ( 1, ’Arlicious’, ’[email protected]’, ’Tangerang’)

Contoh 2: INSERT INTO buku tamu ( id , nama , email , kota ) VALUES ( 1, ’Arlicious’,

[email protected]’, ’Tangerang’)

⦁ 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=’[email protected]’, kota=’Tangerang’ WHERE

⦁ 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

⦁ 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_name1 INNER 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

⦁ 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

⦁ 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

⦁ 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

⦁ 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

⦁ 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

⦁ Now ()

Digunakan untuk mendapatkan informasi waktu (tanggal dan jam saat ini.)

Syntax dasar : Now()

Contoh : SELECT NOW()

⦁ Curdate

Digunakan unutk mendapatkan informasi tanggal saat ini.

Syntax dasar : Curdate()

Contoh : SELECT CURDATE()

⦁ Curtime()

Digunakan untuk mendapatkan informasi jam saat ini.

Syntax dasar : Curtime()

Contoh : SELECT CURTIME()

⦁ 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

⦁ 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

H. Keterangan Data Type MySQL (Indonesia)

Kuliah pertemuan Kedua (Basis Data) Membahas mengenai kesulitan - kesulitan yang di hadapi

ketika mengerjakan Tugas Basis Data (Part1) ternyata salah satu yang di tanyakan adalah

tentang Data Type. dalam postingan kali ini akan menjelaskan mengenai Keterangan dari masing

- masing Data Type.

Seperti halnya dengan DBMS (Database Management System) maupun RDBMS ( Relasional

Database Manajemen Sistem ) lainnya, MySQL juga memiliki tipe data untuk melakukan

pengaturan record data yang ditanganinya. Untuk itu, Anda dapat melihat daftar dan

penjelasannya pada ketiga tabel berikut:

1. Tipe Data Numerik

Tipe data numerik berisi sekumpulan tipe data sejenis yang mampu menangani data-data

numerik. Berikut ini beberapa tipe data yang digunakan dalamMySQL.

Tabel 1.1 Daftar Tipe Data Numerik

Type Bytes Keterangan

TINYINT

1

Type ini merupakan bentuk numerik yang paling kecil dalam menangani

data di dalamnya, yang dapat menangani data mulai dari anggka –128

sampai dengan 127.

SMALLINT

2

Memiliki kemampuan menyimpan data lebih besar dari TINYINT, yaitu

mampu untuk menangani data mulai dari -32768 sampai dengan 32767.

MEDIUMINT

3

Mampu menangani data mulai dari -8388608 sampai dengan 8388607.

INT

4

Type INT merupakan type yang sangat sering digunakan dalam

pembuatan database, karena type ini dirasakan sangat cukup menampung

dalam menangani data, yaitu mampu menyimpan data mulai dar

i-2147483648 sampai 2147483647.

BIGINT

8

Bentuk terbesar dalam menangani data Numerik, mampu menangani data

mulai dari -9223372036854775808 sampai 9223372036854775807.

2. Tipe Data untuk Penanggalan dan Waktu

Untuk menangani data-data yang berkaitan dengan waktu dan penanggalan, Anda dapat melihat

beberapat tipe pada tabel berikut:

Tabel 2.2 Daftar Tipe Data Tanggal dan Waktu

Type Keterangan

DATETIME Bentuk ini dapat menyimpan dua buah bentuk type data sekaligus, yaitu

penanggalan dan waktu. Bentuk yang dapat diciptakan oleh DATETIME

adalah '0000-00-00 00:00:00'. '0000-00-00’ merupakan bentuk penanggalan

yang dimulai dari tahun, bulan, dan tanggal. Sedangkan 00:00:00 adalah

tempat menyimpan waktu atau jam. Misalnya: ‘2004-06-22 08:15:45’.

DATE Bentuk ini digunakan untuk menyimpan data penanggalan saja, dengan

bentuk penulisan '0000-00-00'. Penggunaan ini mirip seperti pada DATETIME,

hanya saja yang ditampilkan hanya penanggalan saja. Misalnya, ‘2004-06-22’.

TIMESTAMP Bentuk penanggalan dengan TIMESTAMP ditampilkan berjajar tanpa ada

pembatasnya, dengan bentuk penulisan 00000000000000 .

TIME Bentuk TIME hanya digunakan untuk menyimpan data berbentuk jam. Yaitu

dimulai dari tahun yang dibaca dari dua karakter terakhir dan selanjutnya

diikuti bulan dan tanggal .bentuk penulisanya adalah '00:00:00' . pada

prototype pewaktuan tersebut dapat dijabarkan bahwa 00 perma adalah jam

yang diikuti menit dan detik. Contoh 08:35:55 .

YEAR Bentuk yang paling sederhana adalah YEAR yang hanya menyimpan data

berupa tahun saja. Ditulis secara lengkap 4 digit, misalnya: 2004 atau 1999 .

3. Tipe Data String

Dengan menyesuaikan banyaknya data, MySQL telah membagi datanya menjadi beberapa tipe,

sehingga penggunaannya dapat disesuaikan. Perhatikan tabel berikut:

Tabel 3.3 Daftar Tipe Data String

Type Bytes Keterangan

TINYTEXT

255

Type ini merupakan bentuk terkecil dari data String, yang

mampu manangani data sampai dengan 2^8-1 data .

TINYBLOB

255

Bentuk TINYTEXT adalah bentuk yang sama dengan

TINYBLOB , yaitu mampu menangani data sampai dengan

2^8-1 data .

TEXT

65535

Bentuk TEXT salah satu bentuk type String yang mampu

menangani data sampai dengan berukuran 2^16-1 (64K-1)

data.

BLOB

65535

Memiliki kemampuan sama dengan TEXT, yaitu sampai

dengan 2^16-1 (64K-1) data.

MEDIUMTEXT

16777215

Dapat menyimpan data dengan ukuran cukup besar, sampai

dengan 2^24-1 (16M-1) data .

MEDIUMBLOB

16777215

Bentuk MEDIUMTEXT dapat Anda ganti dengan bentuk data

MEDIUMBLOB, yang mampu menyimpan data sampai

dengan 2^24-1 (16M-1) data.

LONGBLOB

4294967295

Type data LONGBLOB adalah bentuk Type data yang paling

besar dalam menangani data. Data yang disimpan sampai

dengan berukuran Giga Byte. Type ini memiliki batasan

penyimpanan sampai dengan 2^32-1 (4G-1) data.

Tabel 4.4 Daftar Tipe Data String yang Sering Digunakan

Type Keterangan

VARCHAR Bentuk ini dapat menyimpan data sampai dengan 225 karakter. Anda dapat

menggunakan type ini apabila data yang dimasukan tidak lebih dari batasan

tersebut.

CHAR Bentuk CHAR hamper sama dengan VARCHAR, mampu menangani data

sampai dengan 225 karakter. Namun, kedua type tersebut sangat signifikan

dalam menyimpan data. Misalnya, Anda membuat kolom dengan Type

VARCHAR(25). Meskipun Anda memasukan data kurang dari 25 digit, tetap

dibaca sebanyak digit yang dimasukkan. Namun, jika Anda menggunakan type

data CHAR(4), meskipun Anda memasukkan digit kurang dari 4, akan tetap

dibaca 4 digit.

ENUM Digunakan untuk validasi. Type data seperti ini, biasanya, kolom ditentukan

terlebih dahulu. Misalnya, pada pembuatan kolom yang isinya mengenai

golongan darah A, B, AB, dan O, bentuk penulisanya adalah

ENUM(‘A’,’B’,’AB’,’O’).Jika memasukkan data tidak sesuai criteria, akan terjadi

kesalahan atau tidak bisa dibaca (kosong).

SET Type data SET sebenarnya memiliki fungsi yang sama dengan type ENUM, yaitu

dengan mendeklarasikan anggota dari isi kolom yang mungkin akan menjadi

anggotanya.

I. Sistem Keamanan pada MySQL

Untuk keamanan pada MySQL, kita harus mengatur hak akses (privilage) dari setiap user karena

tidak semua user dibolehkan untuk mengakses data yang ada.

Cara kerja sistem privilege :

Sistem privilege MySQL memastikan bahwa user dapat melakukan hanya hal-hal yang

diperbolehkan untuk mereka. Ketika anda connect ke server MySQL, identitas anda ditentukan

oleh host tempat anda melakukan koneksi dan username yang anda ingin gunakan. Sistem

memberi privilege sesuai dengan identitas anda dan apa yang ingin ada lakukan.

MySQL mempertimbangkan baik hostname dan username dalam mengidentifikasi karena

mungkin ada alasan untuk menganggap bahwa username yang diberikan adalah milik orang

yang sama dimanapun di Internet. Sebagai contoh, user bill yang connect dari whitehouse.gov

tidak harus orang yang sama dengan user bill yang connect dari microsoft.com. MySQL

menangani hal ini dengan mengijinkan anda untuk menentukan user dari host yang berbeda

yang mungkin namanya sama : anda dapat memberi bill sebuah himpunan privilege untuk

koneksi dari whitehouse.gov, dan himpunan privilege yang lain untuk koneksi dari microsoft.com.

Kendali akses MySQL melibatkan dua tingkat:

⦁ Tingkat 1: server mengecek apakah anda diijinkan untuk connect ke server.

⦁ Tingkat 2: Dianggap anda dapat connect, server mengecek tiap permintaan yang anda

jalankan untuk melihat apakah privilege anda cukup untuk menjalankannya. Contohnya,

jika anda mencoba untuk memilih baris dari tabel dalam database atau menghapus

sebuah tabel dari database, server memastikan bahwa anda memiliki privilege select

untuk tabel tersebut atau privilege drop untuk database.

Dalam database mysql terdapat lima buah tabel yang dapat digunakan untuk mengatur user dan

izin akses masing-masing user-user privileges Yaitu : user, db, host, tables_priv dan

columns_priv. Kelima tabel ini disebut grant tables.

Fungsi dari kelima tabel tersebut :

a) User : Berisi data user yang mendapatkan izin akses MySQL, asal koneksi dan izin akses

kepada user Tingkatan akses : Global

b) Db :Mengatur database apa saja yang dapat diakses oleh seorang user dan jenis izin

aksesnya Tingkatan akses : Database

c) Host : Mengatur asal host yang diperkenankan bagi user untuk mengakses MySQL, jika

lebih dari satu host. Tingkatan akses : Database

d) tables_priv : Mengatur tabel apa saja yang dapat diakses oleh seorang user dan jenis izin

aksesnya Tingkatan akses : Tabel

e) columns_priv : Mengatur kolom (field) apa saja yang dapat diakses oleh seorang user dan

jenis izin aksesnya Tingkatan akses : Kolom – field.

Jenis Izin Akses User - User Privileges

Izin akses bagi user terdirli dari tiga bagian, yaitu :

1. Tingkatan akses user biasa Mencakup izin akses kedalam database atau kolom, yaitu :

a. ALTER

b. CRETATE

c. DELETE

d. DROP

e. INDEX

f. INSERT

g. SELECT

h. UPDATE