Вы находитесь на странице: 1из 18

Dasar-Dasar Structure Query Language(SQL)

SQL adalah sekumpulan perintah yang berfungsi untuk mendefinisikan struktur database, menyimpan dan me-manage data di dalam database, serta berfungsi untuk mengontrol akses ke data tersebut. Ketika membuat sebuah SQL statement, diharapkan kita mengacu pada sintak-sintak perintah yang tertera pada dokumentasinya. Sintaks ini memberikan sebuah pegangan bagaimana sebuah SQL statement dapat dibuat sehingga RDB S dapat mengartikan statement tersebut. Setiap perintah SQL memiliki struktur tertentu, !lemen yang dibutuhkan pada setiap statement dan pilihan-pilihan yang dapat digunakan pada statement tersebut. Saat pertama kali melihat sintak yang lengkap dari sebuah statement mungkin kita akan melihat sesuatu yang sangat membingungkan. "da statement yang hanya memiliki sedikit elemen sehingga lebih mudah dimengerti. #amun, ada $uga statement yang memiliki elemen yang cukup pan$ang. Latihan yang terus menerus akan membuat seseorang dapat mengerti seluruh sintak-sintak ini %alaupun sangat kompleks. Berikut adalah contoh sintaks yang akan kita temukan pada dokumentasi ySQL. <table definition>::= CREATE [TEMPORARAY] TABLE [IF NOT EXISTS] <table name> (<table element> [{, <table element>}...]) [ENGINE = {BDB | MEMORY | ISAM | INNODB | MERGE | MRG_MYISAM | MYISAM }] <table element>::= {< column name> <type> [NOT NULL | NULL] [DEFAULT <value>] [AUTO_INCREMENT]} | {PRIMARY KEY (<column name> [{, <column name>}...])} | INDEX [<index name>] (<column name> [{, <column name>}...])} Sintaks ini tidak memperlihatkan bagaiman membuat sebuah perintah CREATE TABLE secara keseluruhan, namun hanya memperlihatkan komponen-komponen penting dalam sebuah pembuatan tabel. Keterangan untuk contoh di atas adalah sebagai berikut & Vertical Bar ( | ) Kurung kotak ( [ ] ) & ini bisa diartikan sebagai atau, dimana kita bisa memilih salah satu & ini berarti optional, $adi sintaks yang berada dalam kurung kotak ini atau beberapa dari pilihan yang diberikan. bisa digunakan bisa $uga tidak.

Kurung segitiga ( < > ) nilai. Kurung kurawal ({ } ) Tiga titik ( . . . )

& sintaks yang berada dalam tanda kurung ini harus diberi sebuah & segala sesuatu yang berada dalam kurung kura%al ini harus & artinya bah%a sintak yang sebelum tanda titik tiga ini dapat

diperlakukan sebagai sebuah kesatuan atau unit. diulangi sebanyak mungkin. 'ntuk dapat lebih memahami perintah SQL ini, kita akan melihat sebuah contoh dalam membuat sebuah tabel barang. /* membuat tabel barang */ CREATE TABLE barang ( id_barang INT NOT NULL, nama_barang VARCHAR(40) NOT NULL, (. DDL )Data Definition Language* id_cat INT NOT NULL, PRIMARY KEY (id_barang) ) ENGINE MYISAM; +. D = L )Data anipulation Language* ,ertama sekali yang harus kita ingat bah%a CREATE TABLE adalah perintah tunggal yang ditandai dengan sebuah titik koma ) - *, yang apda umumnya dianggap sebagai akhir dari sebuah statement. /* membuat tabel barang */

Baris ini merupakan baris komentar dan tidak akan dieksekusi oleh

ySQL. Bahkan, pada umumnya ySQL.

komentar tidak akan dimasukkan ketika beker$a secara langsung dengan CREATE TABLE barang

Baris kedua ini adalah statement untuk membuat sebuah tabel dengan nama barang. Seperti yang kita sebelumnya pada sintak dokumentasi mengenai pembuatan tabel yaitu CREATE [TEMPORARY] TABLE [IF NOT EXISTS] <table name>

