Upload
others
View
15
Download
0
Embed Size (px)
Citation preview
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