Your SlideShare is downloading. ×
1                                      BAB 1                                     MYSQL1.1 PendahuluanMySQL dikembangkan ol...
2prefiks ini sering menjadi prefiks umum kalau seseorang membuat kode kustomtersendiri untuk sesuatu. Kalau Anda betul-bet...
3AUTO_INCREMENT. Sudah ada LIMIT tapi GROUP BY dan ORDER BY memilikiketerbatasan. Dan seterusnya.       Barulah di versi-v...
41.3 Fitur MySQLKalau di seri 3.22 MySQL mulai diadopsi banyak orang dan meningkat populasipenggunanya, maka di seri 3.23 ...
5c. Multi-user, MySQL dapat digunakan oleh beberapa pengguna dalam waktu   yang bersamaan tanpa mengalami masalah atau kon...
6   l. Klien dan Peralatan, MySQL dilengkapi dengan berbagai peralatan (tool) yang        dapat digunakan untuk administra...
7      b. Setiap perintah akan disimpan dalam buffer (memori sementara) untuk         menyimpan histori perintah-perintah ...
8       Sebuah antarmuka ODBC memanggil MyODBC yang memungkinkan setiapbahasa pemrograman yang mendukung ODBC untuk berkom...
9       Dua, dalam pemodelan tidak ada istilah model yang benar atau salah. Yangada adalah model yang tepat dan tidak tepa...
10                                        BAB 2                            SINTAKS DALAM MYSQLBerikut ini akan diberikan p...
11use nama_db;2.1.4 Menampilkan databaseUntuk menampilkan daftar yang ada dalam system saat itu. Sintaksnya :show database...
12         Perintah di atas berarti membuat table peserta dengan kolom No sebagaiPRIMARY KEY yaitu indeks table yang unik ...
13       Sedangkan untuk melihat deskripsi table atau informasi tentang kolomgunakan sintaks :DESC nama_tbl nama_kolomatau...
14Untuk menambah kolom_baru bertipe integer setelah kolom1 digunakan :ALTER TABLE nama_tblADD kolom_baru INT NOT NULL AFTE...
15       Misalnya untuk menambah dua baris pada table profil dengan isi nama =deden & ujang dan isi umur = 17 & 18 adalah ...
162.3.2 Data karakter/stringMerupakan deretan huruf yang membentuk kata yang diapit oleh tanda petik (‗ ‘) atautanda petik...
172.4.1 Tipe numerikTipe ini untuk harga integer dan floating-point. Untuk integer kolom haruslahPRIMARY KEY atau indeks y...
18   f. FLOAT,        berarti    floating-point    dengan   range   kecil   yaitu   antara       +1.175494351E-38 sampai +...
19   d. TEXT, teks yang normal dengan panjang 0 sampai 216-1 byte. Harga default       adalah NULL jika bisa atau ― ― jika...
20a. DATE, untuk kolom tanggal dengan format YYYY-MM-DD dan range antara   ―1000-01-01‖ sampai ―9999-12-31‖. Harga default...
Upcoming SlideShare
Loading in...5
×

Database dan MySQL

