TRAINING
AND CERTIFICATION
Modul 3
Tujuan:
Siswa dapat membuat database dan
table sederhana yang dilengkapi
beberapa kolom dengan tipe tertentu.
Siswa dapat menerapkan sintaks dasar
SQL dalam MySQL baik dalam level
database maupun level table.
Siswa dapat memulai dan
menghent ikan server MySQL
Siswa dapat mengatur dan memelihara
(maintenance) user account MySQL
1. Pendahuluan
Dalam modul ini yang paling pent ing adalah dengan memper banyak lat ihan dan
mempr akt ekkan semua yang t elah disampaikan. Disini hanya akan diber ikan
pengenalan t ent ang sint aks SQL dalam MySQL yang seder hana dan paling ser ing
Membuat database
Unt uk membuat dat abase bar u, sehingga t idak ber laku j ika dat abase sudah
Sintaksnya :
CREATE DATABASE nama_db
Menghapus database
Unt uk menghapus dat abase beser t a selur uh t able di dalamnya. Per int ah ini
t idak ber laku j ika dat abase t idak ada at au anda t idak memiliki pr ivilege.
Sintaksnya :
DROP DATABASE nama_db
Menggunakan database
Unt uk menj adikan dat abase menj adi def ault dan r ef er ensi dar i t able yang
nantinya anda gunakan. Perintah ini tidak berlaku jika database tidak ada atau
Menampilkan database
Untuk menampilkan daftar yang ada dalam system saat itu. Sintaksnya :
SHOW DATABASES
b. Level Tabel
Membuat table
Untuk membuat table minimal anda harus menentukan namanya dan tipe kolom
yang anda inginkan. Sint aks yang paling seder hana (t anpa ada def inisi lain)
adalah :
CREATE TABLE nama_tbl
(kolom1 tipekolom1(),kolom2 tipekolom2(), …)
Cont oh : Anda ingin membuat t able dengan nama profil yang memiliki kolom
nama (ber t ipe char , lebar 20), kolom umur (ber t ipe int eger ), kolom
Sedangkan per int ah yang agak lengkap dalam membuat sebuah t able adalah
PRI MARY KEY yait u indeks t able yang unik yang t idak bisa diduplikat dengan
Menambahkan indeks pada t able yang sudah ada baik yang unik at aupun yang
biasa.
Menghapus table
Unt uk menghapus t able dalam dat abase t er t ent u. J ika dilakukan maka semua
Menghapus indeks
Untuk menghapus indeks pada suatu table. Sintaksnya :
DROP INDEX nama-index ON nama_tbl
Untuk melihat table apa saja yang ada di database tertentu. Sintaksnya :
SHOW TABLES FROM nama_db
Sedangkan unt uk melihat deskr ipsi t able at au inf or masi t ent ang kolom gunakan
sintaks :
DESC nama_tbl nama_kolom
atau SHOW COLUMNS FROM nama_tbl FROM nama_db
+---------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+---------------+------+-----+---------+-------+
| nama | char(20) | YES | | NULL | |
| umur | int(11) | | | 0 | |
| jenis_kelamin | enum('F','M') | YES | | NULL | |
+---------------+---------------+------+-----+---------+-------+
3 rows in set (0.02 sec)
Unt uk menampilkan isi t able dengan opt ion-option t er t ent u. Misalnya unt uk
Unt uk menambah indeks bar u pada t able t er t ent u baik yang unik at aupun
yang biasa:
ALTER TABLE nama_tbl ADD INDEX nama_index (nama_kolom)
ALTER TABLE nama_tbl ADD UNIQUE nama_indeks (nama_kolom)
ALTER TABLE nama_tbl ADD PRIMARY KEY nama_indeks
(nama_kolom)
Unt uk mengubah nama kolom dan def inisinya, misalnya mengubah nama
kolom_bar u dengan t ipe int eger menj adi new_kolom dengan t ipe char dengan
lebar 30 digunakan:
ALTER TABLE nama_tbl
CHANGE kolom_baru new_kolom CHAR(30) NOT NULL
Unt uk menghapus suat u kolom dan selur uh at r ibut nya, misal menghapus
kolom1 :
ALTER TABLE nama_tbl DROP kolom1
Untuk menghapus indeks baik yang unik ataupun yang biasa digunakan :
ALTER TABLE nama_tbl DROP nama_index
ALTER TABLE nama_tbl DROP PRIMARY KEY
Misalnya unt uk menambah dua bar is pada t able profil dengan isi nama =
dengan suat u kolom. Misalnya unt uk mengubah umur deden menj adi 18 pada
terhapus.
Data Numerik
MySQL juga mengerti notasi scientific yaitu integer atau floating-point yang
diikuti tanda ‘e’ atau ‘E’, tanda ‘+’ atau ‘-‘. Misalnya angka 1.34E+12 atau 3.23e-
5.
Data Karakter/String
Merupakan deretan huruf yang membentuk kata yang diapit oleh tanda petik
Data Waktu
Merupakan data yang berisi tanggal (date) dan jam (time) misalnya “2001-10-
15” untuk tanggal dengan format YYYY-MM-DD dan “12:45:15” untuk jam
NULL berarti kosong atau tidak diisi data atau bisa juga berarti data yang
membuat nya dengan per int ah CREATE TABLE, anda har us menent ukan t ipe masing-
Secara garis besar kolom MySQL terbagi menjadi tiga tipe yaitu :
Tipe ini unt uk har ga int eger dan f loat ing-point . Unt uk int eger kolom har uslah
PRI MARY KEY at au indeks yang unik j ika ia diber i at r ibut AUTO_I NCREMENT
(dapat ot omat is mengur ut kan angka). J ika diber ikan at r ibut UNSI GNED ber ar t i
angka t idak boleh negat if . Sedangkan at r ibut ZEROFI LL menandakan bahwa angka
TINYINT
Berarti integer dengan range yang sangat kecil yaitu –2 7 sampai 27 -1 atau 0
NULL jika bisa atau 0 jika NOT NULL dengan peyimpanan 1 byte.
SMALLINT
Ber ar t i int eger dengan r ange yang kecil yait u –2 15 sampai 2 15-1 at au 0 sampai
AUTO_I NCREMENT,UNSI GNED, dan ZEROFI LL. Har ga def ault adalah
NULL jika bisa atau 0 jika NOT NULL dengan peyimpanan 2 byte.
Berarti integer dengan range yang sangat kecil yaitu –2 23 sampai 223-1 atau 0
NULL jika bisa atau 0 jika NOT NULL dengan peyimpanan 3 byte.
INT
Berarti integer dengan range yang normal yaitu –2 31 sampai 231-1 atau 0
NULL jika bisa atau 0 jika NOT NULL dengan peyimpanan 4 byte.
BIGINT
Berarti integer dengan range yang sangat kecil yaitu –2 63 sampai 263-1 atau 0
NULL jika bisa atau 0 jika NOT NULL dengan peyimpanan 8 byte.
FLOAT
dibolehkan adalah ZEROFI LL. Har ga def ault NULL j ika bisa at au 0 j ika NOT
DOUBLE
double pr esisi. At r ibut yang dibolehkan adalah ZEROFI LL. Har ga default
NULL jika bisa atau 0 jika NOT NULL. Tempat penyimpanan 8 byte.
Ber ar t i f loat ing-point yang t er simpan sebagai st r ing (1 byt e unt uk set iap
digit , t anda desimal, at au t anda ’-‘). Range har ga sama seper t i DOUBLE.
CHAR(M)
Kar akt er dengan panj ang 0 sampai M byt e. At r ibut yang dibolehkan adalah
BI NARY. Har ga def ault adalah NULL j ika bisa at au “ “ j ika NOT NULL.
VARCHAR
Var iabel kar akt er dengan panj ang 0 sampai M byt e. At r ibut yang dibolehkan
adalah BI NARY. Har ga def ault adalah NULL j ika bisa at au “ “ j ika NOT
TINYTEXT
Teks ber ukur an kecil dengan panj ang 0 sampai 2 8 -1 byt e. Har ga def ault
adalah NULL jika bisa atau “ “ jika NOT NULL. Tempat penyimpanan sebanyak
TEXT
Teks yang nor mal dengan panj ang 0 sampai 2 16-1 byt e. Har ga def ault adalah
MEDIUMTEXT
Teks ber ukur an sedang dengan panj ang 0 sampai 2 24-1 byt e. Har ga def ault
adalah NULL jika bisa atau “ “ jika NOT NULL. Tempat penyimpanan sebanyak
LONGTEXT
Teks ber ukur an besar dengan panj ang 0 sampai 2 32-1 byt e. Har ga def ault
adalah NULL jika bisa atau “ “ jika NOT NULL. Tempat penyimpanan sebanyak
ENUM(“harga1”,”harga2”,…)
Ber ar t i kolom hanya boleh diisi dengan salah sat u dar i har ga yang ada. Har ga
def ault adalah NULL j ika bisa at au har ga1 j ika NOT NULL. Tempat
penyimpanan adalah 1 byt e unt uk enumer asi dengan anggot a 1 sampai 255 dan
Ber ar t i kolom boleh dikosongi at au diisi dengan beber apa har ga dar i daf t ar
harga yang ada. Harga default adalah NULL jika bisa atau ” “ jika NOT NULL.
byt e unt uk set dengan anggot a 9 sampai 16, 3 byt e unt uk set dengan anggot a
17 sampai 24, 4 byt e unt uk set dengan anggot a 25 sampai 32, at au 8 byt e
DATE
Unt uk kolom t anggal dengan f or mat YYYY-MM-DD dan r ange ant ar a “1000-
01-01” sampai “9999-12-31”. Har ga def ault adalah NULL j ika bisa at au
TIME
negat if . Range har ga ant ar a “-838:59:59” sampai “838:59:59”. Har ga def ault
adalah NULL j ika bisa at au “00:00:00” j ika NOT NULL. Tempat penyimpanan
3 byte.
DATETIME
def ault adalah NULL j ika bisa at au “0000-00-00 00:00:00” j ika NOT NULL.
TIMESTAMP
dan r ange ant ar a 19700101000000 sampai suat u saat di t ahun 2037. Har ga
default adalah hari dan jam saat itu. Tempat penyimpanan 4 byte.
YEAR
Unt uk kolom t ahun denga f or mat YYYY dan r ange ant ar a 1900 sampai 2155.
Har ga def ault adalah NULL j ika bisa at au 0000 j ika NOT NULL. Tempat
penyimpanan 3 byte.