ARSIP BULANAN : October 2012

tugas 3

05 October 2012 12:41:24 Dibaca : 350

SQL DDL, DML, DQL, DCL

SQL merupakan singkatan dari Structured Query Language. SQL adalah bahasa komputer yang standart untuk mengakses dan memanipulasi database. Seluruh aplikasi database yang beredar di pasaran, baik yang gratis maupun yang berlisensi, mengadopsi bahasa SQL untuk mengolah databasenya. Ada 2 jenis command di dalam SQL, yaitu DDL dan DML.

1.SQL DDL ( Data Definition Language )

DDL ( Data Definition Language ) adalah sebuah perintah SQL yang berhubungan dengan pendefinisian suatu database dan tabel. Beberapa perintah dasar yang termasuk dalam DDL antara lain. Data Definition Language (DDL) adalah bahasa dalam DBMS yang digunakan untuk membuat atau mendefinisikan obyek-obyek di dalam database. Secara umum digunakan untuk membuat obyek table dan view.

Secara khusus, di dalam DBMS tertentu digunakan untuk :

  • Membuat trigger
  • Membuat stored procedure
  • Membuat database, index, rule, schema dll (tergantung DBMS)

DDL untuk tabel

  • Untuk membuat tabelCREATE TABLE (<column_definition> | <table_constraint>)
  • Untuk menghapus tabelDROP TABLE
  • Untuk memodifikasi tabel
    • Menambahkan kolom baruALTER TABLE ADD
    • Menghapus kolomALTER TABLE DROP

DDL untuk view

  • Untuk membuat viewCREATE VIEW AS
  • Untuk menghapus viewDROP VIEW

DDL untuk trigger

  • Untuk membuat triggerCREATE TRIGGER ON TABLE ON [DELETE] [,] [INSERT] [,] [UPDATE] AS

A. CREATE

Fungsi : Command CREATE ini berfungsi untuk membuat sebuah database ataupun membuat sebuah table yang berada di dalam database.

Syntax : CREATE database nama_database;

Parameter   : -

Contoh : CREATE database apotik;

Penjelasan : perintah CREATE diatas akan membuat sebuah database dengan nama apotik.

 

B. SHOW

Fungsi : Command SHOW ini berfungsi untuk menampilkan database ataupun table yang telah kita buat sebelumnya.

Syntax : SHOW databases;

Parameter : -

Contoh : SHOW databases;

Penjelasan : perintah SHOW diatas akan memperlihatkan semua database yang ada.

 

C. USE

Fungsi : Command  USE ini berfungsi untuk membuka/mengaktifkan/memasuki database yang telah kita buat. Setelah kita masuk kedalam database yang telah kita buat, barulah kita bisa memanipulasi data yang ada, termasuk untuk membuat table didalam database tersebut.

Syntax : USE nama_database;

Parameter : -

Contoh : USE apotik;

Penjelasan : perintah diatas akan mengaktifkan database dengan nama apotik sehingga kita dapat memanipulasi data yang ada.

 

D. ALTER

Fungsi : Command ALTER ini berfungsi untuk mengubah struktur dari suatu table. Mengubah disini tidak hanya memperbaharui struktur table yang ada, tetapi juga mengubah nama field, menambahkan primary key, mengubah tipe field, maupun menghapus field yang telah dibuat sebelumnya.

Syntax : ALTER TABLE nama_tabel parameter_option;

Parameter : add, modify, drop

Contoh : ALTER TABLE obat ADD harga int (6);

Penjelasan : perintah diatas akan menambahkan field harga kedalam tabel obat.

 

E. DROP

Fungsi: Command DROP ini berfungsi untuk menghapus, baik database, table, maupun field yang telah diinputkan ke dalam table.

Syntax : DROP TABLE nama_tabel;

Parameter : -

Contoh : DROP TABLE supplier;

Penjelasan : perintah diatas akan menghapus tabel supplier pada database apotik.

 


 2.DML ( Data Manipulation Language )

DML (Data Manipulation Language)merupakan bahasa basis data yang berguna untuk melakukan proses modifikasi dan pengambilan data pada suatu basis data. Modifikasi yang dapat dilakukan adalah penambahan (insert), pembaharuan (update), penghapusan (delete).