2,106

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,106
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
85
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Database dan MySQL"

  1. 1. 1 BAB 1 MYSQL1.1 PendahuluanMySQL dikembangkan oleh sebuah perusahaan Swedia bernama MySQL AB, yangkala itu bernama TcX DataKonsult AB, sejak sekitar 1994–1995, meski cikal bakalkodenya bisa disebut sudah ada sejak 1979. Tujuan mula-mula TcX membuat MySQLpada waktu itu juga memang untuk mengembangkan aplikasi Web untuk klien TcXadalah perusahaan pengembang software dan konsultan database. Kala itu MichaelWidenius, atau ―Monty‖, pengembang satu-satunya di TcX, memiliki aplikasiUNIREG dan rutin ISAM yang dibuat sendiri dan sedang mencari antarmuka SQLuntuk ditempelkan di atasnya. Mula-mula TcX memakai mSQL, atau ―mini SQL‖. Barangkali mSQL adalah satu-satunya kode database open source yangtersedia dan cukup sederhana saat itu, meskipun sudah ada Postgres. Namun ternyata,menurut Monty, mSQL tidaklah cukup cepat maupun fleksibel. Versi pertama mSQLbahkan tidak memiliki indeks. Setelah mencoba menghubungi David Hughes pembuatmSQL dan ternyata mengetahui bahwa David tengah sibuk mengembangkan versidua, maka keputusan yang diambil Monty yaitu membuat sendiri mesin SQL yangantarmukanya mirip dengan mSQL tapi memiliki kemampuan yang lebih sesuaikebutuhan. Lahirlah MySQL. Nama MySQL (baca: mai es ki el) tidak jelas diambil dari mana. Ada yangbilang ini diambil dari huruf pertama dan terakhir nama panggilan Michael Widenius,Monty. Ada lagi yang bilang kata My diambil dari nama putri Monty, yang memangdiberi nama My—karena Monty memang aslinya seorang Finlandia. Tapi sebetulnyakalau source code MySQL dilirik, prefiks my memang sudah terbubuhi di mana-mana
  2. 2. 2prefiks ini sering menjadi prefiks umum kalau seseorang membuat kode kustomtersendiri untuk sesuatu. Kalau Anda betul-betul penasaran mana yang benar,mungkin bisa bertanya langsung kepada Monty. MySQL versi 1.0 dirilis Mei 1996 secara terbatas kepada empat orang. Baru dibulan Oktober versi 3.11.0 dilepas ke publik. Namun mula-mula kode ini tidakdiberikan di bawah lisensi General Public License, melainkan lisensi khusus yangintinya kurang lebih begini: ―Source code MySQL dapat dilihat dan gratis, sertaserver MySQL dapat dipakai tanpa biaya tapi hanya untuk kebutuhan nonkomersial.Untuk kebutuhan komersial (misal : mengemas dan menjual MySQL, ataumenyertakan MySQL dalam program komersial lain) Anda harus bayar lisensi.‖ Sementara distribusi Windows MySQL sendiri dirilis secara shareware.Barulah pada Juni 2000 MySQL AB mengumumkan bahwa sejak versi 3.23.19,MySQL adalah software bebas berlisensi GPL. Artinya, ―Source code MySQL dapatdilihat dan gratis, serta server MySQL dapat dipakai tanpa biaya untuk kebutuhan apapun. Tapi jika Anda memodifikasi source code, Anda juga harus melepasnya di bawahlisensi yang sama, yaitu GPL.‖ Kini perusahaan MySQL AB, yang beranggotakansekitar 10 programmer dan 10 karyawan lain itu, memperoleh pemasukan terutamadari jasa konsultasi seputar MySQL. Versi publik pertama, yang hanya berjalan di Linux dan Solaris serta sebagianbesar masih belum terdokumentasi itu, dengan berangsur-angsur diperbaiki danditambah fitur demi fiturnya tapi tetap dengan fokus utama pengembangan padakelangsingan dan kecepatan. Artinya, fitur yang menyebabkan MySQL menjadilambat tidaklah ditambahkan, atau ditunda dulu, atau ditambahkan tapi menjadi fituryang opsional. Versi awal MySQL ini, meski sudah bisa dipakai untuk aplikasi Websederhana, belumlah memadai sama sekali untuk aplikasi bisnis. Contohnya, JOINsederhana sudah ada, tapi tidak ada HAVING baru di bulan Desember ditambahkan.Sudah ada tipe data TIMESTAMP dan kolom autoupdate, tapi tidak ada system-generated number (sequence) baru di akhir 1996 juga ditambahkan modifier kolom
  3. 3. 3AUTO_INCREMENT. Sudah ada LIMIT tapi GROUP BY dan ORDER BY memilikiketerbatasan. Dan seterusnya. Barulah di versi-versi akhir 3.22—sepanjang 1998–1999—MySQL menjadisemakin popular dan dilirik orang. Stabilitasnya sudah baik. Kecepatannya meningkat.Sudah tersedia di berbagai platform, termasuk Windows. Seri 3.22 ini banyak dipakaidi berbagai instalasi, mungkin hingga sekarang, sehingga MySQL AB tetapmemberikan dukungan technical support untuk seri ini.1.2 Relational Database Management System (RDBMS)MySQL adalah Relational Database Management System (RDBMS) yangdidistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimanasetiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produkturunan yang bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalamdatabase sejak lama, yaitu SQL (Structured Query Language). SQL adalah sebuahkonsep pengoperasian database, terutama untuk pemilihan atau seleksi danpemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudahsecara otomatis. Keandalan suatu sistem database (DBMS) dapat diketahui dari cara kerjaoptimizer-nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh usermaupun program-program aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul dibandingkandatabase server lainnya dalam query data. Hal ini terbukti untuk query yangdilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat dariPostgreSQL dan lima kali lebih cepat dibandingkan Interbase.
  4. 4. 41.3 Fitur MySQLKalau di seri 3.22 MySQL mulai diadopsi banyak orang dan meningkat populasipenggunanya, maka di seri 3.23 dan 4.0-lah terjadi banyak peningkatan dari sisiteknologi. Ini tidak terlepas dari tuntutan pemakai yang semakin mengandalkanMySQL, namun membutuhkan fitur-fitur yang lebih banyak lagi. Seri 3.23. Di seri3.23 MySQL menambahkan tiga jenis tabel baru: pertama MyISAM, yang sampaisekarang menjadi tipe tabel default; kedua BerkeleyDB, yang pertama kalimenambahkan kemampuan transaksi pada MySQL; dan ketiga InnoDB, primadonabaru yang potensial. Seri 4.x. Di seri yang baru berjalan hingga 4.0 tahap alfa ini, pengembang MySQLberjanji akan menjadikan MySQL satu derajat lebih tinggi lagi. Fitur-fitur yang sejakdulu diminta akan dikabulkan, seperti subselek (di 4.1), union (4.0), foreign keyconstraint (4.0 atau 4.1—meski InnoDB sudah menyediakan ini di 3.23.x), storedprocedure (4.1), view (4.2), cursor (4.1 atau 4.2), trigger (4.1). MySQL AB tetapberdedikasi mengembangkan dan memperbaiki MySQL, serta mempertahankanMySQL sebagai database open source terpopuler.1.4 Keistimewaan MySQLSebagai database server yang memiliki konsep database modern, MySQL memilikibanyak sekali keistimewaan. Berikut ini beberapa keistimewaan yang dimiliki olehMySQL, antara lain : a. Portabilitas, MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi. b. Perangkat lunak sumber terbuka, MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis.
  5. 5. 5c. Multi-user, MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.d. Performance tuning, MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.e. Ragam tipe data, MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain- lain.f. Perintah dan Fungsi, MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).g. Keamanan, MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.h. Skalabilitas dan Pembatasan, MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.i. Konektivitas, MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).j. Lokalisasi, MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya.k. Antar Muka, MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
  6. 6. 6 l. Klien dan Peralatan, MySQL dilengkapi dengan berbagai peralatan (tool) yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online. m. Struktur tabel, MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle. Dengan keistimewaan di atas ada beberapa alasan yang menjadikan MySQLsehingga sangat populer, diantaranya : a. Bersifat free dan open source (FOSS). b. Banyak digunakan di web hosting dengan paket yang sangat ekonomis. c. Mendukung berbagai storage engine yang bisa kita ganti pada level table. d. Memiliki komunitas pengguna yang luas dan saling membantu. e. Besar dan luasnya komunitas pengembang / developer MySQL. f. Waktu yang singkat dalam siklus pengembangan dan perbaikan kesalahan. g. Arsitektur yang sangat baik dengan pilihan berbagai storage engine. h. Kaya akan fitur dan utilitas baik dari komunitas maupun korporasi. i. Memiliki support berbayar untuk pelanggan korporasi (corporate customers) sehingga terjamin.1.5 Ketentuan Memberi Perintah dalam MySQLSeperti halnya dalam membuat setiap program kita harus terlebih dahulu mengetahuiketentuan - ketentuan yang harus dibuat dalam memberi perintah kepada programtersebut. Begitu halnya juga seperti MySQL, berikut ini merupakan beberapaketentuan dalam memberi perintah di MySQL : a. Setiap perintah harus diakhiri dengan tanda titik koma (;) atau dengan memberikan perintah g atau G. Namun, pada umumnya user menggunakan tanda titik koma untuk mengakhiri perintah pada MySQL.
  7. 7. 7 b. Setiap perintah akan disimpan dalam buffer (memori sementara) untuk menyimpan histori perintah-perintah yang pernah diberikan. c. Perintah-perintah yang bukan SQL dapat dipendekkan dengan menggunakan dan huruf depan perintah. d. Perintah help atau h digunakan untuk menampilkan daftar dan aturan memberikan perintah di lingkungan MySQL. e. Perintah-perintah dalam lingkungan MySQL tidak menerapkan aturan case sensitive, tetapi case insensitive yaitu perintah bisa dituliskan dalam huruf besar atau pun huruf kecil. f. Aturan case sensitive diterapkan pada penamaan objek-objek dalam database seperti nama database atau nama table, namun aturan ini hanya ada dalam lingkungan Unix dan Linux. g. Untuk melihat perintah-perintah yang sudah pernah kita ketikkan, tekan tombol tanda panah atas.1.6 Bahasa PemrogramanTerdapat beberapa API (Application Programming Interface) tersedia yangmemungkinkan aplikasi-aplikasi komputer yang ditulis dalam berbagai bahasapemrograman untuk dapat mengakses basis data MySQL. Beberapa aplikasi komputer tersebut antara lain: bahasa pemrograman C, C++,C#, bahasa pemrograman Eiffel, bahasa pemrograman Smalltalk, bahasapemrograman Java, bahasa pemrograman Lisp, Perl, PHP, bahasa pemrogramanPython, Ruby, REALbasic dan Tcl.
  8. 8. 8 Sebuah antarmuka ODBC memanggil MyODBC yang memungkinkan setiapbahasa pemrograman yang mendukung ODBC untuk berkomunikasi dengan basisdata MySQL. Kebanyakan kode sumber MySQL dalam ANSI C.1.7 Normalisasi dan PemodelanNormalisasi, skema, entiti-atribut, primary key (PK) dan foreign key (FK), tabel entiti,tabel relasi, OLTP & OLA semuanya adalah istilah-istilah yang umum dijumpaidalam pemodelan fisik database. Sayangnya, banyak programer pemula tidakmemiliki kemampuan modeling. Sehingga jika disuruh mendesain skema database(sekumpulan tabel-tabel beserta nama field dan tipenya) hasilnya tidak optimal bahkanberantakan. Skema yang buruk berakibat terjadinya duplikasi data, tidak scalable,performance yang buruk, tidak memenuhi requirements, dsb. Modeling tentunya tidak bisa diajarkan dalam 1–2 hari. Anda perlu membacabuku-buku mengenai pemodelan database dan belajar dari pengalaman maupun darimodel-model yang sudah ada. Tapi beberapa nasihat yang mungkin bisa saya berikandi sini adalah sebagai berikut : Satu, langkah pertama dalam pemodelan adalah menemukan entiti-entiti. Entitibisa dibilang ―objek‖ yang akan kita geluti. Misalnya, customer, produk, dantransaksi. Setiap entiti umumnya ditaruh dalam satu tabel, tabel ini disebut tabel entiti. Langkah kedua adalah mencari atribut-atribut entiti tersebut. Misalnya tabelcustomers memiliki atribut sapaan, nama, alamat (jalan + kota + kodepos + propinsi +negara), tanggal record ini ditambahkan, dsb. Langkah ketiga adalah mencari relasi di antara entiti-entiti. Umumnya relasiadalah satu dari: 1-1, 1-many, many-many. Misalnya, relasi antara transaksi danproduk adalah many-many, artinya sebuah transaksi pembelian dapat berisi banyakproduk dan sebuah produk tentu saja dapat dibeli dalam lebih dari satu transaksi.Setiap relasi juga akan ditempatkan pada tabel, yaitu tabel relasi.
  9. 9. 9 Dua, dalam pemodelan tidak ada istilah model yang benar atau salah. Yangada adalah model yang tepat dan tidak tepat untuk keperluan tertentu. Misalnya, untukaplikasi sederhana modelnya sederhana. Semakin kompleks aplikasi, model punsemakin rumit (jumlah entiti, relasi, dan atribut akan bertambah). Pada umumnya,seiring kompleksitas bertambah, yang tadinya atribut akan berubah menjadi entitidikarenakan adanya kenyataan hubungan 1-many/many-many antara atribut.Contohnya, tabel customers memiliki atribut alamat. Jika kita ingin mendukungbanyak alamat untuk satu customers, maka alamat akan menjadi entiti dan menempatitabel sendiri. Lalu kita membuat tabel relasi customers-alamat.
  10. 10. 10 BAB 2 SINTAKS DALAM MYSQLBerikut ini akan diberikan pengenalan tentang sintaks SQL dalam MySQL yangsederhana dan paling sering digunakan baik untuk penggunaan biasa ataupun untukadministratif. Berikut adalah beberapa sintaks dasar SQL dalam MySQL.2.1 Level Database2.1.1 Membuat databaseUntuk membuat database baru, sehingga tidak berlaku jika database sudah ada atauanda tidak memiliki privilege. Sintaksnya :create database nama_db;2.1.2 Menghapus databaseUntuk menghapus database beserta seluruh table di dalamnya. Perintah ini tidakberlaku jika database tidak ada atau anda tidak memiliki privilege. Sintaksnya :drop database nama_db;2.1.3 Menggunakan databaseUntuk menjadikan database menjadi default dan referensi dari table yang nantinyaanda gunakan. Perintah ini tidak berlaku jika database tidak ada atau anda tidakmemiliki privilege. Sintaksnya :
  11. 11. 11use nama_db;2.1.4 Menampilkan databaseUntuk menampilkan daftar yang ada dalam system saat itu. Sintaksnya :show databases;2.2 Level Tabel2.2.1 Membuat tabelUntuk membuat table minimal anda harus menentukan namanya dan tipe kolom yanganda inginkan. Sintaks yang paling sederhana (tanpa ada definisi lain) adalah :CREATE TABLE nama_tbl(kolom1 tipekolom1(),kolom2 tipekolom2(), …) Contoh, Anda ingin membuat table dengan nama profil yang memiliki kolomnama (bertipe char, lebar 20), kolom umur (bertipe integer), kolom jenis_kelamin(bertipe enum, berisi M dan F). Sintaksnya :CREATE TABLE profil (nama CHAR(20), umur INT NOT NULL,jenis_kelamin ENUM(‗F‘,‘M‘) ) Sedangkan perintah yang agak lengkap dalam membuat sebuah table adalahdengan menyertakan definisi tertentu. Misalnya perintah seperti ini :CREATE TABLE peserta (Nama CHAR(30) NOT NULL,BidangStudi ENUM(‗TS‘,‘WD‘) NOT NULL,PRIMARY KEY (No),INDEX (Nama, BidangStudi) )
  12. 12. 12 Perintah di atas berarti membuat table peserta dengan kolom No sebagaiPRIMARY KEY yaitu indeks table yang unik yang tidak bisa diduplikat denganatribut AUTO_INCREMENT yaitu kolom yang otomatis dapat mengurutkan angkayang diisikan padanya. Sedangkan kolom Nama dan BidangStudi dijadikan indeksbiasa.2.2.2 Membuat indeks pada tabelMenambahkan indeks pada table yang sudah ada baik yang unik ataupun yang biasa.Sintaksnya :CREATE INDEX nama_index ON nama_tbl (nama_kolom)CREATE UNIQUE INDEX nama_index ON nama_tbl (nama_kolom)2.2.3 Menghapus tabelUntuk menghapus table dalam database tertentu. Jika dilakukan maka semua isi,indeks dan atribut lain akan terhapus. Sintaksnya :DROP TABLE nama_tbl2.2.4 Menghapus indeksUntuk menghapus indeks pada suatu table. Sintaksnya :DROP INDEX nama-index ON nama_tbl2.2.5 Melihat informasi tabelUntuk melihat table apa saja yang ada di database tertentu. Sintaksnya :SHOW TABLES FROM nama_db
  13. 13. 13 Sedangkan untuk melihat deskripsi table atau informasi tentang kolomgunakan sintaks :DESC nama_tbl nama_kolomatauSHOW COLUMNS FROM nama_tbl FROM nama_db2.2.6 Mendapatkan atau menampilkan informasi dari tabelUntuk menampilkan isi table dengan option-option tertentu. Misalnya untukmenampilkan seluruh isi table digunakan :SELECT * FROM nama_tblUntuk menampilkan kolom-kolom tertentu saja :SELECT kolom1,kolom2,... FROM nama_tblUntuk menampilkan isi suatu kolom dengan kondisi tertentuSELECT kolom1 FROM nama_tbl WHERE kolom2=isikolom2.2.7 Modifikasi struktur tabelDapat digunakan untuk mengganti nama table atau mengubah strukturnya sepertimanambah kolom atau indeks, menghapus kolom atau indeks, mengubah tipe kolomdsb. Sintaks umum :ALTER TABLE nama_tbl actionUntuk menambah kolom baru di tempat tertentu dapat menggunakan :ALTER TABLE nama_tblADD kolom_baru type() definisi
  14. 14. 14Untuk menambah kolom_baru bertipe integer setelah kolom1 digunakan :ALTER TABLE nama_tblADD kolom_baru INT NOT NULL AFTER kolom1Untuk menambah indeks baru pada table tertentu baik yang unik ataupun 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) Untuk mengubah nama kolom dan definisinya, misalnya mengubah namakolom_baru dengan tipe integer menjadi new_kolom dengan tipe char dengan lebar 30digunakan:ALTER TABLE nama_tblCHANGE kolom_baru new_kolom CHAR(30) NOT NULL Untuk menghapus suatu kolom dan seluruh atributnya, misal menghapuskolom1 :ALTER TABLE nama_tbl DROP kolom1Untuk menghapus indeks baik yang unik ataupun yang biasa digunakan :ALTER TABLE nama_tbl DROP nama_indexALTER TABLE nama_tbl DROP PRIMARY KEY2.2.8 Modifikasi informasi dalam tabelUntuk menambah record atau baris baru dalam table, sintaksnya :INSERT INTO nama_tbl (nama_kolom) VALUES (isi_kolom)atauINSERT INTO nama_tbl SET nama_kolom=isi_kolom
  15. 15. 15 Misalnya untuk menambah dua baris pada table profil dengan isi nama =deden & ujang dan isi umur = 17 & 18 adalah :INSERT INTO profil (nama,umur) VALUES (deden,17), (ujang,18)atauINSERT INTO profil SET nama=deden, umur=17INSERT INTO profil SET nama=ujang, umur=18 Untuk memodifikasi record atau baris yang sudah ada yang bersesuaiandengan suatu kolom. Misalnya untuk mengubah umur deden menjadi 18 pada contohdi atas dapat digunakan sintaks :UPDATE profil SET umur=18 WHERE nama=deden Untuk menghapus record atau baris tertentu dalam suatu table. Misalnya untukmenghapus baris yang ada nama ujang digunakan sintaks :DELETE FROM profil WHERE nama=ujangJika WHERE tidak disertakan maka semua isi dalam table profil akan terhapus.2.3 Tipe-tipe Dalam MySQLMySQL dapat mengetahui beberapa tipe data antara lain :2.3.1 Data numerikMySQL dapat menerima masukan berupa angka-angka yang dibagi atas integer(angka tanpa pecahan) dan floating-point (angka dengan pecahan). MySQL jugamengerti notasi scientific yaitu integer atau floating-point yang diikuti tanda ‗e‘ atau‗E‘, tanda ‗+‘ atau ‗-‗. Misalnya angka 1.34E+12 atau 3.23e-5.
  16. 16. 162.3.2 Data karakter/stringMerupakan deretan huruf yang membentuk kata yang diapit oleh tanda petik (‗ ‘) atautanda petik ganda (― ‖).2.3.3 Data waktuMerupakan 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 denganformat hh:mm:ss.2.4 Tipe-tipe Kolom MySQLSetiap table yang dibuat dalam database selalu terdiri atas kolom-kolom. Katika andamembuatnya dengan perintah CREATE TABLE, anda harus menentukan tipe masing-masing kolom. Tiap tipe kolom memiliki karakteristik berikut : a. Jenis harga apa yang dapat diisikan b. Berapa banyak ruang yang dapat menampung harga tersebut c. Bagaimana harga dari tipe tersebut dibandingkan dan disaring d. Apakah tipe tersebut boleh mengisi dengan NULL atau tidak e. Apakah tipe tersebut boleh diindeks atau tidakSecara garis besar kolom MySQL terbagi menjadi tiga tipe yaitu : a. Tipe kolom Numerik b. Tipe kolom Karakter/String c. Tipe kolom Waktu
  17. 17. 172.4.1 Tipe numerikTipe ini untuk harga integer dan floating-point. Untuk integer kolom haruslahPRIMARY KEY atau indeks yang unik jika ia diberi atribut AUTO_INCREMENT(dapat otomatis mengurutkan angka). Jika diberikan atribut UNSIGNED berarti angkatidak boleh negatif. Sedangkan atribut ZEROFILL menandakan bahwa angka diawalidengan angka nol. a. TINYINT, berarti integer dengan range yang sangat kecil yaitu –27 sampai 27-1 atau 0 sampai 28-1 jika UNSIGNED. Atribut yang dibolehkan adalah AUTO_INCREMENT,UNSIGNED, dan ZEROFILL. Harga default adalah NULL jika bisa atau 0 jika NOT NULL dengan peyimpanan 1 byte. b. SMALLINT, berarti integer dengan range yang kecil yaitu –215 sampai 215-1 atau 0 sampai 216-1 jika UNSIGNED. Atribut yang dibolehkan adalah AUTO_INCREMENT,UNSIGNED, dan ZEROFILL. Harga default adalah NULL jika bisa atau 0 jika NOT NULL dengan peyimpanan 2 byte. c. MEDIUMINT, berarti integer dengan range yang sangat kecil yaitu –223 sampai 223-1 atau 0 sampai 224-1 jika UNSIGNED. Atribut yang dibolehkan adalah AUTO_INCREMENT,UNSIGNED, dan ZEROFILL. Harga default adalah NULL jika bisa atau 0 jika NOT NULL dengan peyimpanan 3 byte. d. INT, berarti integer dengan range yang normal yaitu –231 sampai 231-1 atau 0 sampai 232-1 jika UNSIGNED. Atribut yang dibolehkan adalah AUTO_INCREMENT,UNSIGNED, dan ZEROFILL. Harga default adalah NULL jika bisa atau 0 jika NOT NULL dengan peyimpanan 4 byte. e. BIGINT, berarti integer dengan range yang sangat kecil yaitu –263 sampai 263-1 atau 0 sampai 264-1 jika UNSIGNED. Atribut yang dibolehkan adalah AUTO_INCREMENT,UNSIGNED, dan ZEROFILL. Harga default adalah NULL jika bisa atau 0 jika NOT NULL dengan peyimpanan 8 byte.
  18. 18. 18 f. FLOAT, berarti floating-point dengan range kecil yaitu antara +1.175494351E-38 sampai +3.402823466E+38 serta dengan single presisi. Atribut yang dibolehkan adalah ZEROFILL. Harga default NULL jika bisa atau 0 jika NOT NULL. Tempat penyimpanan 4 byte. g. DOUBLE, berarti floating-point dengan range besar yaitu antara +2.22507385072014E-308 sampai +1.7976931348623157E308 serta dengan double presisi. Atribut yang dibolehkan adalah ZEROFILL. Harga default NULL jika bisa atau 0 jika NOT NULL. Tempat penyimpanan 8 byte. h. DECIMAL(M,D) atau NUMERIC(M,D), berarti floating-point yang tersimpan sebagai string (1 byte untuk setiap digit, tanda desimal, atau tanda ‘-‗). Range harga sama seperti DOUBLE. Atribut yang dibolehkan adalah ZEROFILL. Tempat penyimpanan sebesar M byte. Jika D diisi 0 berarti tidak punya nilai desimal.2.4.2 Tipe stringTipe data berikut ini merupakan tipe data yang digunakan sebagai tempatpenyimpanan karakter, antara lain : a. CHAR(M), karakter dengan panjang 0 sampai M byte. Atribut yang dibolehkan adalah BINARY. Harga default adalah NULL jika bisa atau ― ― jika NOT NULL. Tempat pemyimpanan M byte. b. VARCHAR, variabel karakter dengan panjang 0 sampai M byte. Atribut yang dibolehkan adalah BINARY. Harga default adalah NULL jika bisa atau ― ― jika NOT NULL. Tempat pemyimpanan M+1 byte. c. TINYTEXT, teks berukuran kecil dengan panjang 0 sampai 28-1 byte. Harga default adalah NULL jika bisa atau ― ― jika NOT NULL. Tempat penyimpanan sebanyak panjang harga plus 1 byte.
  19. 19. 19 d. TEXT, teks yang normal dengan panjang 0 sampai 216-1 byte. Harga default adalah NULL jika bisa atau ― ― jika NOT NULL. Tempat penyimpanan sebanyak panjang harga plus 2 byte. e. MEDIUMTEXT Teks berukuran sedang dengan panjang 0 sampai 224-1 byte. Harga default adalah NULL jika bisa atau ― ― jika NOT NULL. Tempat penyimpanan sebanyak panjang harga plus 3 byte. f. LONGTEXT, teks berukuran besar dengan panjang 0 sampai 232-1 byte. Harga default adalah NULL jika bisa atau ― ― jika NOT NULL. Tempat penyimpanan sebanyak panjang harga plus 4 byte. g. ENUM(―harga1‖,‖harga2‖,…), berarti kolom hanya boleh diisi dengan salah satu dari harga yang ada. Harga default adalah NULL jika bisa atau harga1 jika NOT NULL. Tempat penyimpanan adalah 1 byte untuk enumerasi dengan anggota 1 sampai 255 dan 2 byte untuk enumerasi dengan anggota 256 sampai 65535. h. SET(―harga1‖,‖harga2‖,…), berarti kolom boleh dikosongi atau diisi dengan beberapa harga dari daftar harga yang ada. Harga default adalah NULL jika bisa atau ‖ ― jika NOT NULL. Tempat penyimpanan adalah 1 byte untuk set dengan anggota 1 sampai 8, 2 byte untuk set dengan anggota 9 sampai 16, 3 byte untuk set dengan anggota 17 sampai 24, 4 byte untuk set dengan anggota 25 sampai 32, atau 8 byte untuk set dengan anggota 33 sampai 64.2.4.3 Tipe WaktuTipe data berikut ini merupakan tipe data yang digunakan sebagai tempatpenyimpanan data waktu, antara lain :
  20. 20. 20a. DATE, untuk kolom tanggal dengan format YYYY-MM-DD dan range antara ―1000-01-01‖ sampai ―9999-12-31‖. Harga default adalah NULL jika bisa atau ―0000-00-00‖ jika NOT NULL. Tempat penyimpanan 3 byte.b. TIME, untuk kolom jam dengan format hh:mm:ss atau -hh:mm:ss untuk harga negatif. Range harga antara ―-838:59:59‖ sampai ―838:59:59‖. Harga default adalah NULL jika bisa atau ―00:00:00‖ jika NOT NULL. Tempat penyimpanan 3 byte.c. DATETIME, gabungan antar hari dan jam dengan format YYYY-MM-DD hh:mm:ss dan range antar ―1000-01-01 00:00:00‖ sampai ―9999-12-31 23:59:59‖. Harga default adalah NULL jika bisa atau ―0000-00-00 00:00:00‖ jika NOT NULL. Tempat penyimpanan 8 byte.d. TIMESTAMP, hampir sama dengan DATETIME tapi dengan format YYYYMMDDhhmmss dan range antara 19700101000000 sampai suatu saat di tahun 2037. Harga default adalah hari dan jam saat itu. Tempat penyimpanan 4 byte.e. YEAR, untuk kolom tahun dengan format YYYY dan range antara 1900 sampai 2155. Harga default adalah NULL jika bisa atau 0000 jika NOT NULL. Tempat penyimpanan 3 byte.

×