Free MP3 Download - .:CLOSE:.

Pengenalan Sintaks Dasar SQL dalam MySQL

1. Pendahuluan

Dalammodul ini yang paling penting adalah dengan memperbanyak latihan danmempraktekkan semua yang telah disampaikan. Disini hanya akan diberikanpengenalan tentang sintaks SQL dalam MySQL yang sederhana dan paling seringdigunakan baik untuk penggunaan biasa ataupun untuk administratif.

Berikut adalah beberapa sintaks dasar SQL dalam MySQL

a. Level Database

  • Membuat database

Untuk membuat database baru, sehingga tidak berlaku jikadatabase sudah ada atau anda tidak memiliki privilege.

Sintaksnya:

CREATE DATABASE nama_db

  • Menghapus database

Untuk menghapus database beserta seluruh table didalamnya. Perintah ini tidak berlaku jika database tidak ada atau anda tidakmemiliki  privilege. Sintaksnya:

DROP DATABASE nama_db

  • Menggunakan database

Untuk menjadikan database menjadi default dan referensidari table yang nantinya anda gunakan. Perintah ini tidak berlaku jika databasetidak ada atau anda tidak memiliki privilege. Sintaksnya :

USE nama_db

  • Menampilkan database

Untuk menampilkan daftar yang ada dalam system saat itu. Sintaksnya:

SHOWDATABASES

       Tampilannya adalah :

            +-----------+

|Database  |

+-----------+

|contoh_db |

|mysql     |

|test      |

|ujian     |

+-----------+

4rows in set (0.00 sec)

b. Level Tabel

  • Membuat table

Untuk membuat table minimal anda harus menentukan namanyadan tipe kolom yang anda inginkan. Sintaks yang paling sederhana (tanpa adadefinisi lain) adalah :

CREATE TABLE nama_tbl

(kolom1 tipekolom1(),kolom2tipekolom2(), …)

Contoh : Anda ingin membuat table dengan nama profil yang memiliki kolom nama (bertipe char, lebar 20), kolom umur (bertipe integer), kolom jenis_kelamin (bertipe enum, berisi M dan F). Sintaksnya:

                        CREATETABLE profil (

namaCHAR(20), umur INT NOT NULL,

jenis_kelaminENUM(‘F’,’M’) )

Sedangkanperintah yang agak lengkap dalam membuat sebuah table adalah dengan menyertakandefinisi tertentu. Misalnya perintah seperti ini :

             CREATE TABLE peserta (

                 No SMALLINT UNSIGNED NOT NULLAUTO_INCREMENT,

                 Nama CHAR(30) NOT NULL,

                 BidangStudi ENUM(‘TS’,’WD’) NOTNULL,

                 PRIMARY KEY (No),

                 INDEX (Nama, BidangStudi)  )

Perintahdi atas berarti membuat table peserta dengan kolom No sebagai PRIMARY KEY yaitu indeks table yangunik yang tidak bisa diduplikat dengan atribut AUTO_INCREMENT yaitukolom yang otomatis dapat mengurutkan angka yang diisikan padanya. Sedangkankolom Nama dan BidangStudi dijadikan indeks biasa.

  • Membuat indeks pada table

Menambahkan indeks pada table yang sudah ada baik yangunik ataupun yang biasa.

Sintaksnya :

       CREATE INDEXnama_index ON nama_tbl (nama_kolom)

       CREATE UNIQUEINDEX nama_index ON nama_tbl (nama_kolom)

  • Menghapus table

Untuk menghapus table dalam database tertentu. Jikadilakukan maka semua isi, indeks dan atribut lain akan terhapus. Sintaksnya :

            DROPTABLE nama_tbl

  • Menghapusindeks

Untukmenghapus indeks pada suatu table. Sintaksnya :

       DROPINDEX nama-index ON nama_tbl

Melihatinformasi table

Untukmelihat table apa saja yang ada di database tertentu. Sintaksnya :

SHOW TABLES FROM nama_db

Sedangkan untuk melihat deskripsi table atau informasitentang kolom gunakan sintaks :           

DESC nama_tbl nama_kolom

            atau      SHOW COLUMNS FROM nama_tbl FROM nama_db

           