10 Command DML ( Data Manipulation Language )

Data Manipulation Language (DML) digunakan dalam memanipulasi dan pengambilan data pada database.

Manipulasi data, dapat mencakup:

  1. Pemanggilan data yang tersimpan dalam database (query).
  2. Penyisipan/penambahan data baru ke database.
  3. Penghapusan data dari database.
  4. Pengubahan data pada database.

Beberapa perintah dasar yang termasuk dalam DDL antara lain.

A. SELECT

Fungsi : Command SELECT ini berfungsi untuk menampilkan sesuatu. Menampilkan disini tidak hanya menampilkan data dari sebuah table saja, tetapi juga untuk menampilkan suatu ekspresi. Seperti menampilkan hanya field yang memiliki kategori Suplement saja.

Syntax : SELECT * FROM nama_tabel;

Parameter : from, order by, where, dll

Contoh : SELECT * FROM obat;

Penjelasan : perintah diatas akan menampilkan semua isi pada tabel obat.

 

B. DESC

Fungsi : Command DESC ini berfungsi untuk menampilkan struktur tabel yang telah dibuat. Apa saja field yang telah dibuat, type data dari field tersebut, dan primary key akan terlihat disini.

Syntax  : DESC nama_table;

Parameter : -

Contoh : DESC obat;

Penjelasan : perintah diatas akan memperlihatkan stuktur dari tabel obat yang telah dibuat.

 

C. INSERT INTO

Fungsi : Command INSERT INTO ini berfungsi untuk menambahkan data/record dalam suatu tabel yang telah dibuat.

Syntax : INSERT INTO nama_tabel VALUES (‘isi_field1’ , ‘isi_field2’,……);

Parameter : values, set

Contoh : INSERT INTO obat VALUES (’CO012’,’Corsel’,’Suplement’,’13’,’183500’);

Penjelasan : perintah diatas akan membuat sebuah record baru dalam tabel obat dengan id_obat = CO012, nama_obat = Corsel, kategori = Suplement, jumlah = 13, dan harga = 183500.

 

D. UPDATE

Fungsi : Command UPDATE ini berfungsi untuk merubah/memperbaharui data yang telah ada di dalam tebel.

Syntax : UPDATE nama_tabel SET nama_field = ’nilai_baru’ WHERE nama_field = ’kondisi’ ;

Parameter : set, where

Contoh : UPDATE obat SET id_obat = ‘CE008’ WHERE nama_obat = ‘Cetoros’;

Penjelasan : perintah diatas akan mengubah id_obat BD019 menjadi CE008 pada tabel obat yang memiliki nama_obat Cetoros.

 

E. DELETE FROM

Fungsi  : Command DELETE FROM ini berfungsi untuk menghapus record yang ada pada sebuah tabel.

Syntax : DELETE FROM nama_tabel WHERE nama_field =’option’;

Parameter : where

Contoh : DELETE FROM obat WHERE id_obat =’CO012’;

Penjelasan : perintah diatas akan menghapus record dari tabel obat yang memiliki id_obat CO012.

 

F. EXPLAIN

Fungsi : Command EXPLAIN ini memiliki fungsi yang sama seperti Desc yaitu berfungsi untuk menampilkan struktur tabel yang telah dibuat, seperti nama_field, type data dari field tersebut, dan primary key.

Syntax : EXPLAIN nama_table;

Parameter : -

Contoh : EXPLAIN obat;

Penjelasan : perintah diatas akan memperlihatkan stuktur dari tabel obat yang telah dibuat.

 

G. SELECT DESCENDING

Fungsi : Command SELECT DESCENDING ini berfungsi menampilkan semua data dari bawah ke atas berdasarkan field yang telah ditentukan.

Syntax : SELECT field1, field2, dan seterusnya FROM nama_tabel ORDER BY field yang jadi acuan DESC;

Parameter : from, order by, desc

Contoh : SELECT id_obat, nama_obat, jumlah FROM BY obat ORDER BY id_obat DESC;

Penjelasan : Perintah diatas akan menampilkan data pada id_obat, nama_obat dan jumlah pada tabel obat dan yang menjadi acuan pengurutan data dari bawah ke atas adalah id_obat.

 