sehingga dapat ditarik kesimpulan bah%a TEMPORARY dan IF NOT EXISTS adalah bagian optional dari sintaks ini dan dibolehkan untuk tidak digunakan. .adi, dalam pembuatan tabel barang hanya menggunakan element-elemen %a$ib sa$a. Baris berikutnya adalah definisi <table element> sebagai berikut ( id_barang INT NOT NULL,

nama_barang VARCHAR(40) NOT NULL, id_cat INT NOT NULL,

PRIMARY KEY (id_barang) ) pada bagian ini dapat kita lihat ada empat <table element> komponen. 'ntuk tiga yang pertama merupakan definisi kolom dan yang terakhir adalah pembuatan primary key. Seluruh elemen berada dalam tanda kurung dan setiap element dipisahkan oleh sebuah koma ),*. dalam tiap terlihat adanya pendefinisian kolom, contohnya adalah pada kolom id/barang seperti berikut id_barang INT NOT NULL,

untuk contoh di atas, maka nama kolomnya adalah id/barang yang bertipe data 0#1 )angka* dan tidak di$inkan untuk memasukkan data kosong )#'LL*. Berikut adalah perbandingan dengan sintak pada dokumentasi. <column name> <type> [NOT NULL | NULL] [DEFAULT <value>] [AUTO_INCREMENT] sehingga dapat disimpulkan bah%a id_barang adalah nilai untuk <column name> dan 0#1 adalah nilai dari <type>. ,ada contoh di atas satu-satu nya pilihan optional yang digunakan adalah NOT NULL. 'ntuk pendefinisian primary key pada contoh ini adalah sebagai berikut PRIMARY KEY (id_barang)

Pada baris tersebut hanya terdapat satu kata kunci ,R0 "R2 K!2 dan sebuah nama kolom. Karena ini