Misal untuk contoh di atas akan ditampilkan :

            +---------------------+

|Tables_in_contoh_db |

+---------------------+

|peserta             |

|profil              |

+---------------------+

2rows in set (0.00 sec)

+---------------+---------------+------+-----+---------+-------+

|Field         | Type          | Null | Key | Default | Extra |

+---------------+---------------+------+-----+---------+-------+

|nama          | char(20)      | YES |     | NULL    |      |

|umur          | int(11)       |     |     | 0       |      |

|jenis_kelamin | enum('F','M') | YES |     | NULL    |      |

+---------------+---------------+------+-----+---------+-------+

3rows in set (0.02 sec)

  • Mendapatkan ataumenampilkan informasi dari table

Untuk menampilkan isi table dengan option-optiontertentu. Misalnya untuk menampilkan seluruh isi table digunakan :

SELECT * FROM nama_tbl

            Untuk menampilkan kolom-kolom tertentu saja :

SELECT kolom1,kolom2,... FROMnama_tbl

            Untuk menampilkan isi suatu kolom dengan kondisi tertentu

SELECT kolom1 FROM nama_tbl WHERE kolom2=isikolom

  • Modifikasi struktur table

Dapatdigunakan untuk mengganti nama table atau mengubah strukturnya seperti manambahkolom atau indeks, menghapus kolom atau indeks, mengubah tipe kolom dsb. Sintaks umum :

            ALTER TABLE nama_tbl action

            Untuk menambah kolom baru di tempat tertentu dapatmenggunakan :

                        ALTER TABLE nama_tbl

                     ADD kolom_barutype() definisi

Untuk menambah kolom_baru bertipeinteger setelah kolom1 digunakan :

       ALTER TABLEnama_tbl

ADD kolom_baru INT NOT NULLAFTER kolom1

Untuk menambah indeks baru pada table tertentu baik yangunik ataupun yang biasa:

            ALTER TABLE nama_tbl ADD INDEX nama_index (nama_kolom)

       ALTER TABLEnama_tbl ADD UNIQUE nama_indeks (nama_kolom)

       ALTER TABLEnama_tbl ADD PRIMARY KEY nama_indeks (nama_kolom)

Untuk mengubah nama kolom dan definisinya, misalnyamengubah nama kolom_baru dengan tipe integer menjadi new_kolom dengan tipe chardengan lebar 30 digunakan:

                        ALTER TABLE nama_tbl

                     CHANGE kolom_barunew_kolom CHAR(30) NOT NULL

Untuk menghapus suatu kolom dan seluruh atributnya, misalmenghapus kolom1 :

            ALTER TABLE nama_tbl DROP kolom1

Untuk menghapus indeks baik yang unik ataupun yang biasadigunakan :

       ALTER TABLEnama_tbl DROP nama_index

       ALTERTABLE nama_tbl DROP PRIMARY KEY

  • Modifikasi informasi dalam table.

Untukmenambah record atau baris baru dalam table, sintaksnya :

            INSERT INTO nama_tbl (nama_kolom) VALUES (isi_kolom)

atau   INSERT INTO nama_tbl SET nama_kolom=isi_kolom

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)

atau  INSERTINTO profil SET nama=deden, umur=17

       INSERT INTO profil SET nama=ujang,umur=18

Untukmemodifikasi record atau baris yang sudah ada yang bersesuaian dengan suatukolom. Misalnya untuk mengubah umur deden menjadi 18 pada contoh di atas dapatdigunakan sintaks :

                        UPDATEprofil SET umur=18 WHERE nama=deden

Untuk menghapus record atau baris tertentudalam suatu table. Misalnya untuk menghapus baris yang ada nama ujang digunakan sintaks :

              DELETEFROM profil WHERE nama=ujang

            JikaWHERE tidak disertakan maka semua isi dalam table profil akan terhapus.

2. Tipe-tipe data MySQL

MySQL dapat mengetahui beberapatipe data antara lain :

  • Data Numerik

MySQL dapat menerima masukan berupa angka-angka yangdibagi atasa integer (angka tanpa pecahan) dan floating-point (angka denganpecahan).