H. SELECT COUNT

Fungsi : Command SELECT COUNT ini berfungsi menampilkan jumlah record yang ada dalam suatu tabel.

Syntax : SELECT COUNT(*)FROM nama_tabel;

Parameter : count, from

Contoh : SELECT COUNT(*)FROM obat;

Penjelasan : Perintah diatas menampilkan jumlah record yang ada pada tabel obat.

 

I.SELECT MAX

Fungsi : Command SELECT MAX ini berfungsi untuk mencari nilai tertinggi pada sebuah field di tabel.

Syntax : SELECT MAX(nama_field) FROM nama_tabel;

Parameter : max, from

Contoh : SELECT MAX(jumlah) FROM obat;

Penjelasan : Perintah diatas akan menampilkan nilai tertinggi dari field jumlah pada tabel obat.

 

J.  SELECT MIN

Fungsi : Command SELECT MIN ini berfungsi untuk mencari nilai terendah pada sebuah field di tabel.

Syntax : SELECT MIN(nama_field) FROM nama_tabel;

Parameter : min, from

Contoh : SELECT MIN(jumlah) FROM obat;

Penjelasan : Perintah diatas akan menampilkan nilai terendah dari field jumlah pada tabel obat.

 

3. DCL dan JOIN pada SQL

DCL atau Data Control Language
DCL merupakan perintah SQL yang berhubungan dengan pengaturan hak akses user MySQL, baik terhadap server, database, tabel maupun field. Perintah SQL yang termasuk dalam DCL antara lain :

* GRANT : Perintah ini digunakan untuk memberikan hak / izin akses oleh administrator (pemilik utama) server kepada user (pengguna biasa). Hak akses tersebut berupa hak membuat (CREATE), mengambil (SELECT), menghapsu (DELETE), mengubah (UPDATE) dan hak khusus berkenaan dengan sistem databasenya.

SINTAKS : GRANT privileges ON tbname TO user

CONTOH : grant select, update, insert, delete on perpustakaan.buku to 'ali'@'localhost';


* REVOKE : perintah ini memiliki kegunaan terbalik dengan GRAND, yaitu untuk menghilangkan atau mencabut hak akses yang telah diberikan kepada user oleh administrator.

SINTAKS : REVOKE privileges ON tbname FROM user

CONTOH : revoke select, update, insert, delete on perpustakaan.buku from 'ali'@'localhost';

JENIS JENIS JOIN SQL :
1. INNER JOIN : hanya akan menampilkan baris untuk data yang memiliki nilai yang sama pada field kunci dengan tabel yang berelasi

2. LEFT JOIN : hanya menampilkan data dengan mengacu pada tabel yang ada disebelah kiri.

3. RIGHT JOIN : hanya menampilkan data dengan mengacu pada tabel yang ada disebelah kanan.

4. FULL JOIN : merupakan gabungan dari LEFT JOIN dan RIGHT JOIN .

4.Doctrine Query Language (DQL)

Sama seperti SQL, DQL (deqil) tidak lah rumit. Operasi dasar nya mirip dengan SQL yang select, update, insert, dan delete. Untuk info lebih lengkap, bisa Anda nikmati langsung di web doctrine. Baca juga berbagai referensi di website symfony.

Sebelumnya membaca lebih lanjut, disarankan Anda sudah pernah tahu (memahami) penggunaan SQL pada MySQL atau Oracle. Baca juga artikel sebelumnya,S yang menjelaskan konfigurasi dan konsep penggunaan Doctrine.

Untuk melakukan Query dengan Doctrine tidak lah sulit, karena pola pendeklarasiannya memang dibuat semirip mungkin dengan SQL, bahkan lebih praktis. Penulisan Query, sebaiknya dilakukan pada layer Controller, atau dalam symfony kita biasa lakukan di action class. Hasil Query tersebut baru disajikan sesuai kebutuhan pada tampilan web (template).

Query Select Sederhana?

Berikuti ini saya akan berikan contoh Query dalam SQL untuk select sederhana,

$data_user = "SELECT * FROM  user";

artinya untuk mengambil semua field data pada table user. Dalam Query Doctrine kita bisa menuliskan seperti berikut ini,

<span style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-