merupakan <table element> yang terakhir maka tidak dibutuhkan koma ),* pada akhir baris. ,erbandingan dengan sintak pada dokumentasi adalah sebagai berikut {PRIMARY KEY (<column name> [{, <column name>}...])

sehingga $elas terlihat bah%a tidak ada satu pun dari pilihan optional yang digunakan, hanya elemen yang dibutuhkan sa$a. TIP !TIP "#$ "T%T & 'T Setelah melihat berbagai perintah SQL, dapat dipahami bah%a perintah SQL dapat digunakan untuk berbagai tipe perintah. ,ada dasarnya perintah SQL dapat dikategorikan men$adi 3 kategori, yaitu data definition language )DDL*, data manipulation language )D L* dan data control language )D4L*. (ata (e)inition $anguage ((($) ,ada ySQL yang termasuk dalam perintah ini adalah membuat, merubah dan menghapus ySQL database dan struktur dalam database. Statement DDL mendefinisikan struktur dari Secara khusus statement DDL berfungsi untuk & (. +. embuat dan menghapus database )CREATE DATABASE, DROP DATABASE* embuat, memperbaiki5merubah, dan menhapus tabel )CREATE TABLE, ALTER TABLE, RENAME TABLE, DROP TABLE* 3. embuat dan menghapus inde6 )CREATE INDEX, DROP INDEX* Berikut merupakan pengertian dasar dari database, tabel dan inde6 (ata*ase tertentu. Ta*el In+e, & tempat untuk menyimpan data yang memiliki kolom dan baris yang & adalah list dari nilai-nilai yang diambil dari sebuah kolom tertentu. 0nde6 merepresentasika sebuah entiti dalam sebuah database. digunakan untuk mempercepat proses pencarian data. & kumpulan dari data yang saling berhubungan yang memiliki struktur

menentukan tipe data apa sa$a yang dapat disimpan ke database serta bagaimana menyimpan data.

(ata &ani-ulation $anguage ((&$) ,erbedaan mendasar dari DDL dan D L adalah pada D L lebih menitikberatkan pada data yang disimpan pada database daripada terhadap struktur database itu sendiri. 4ontohnya pada D L kita dapat meminta informasi dari sebuah database, memasukkan data, mengedit5merubah data dan menghapus data. #amun, kita tidak akan menggunakan D L untuk membuat dan merubah tabel yang menyimpan data. Secara khusus statement D L berfungsi untuk & eminta data yang khusus baik dari sebuah tabel atau beberapa tabel)SELECT* enambahkan data ke dalam tabel)INSERT, REPLACE, LOAD DATA INFILE* erubah5mengedit data dalam sebuah tabel)UPDATE* enghapus data dari sebuah tabel)DELETE FROM, TRUNCATE TABLE*

SELECT biasanya merupakan perintah yang paling sering digunakan. ,erintah SELECT ini dapat digunakan untuk menarik5menampilkan data dari satu tabel atau lebih. SELECT bisa $adi sangat sederhana dan bisa $uga men$adi sangat rumit5kompleks tergantung pada informasi yang ingin ditarik dari sebuah database. ,erintah SELECT berikut berfungsi untuk menampilkan5menarik data dari tabel barang yang telah dibuat sebelumnya. SELECT nama_barang, id_barang, id_cat FROM barang WHERE id_cat < 600 ORDER BY nama_barang; (ata .ontrol $anguage ((.$) D4L berfungsi untuk mengontrol hak akses ke sebuah database. Secara khusus statement D4L berfungsi untuk & emberikan hak akses ke user )GRANT* engambil kembali hak akses dari user )REVOKE* ,emberian hak akses ke seorang user, sehingga seorang user dapat memiliki hak akses untuk tabel tertentu sa$a dan dapat $uga diberikan hak akses untuk seluruh tabel dalam database. GRANT SELECT, INSERT ON test.barang TO sayed@localhost IDENTIFIED BY 'password';

Statement di atas terbagi men$adi empat bagian, pada baris pertama GRANT statement memberikan user hak untuk SELECT dan INSERT, sehingga user hanya dapat melakukan perintah SELECT dan INSERT pada database tertentu. Statement berungsi untuk menentukan pada tabel atau database mana sa$a user tersebut dapat melakukan perintah SELECT dan INSERT. TO statement menyatakan akun user yang akan diberikan hak akses dan pada baris terakhir merupakan pass%ord dari si user.

$%T I / % ' 0. $ogin ke &1"#$ untuk dapat menggunakan ySQL kita harus terlebih dahulu login ke ySQL ser7er sesuai dengan username dan pass%ord kita. "pabila digunakan perintah sebagai berikut mysql -u <username> -p "pabila berikut & mysql -h <alamat_server> -u <username> -p tampilan dari perintah ini dapat dilihat pada gambar berikut ini, untuk username root dan berada pada localhost. ySQL ser7er berada pada komputer yang lain dapat digunakan perintah sebagai ySQL ser7er berada pada localhost maka dapat

$ika login berhasil maka kita akan diberikan mys8l command prompt seperti pada gambar di atas. 2. &e3*uat (ata*ase Setelah kita berada pada dengan perintah berikut. CREATE DATABASE pemrograman; ySQL command prompt, maka sekarang kita dapat memasukkan perintah SQL. 'ntuk latihan ini, kita akan membuat database yang bernama pemrograman

"dapun tampilan dari perintah ini adalah sebagai berikut,

Kalau perintah ini berhasil maka

ySQL akan merespon dengan pesan

Query OK, x row affected (x.xx sec) seperti pada gambar berikut

3.

embuat 1abel Sebelum dapat membuat tabel kita harus memberitahukan kepada ySQL ser7er tempat di mana tabel ini akan diletakkan. ,erintah yang digunakan adalah sebagai berikut

USE <nama_database>; $ika perintah ini berhasil, maka telah berubah. Seperti berikut, Database changed untuk lebih $elasnya dapat kita lihat pada screenshot berikut. ySQL akan merespon dengan pernyataan bah%a database

Setelah proses ini kita dapat membuat tabel dalam database pemrograman. Dengan perintah yang telah kita pela$ari sebelumnya. 'ntuk proses pembuatan tabel ini, kita akan membuat sebuah tabel yang bernama users dan terdiri dari 3 fields5kolom, yaitu kolom id yang bertipe data integer, kolom username yang bertipe data string dan kolom pass%ord yang $uga bertipe data string. ,an$ang field untuk ketiga kolom tersebut secara beurutan adalah 3, (9 dan +::. sebagai tambahan, semua kolom tidak boleh menerima data kosong )#'LL* dan username tidak boleh sama, serta untuk kolom id harus bersifat "'1;/0#4R! !#1. aka dari keterangan di atas, perintah SQL untuk membuat tabel tersebut adalah

CREATE TABLE users ( id INT(3) NOT NULL AUTO_INCREMENT, username VARCHAR(16) NOT NULL, Password VARCHAR(255)NOT NULL, PRIMARY KEY (id), UNIQUE KEY username (username) ); tampilan layar ketika perintah ini di$alankan adalah sebagai berikut.

.ika perintah tersebut berhasil maka

ySQL akan merespon seperti berikut

Query OK, x rows affected (x.xx sec)

dan dapat kita lihat pada gambar berikut ini

4. &e3asukkan (ata untuk memasukkan data ke dalam sebuah tabel, kita menggunakan perintah INSERT seperti pada contoh berikut ini. INSERT INTO <table_name>(field_name, ...) VALUES(<values>, ...) kali ini kita akan mencoba memasukkan sebuah record dengan username<slank dan pass%ord<7irus. Sebelum pass%ord dimasukkan, terlebih dahulu kita enkrip dengan md:. Sehingga perintahnya men$adi seperti berikut INSERT INTO users(username, password) VALUES( slank , md5( virus )); berikut ini adalah tampilan dari perintah dan respon ySQL untuk perintah tersebut

5. &eli6at (ata 'ntuk dapat melihat5menarik seluruh data yang telah kita masukkan, kita akan menggunakan perintah seperti berikut ini. SELECT * FROM <table_name>; 'ntuk tabel users yang kita gunakan pada latihan kali ini, maka perintahnya men$adi SELECT * FROM users; dan tampilan dari screen capture adalah sebagai berikut

.ika perintah ini berhasil maka seluruh data akan ditampilkan ke layar seperti pada gambar berikut

7. &engu*a6 (ata 'ntuk mengubah data, perintah yang digunakan adalah UPDATE dengan diikuti SET untuk field yang nilainya mau diganti. 'ntuk sintak-nya adalah sebagai berikut UPDATE <table_name> SET <field_name>=<new_value> WHERE <field_name>=<value> Sehingga perintah lengkapnya men$adi seperti berikut untuk perubahan pass%ord pada username slank men$adi %orm dari sebelumnya 7irus UPDATE users SET password=md5( worm ) WHERE username= slank ; untuk lebih $elasnya dapat kita lihat serangkain gambar berikut yang mengambarkan perubahan pada field pass%ord setelah data dirubah. 'ntuk melihat perubahan tersebut kita menggunakan perintah SELECT.

,ada rangkaian gambar berikut akan kita lihat, dimana data pass%ord yang sudah di ubah men$adi %orm, kita rubah kembali men$adi 7irus.

8. &eng6a-us (ata untuk menghapus data kita menggunakan perintah DELETE FROM <table_name>, perintah ini akan menghapus sebuah record dari tabel. Sintak lengkapnya dari perintah ini adalah sebagai

berikut. DELETE FROM <table_name> WHERE <field_name>=<value> Sehingga untuk menghapus record yang memiliki username slank, maka perintahnya adalah sebagai berikut & DELETE FROM users WHERE username= slank ; adapun tampilan layar untuk SQL statement dan ser7er respon adalah sebagai berikut.

Sehingga ketika kita tampilkan data dari tabel users, maka tampilannya men$adi seperti berikut

,!R1"#2""# & (. "pa perbedaan antara perintah TRUNCATE dan DELETE pada sebuah tabel= +. "pa >ungsi tanda ? pada perintah SELECT= 3. Sebutkan perintah untuk menampilkan username sa$a dari tabel users di atas= @. Sebutkan perintah untuk menampilakan username dan pass%ord sa$a pada users di atas= :. "pakah perintah UPDATE bisa digunakan untuk memasukkan record baru= 9. "pa fungsi dari md5 pada perintah INSERT di atas= A. "dakah fungsi enkripsi yang lain pada ySQL selain md5=

B. Bagaimana cara menghapus sebuah tabel= C. Bagaimana cara menghapus sebuah database= (D. Bagaimana cara menggunakan perintah REPLACE=

Вам также может понравиться

  • Modul 2 - Masalah - Ruang Masalah - Pencarian
    Modul 2 - Masalah - Ruang Masalah - Pencarian
    Документ23 страницы
    Modul 2 - Masalah - Ruang Masalah - Pencarian
    Muhammad Khairul
    Оценок пока нет
  • BAB 1 DDBMS Konsep Dan Design
    BAB 1 DDBMS Konsep Dan Design
    Документ31 страница
    BAB 1 DDBMS Konsep Dan Design
    Fie Fuyuky Yuta
    Оценок пока нет
  • 18-C3-TKJ-Admin Server-XI-2 PDF
    18-C3-TKJ-Admin Server-XI-2 PDF
    Документ129 страниц
    18-C3-TKJ-Admin Server-XI-2 PDF
    mbaknung
    Оценок пока нет
  • Analisa Jaringan
    Analisa Jaringan
    Документ17 страниц
    Analisa Jaringan
    Wayan Wiadnyana
    Оценок пока нет
  • Dasar Pemrograman Visual Basic
    Dasar Pemrograman Visual Basic
    Документ189 страниц
    Dasar Pemrograman Visual Basic
    agus
    100% (1)
  • Fungsi Fungsi Terdistribusi
    Fungsi Fungsi Terdistribusi
    Документ12 страниц
    Fungsi Fungsi Terdistribusi
    Wayan Wiadnyana
    Оценок пока нет
  • Kinerja Dinas Kependudukan Dan Catatan Sipil Dalam Pelayanan Akte Kelahiran
    Kinerja Dinas Kependudukan Dan Catatan Sipil Dalam Pelayanan Akte Kelahiran
    Документ13 страниц
    Kinerja Dinas Kependudukan Dan Catatan Sipil Dalam Pelayanan Akte Kelahiran
    Wayan Wiadnyana
    Оценок пока нет
  • Langkah Analisis
    Langkah Analisis
    Документ17 страниц
    Langkah Analisis
    Wayan Wiadnyana
    Оценок пока нет
  • Ak Sek Publik
    Ak Sek Publik
    Документ15 страниц
    Ak Sek Publik
    Wayan Wiadnyana
    Оценок пока нет
  • Bahan Lakip3
    Bahan Lakip3
    Документ101 страница
    Bahan Lakip3
    Zaenal Arifin
    Оценок пока нет
  • Modul 1 WAN Dan Router
    Modul 1 WAN Dan Router
    Документ16 страниц
    Modul 1 WAN Dan Router
    Tri Kartika Putra
    Оценок пока нет
  • Routing Statis
    Routing Statis
    Документ5 страниц
    Routing Statis
    Wayan Wiadnyana
    Оценок пока нет
  • Tabel
    Tabel
    Документ6 страниц
    Tabel
    Wayan Wiadnyana
    Оценок пока нет
  • Cepat Mahir Visual Basic
    Cepat Mahir Visual Basic
    Документ6 страниц
    Cepat Mahir Visual Basic
    Bayu Ajip
    Оценок пока нет
  • Jaringan Komputer
    Jaringan Komputer
    Документ10 страниц
    Jaringan Komputer
    Wayan Wiadnyana
    Оценок пока нет
  • SISTEM_INFORMASI
    SISTEM_INFORMASI
    Документ27 страниц
    SISTEM_INFORMASI
    kemas
    Оценок пока нет
  • Speedy
    Speedy
    Документ2 страницы
    Speedy
    Wayan Wiadnyana
    Оценок пока нет
  • Quantum Learning
    Quantum Learning
    Документ27 страниц
    Quantum Learning
    Wayan Wiadnyana
    Оценок пока нет
  • Sistem Multimedia
    Sistem Multimedia
    Документ10 страниц
    Sistem Multimedia
    Wayan Wiadnyana
    Оценок пока нет
  • Utility Windows Populer
    Utility Windows Populer
    Документ49 страниц
    Utility Windows Populer
    Peter Bank
    Оценок пока нет
  • Sistem Operasi
    Sistem Operasi
    Документ18 страниц
    Sistem Operasi
    Wayan Wiadnyana
    Оценок пока нет
  • Cara Membuat Tabel Pada WEB
    Cara Membuat Tabel Pada WEB
    Документ6 страниц
    Cara Membuat Tabel Pada WEB
    Wayan Wiadnyana
    Оценок пока нет
  • Konsep Dasar Sistem Operasi
    Konsep Dasar Sistem Operasi
    Документ52 страницы
    Konsep Dasar Sistem Operasi
    Agus S. Andika
    Оценок пока нет
  • Pengertian Konsep SI
    Pengertian Konsep SI
    Документ13 страниц
    Pengertian Konsep SI
    Iskandar Mantenk
    Оценок пока нет
  • Bab 8 Virtual Memory
    Bab 8 Virtual Memory
    Документ17 страниц
    Bab 8 Virtual Memory
    riziq sofyan
    Оценок пока нет
  • ERD SI RAWAT INAP
    ERD SI RAWAT INAP
    Документ35 страниц
    ERD SI RAWAT INAP
    Wayan Wiadnyana
    Оценок пока нет
  • Pengukuran & Penilaian
    Pengukuran & Penilaian
    Документ9 страниц
    Pengukuran & Penilaian
    Wayan Wiadnyana
    Оценок пока нет
  • Looping
    Looping
    Документ1 страница
    Looping
    Wayan Wiadnyana
    Оценок пока нет
  • PBO
    PBO
    Документ11 страниц
    PBO
    Wayan Wiadnyana
    Оценок пока нет