MySQL juga mengerti notasi scientific yaitu integer ataufloating-point yang diikuti tanda ‘e’ atau ‘E’, tanda ‘+’ atau ‘-‘. Misalnyaangka 1.34E+12 atau 3.23e-5.

  • Data Karakter/String

Merupakan deretan huruf yang membentuk kata yang diapitoleh tanda petik (‘’) atau tanda petik ganda (“”).

  • 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 dengan format hh:mm:ss.

  • Data kosong (NULL)

NULL berarti kosong atau tidak diisi data atau bisa jugaberarti data yang tidak jelas, data yang hilang ataupun yang lainnya.

2.1Tipe-tipe kolom MySQL

Setiap table yang dibuat dalam database selalu terdiriatas kolom-kolom. Katika anda membuatnya dengan perintah CREATE TABLE, anda harus menentukan tipe masing-masing kolom. Tiap tipekolom memiliki karakteristik berikut :

  • Jenis harga apayang dapat diisikan
  • Berapa banyak ruangyang dapat menampung harga tersebut
  • Bagaimana hargadari tipe tersebut dibandingkan dan disaring
  • Apakah tipetersebut boleh mengisi dengan NULL atau tidak
  • Apakah tipetersebut boleh diindeks atau tidak

Secara garis besar kolom MySQL terbagi menjadi tiga tipeyaitu :

  • Tipe kolom Numerik
  • Tipe kolom Karakter/String
  • Tipe kolom Waktu

Selanjutnyaakan dijelaskan dengan singkat anggota-anggotanya.

2.2 Tipe Numerik

Tipeini untuk harga integer dan floating-point. Untuk integer kolom haruslahPRIMARY KEY atau indeks yang unik jika ia diberi atribut AUTO_INCREMENT (dapatotomatis mengurutkan angka). Jika diberikan atribut UNSIGNED berarti angkatidak boleh negatif. Sedangkan atribut ZEROFILL menandakan bahwa angka diawalidengan angka nol.

  • TINYINT

Berarti integer dengan range yang sangat kecil yaitu –27sampai 27-1 atau 0 sampai 28-1 jika UNSIGNED. Atributyang dibolehkan adalah AUTO_INCREMENT,UNSIGNED, dan ZEROFILL. Harga defaultadalah NULL jika bisa atau 0 jika NOT NULL dengan peyimpanan 1 byte.

  • SMALLINT

Berarti integer dengan range yang kecil yaitu –215sampai 215-1 atau 0 sampai 216-1 jika UNSIGNED. Atributyang dibolehkan adalah AUTO_INCREMENT,UNSIGNED, dan ZEROFILL. Harga defaultadalah NULL jika bisa atau 0 jika NOT NULL dengan peyimpanan 2 byte.

  • MEDIUMINT

Berarti integer dengan range yang sangat kecil yaitu –223sampai 223-1 atau 0 sampai 224-1 jika UNSIGNED. Atributyang dibolehkan adalah AUTO_INCREMENT,UNSIGNED, dan ZEROFILL. Harga defaultadalah NULL jika bisa atau 0 jika NOT NULL dengan peyimpanan 3 byte.

  • INT

Berarti integer dengan range yang normal yaitu –231sampai 231-1 atau 0 sampai 232-1 jika UNSIGNED. Atributyang dibolehkan adalah AUTO_INCREMENT,UNSIGNED, dan ZEROFILL. Harga defaultadalah NULL jika bisa atau 0 jika NOT NULL dengan peyimpanan 4 byte.

  • BIGINT

Berarti integer dengan range yang sangat kecil yaitu –263sampai 263-1 atau 0 sampai 264-1 jika UNSIGNED. Atributyang dibolehkan adalah AUTO_INCREMENT,UNSIGNED, dan ZEROFILL. Harga default adalahNULL jika bisa atau 0 jika NOT NULL dengan peyimpanan 8 byte.

  • FLOAT

Berartifloating-point dengan range kecil yaitu antara +1.175494351E-38 sampai +3.402823466E+38serta dengan single presisi. Atribut yang dibolehkan adalah ZEROFILL. Harga default NULL jika bisa atau 0 jika NOT NULL. Tempatpenyimpanan 4 byte.

  • DOUBLE

Berartifloating-point dengan range besar yaitu antara +2.22507385072014E-308sampai +1.7976931348623157E308 serta dengan double presisi. Atributyang dibolehkan adalah ZEROFILL. Harga defaultNULL jika bisa atau 0 jika NOT NULL. Tempat penyimpanan 8 byte.

  • DECIMAL(M,D) atau NUMERIC(M,D)

Berarti floating-point yang tersimpan sebagai string (1byte untuk setiap digit, tanda desimal, atau tanda ’-‘). Rangeharga sama seperti DOUBLE. Atribut yang dibolehkan adalah ZEROFILL. Tempat penyimpanan sebesar M byte. Jika D diisi 0 berartitidak punya nilai desimal.

2.3 TipeString

CHAR(M)

Karakter dengan panjang 0 sampai M byte. Atributyang dibolehkan adalah BINARY. Hargadefault adalah NULL jika bisa atau “ “ jika NOT NULL. Tempatpemyimpanan M byte.

VARCHAR

Variabel karakter dengan panjang 0 sampai M byte. Atributyang dibolehkan adalah BINARY. Hargadefault adalah NULL jika bisa atau “ “ jika NOT NULL. Tempatpemyimpanan M+1 byte.

TINYTEXT

Teks berukuran kecil dengan panjang 0 sampai 28-1byte. Harga default adalah NULL jika bisa atau “ “ jika NOT NULL. Tempatpenyimpanan sebanyak panjang harga plus 1 byte.

TEXT

Teks yang normal dengan panjang 0 sampai 216-1byte. Harga default adalah NULL jika bisa atau “ “ jika NOT NULL. Tempatpenyimpanan sebanyak panjang harga plus 2 byte.

MEDIUMTEXT

Teks berukuran sedang dengan panjang 0 sampai 224-1byte. Harga default adalah NULL jika bisa atau “ “ jika NOT NULL. Tempatpenyimpanan sebanyak panjang harga plus 3 byte.

LONGTEXT

Teks berukuran besar dengan panjang 0 sampai 232-1byte. Harga default adalah NULL jika bisa atau “ “ jika NOT NULL. Tempatpenyimpanan sebanyak panjang harga plus 4 byte.

ENUM(“harga1”,”harga2”,…)

Berarti kolom hanya boleh diisi dengan salah satu dariharga yang ada. Harga default adalah NULL jika bisa atau harga1 jika NOT NULL. Tempatpenyimpanan adalah 1 byte untuk enumerasi dengan anggota 1 sampai 255 dan 2byte untuk enumerasi dengan anggota 256 sampai 65535.

SET(“harga1”,”harga2”,…)

Berarti kolom boleh dikosongi atau diisi dengan beberapaharga 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 setdengan anggota 9 sampai 16, 3 byte untuk set dengan anggota 17 sampai 24, 4byte untuk set dengan anggota 25 sampai 32, atau 8 byte untuk set dengananggota 33 sampai 64.

2.4 TipeWaktu

DATE

Untuk kolom tanggal dengan format YYYY-MM-DD danrange antara “1000-01-01” sampai “9999-12-31”. Harga default adalah NULL jikabisa atau “0000-00-00” jika NOT NULL. Tempat penyimpanan 3 byte.

TIME

Untuk kolom jam dengan format hh:mm:ss atau -hh:mm:ssuntuk harga negatif. Range harga antara “-838:59:59” sampai “838:59:59”. Hargadefault adalah NULL jika bisa atau “00:00:00” jika NOT NULL. Tempatpenyimpanan 3 byte.

DATETIME

Gabungan antar hari dan jam dengan format YYYY-MM-DDhh: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. Tempatpenyimpanan 8 byte.

TIMESTAMP

Hampir sama dengan DATETIME tapi dengan format YYYYMMDDhhmmssdan range antara 19700101000000 sampai suatu saat di tahun 2037. Harga defaultadalah hari dan jam saat itu. Tempat penyimpanan 4 byte.

YEAR

Untuk kolom tahun denga format YYYY dan rangeantara 1900 sampai 2155. Harga default adalah NULL jika bisa atau 0000 jika NOTNULL. Tempatpenyimpanan 3 byte.

 

Copy for your blog/webs: