ARSIP BULANAN : October 2012

tugas 3

05 October 2012 12:30:52 Dibaca : 132

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.

 

1. 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.

2. 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.

3. 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.

4. 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.

5. 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.

 

Data Manipulation Language (DML)

 

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.

1. 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.

2. 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.

3. 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.

4. 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.

5. 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.

6. 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.

7. 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.

8. 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.

9. 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.

10. 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.

DCL atau Data Control Language

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 :

1. 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';

2. 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';

DQL (Data Query Language)

 

Berikuti ini 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,

$this->data_user = Doctrine::getTable('User')->findAll();

Perhatikan susunan penulisannya. Ada getTable dan element yang mau dicari adalah semua, findAll. Perubahan mendasar dalam penulisan script SQL adalah menggunakan method dengan penamaan yang lebih “manusiawi”. Kalau di SQL biasa dengan tanda bintang asterik “*“, kalau di Doctrine menggunakan method findAll(). Kalau di SQL memanggil nama table nya (misal. user), kalau di Doctrine memanggil nama Model nya (misal. User). Dalam Doctrine (symfony), penulisan nama Model selalu di awali huruf besar, jadi agak sedikit berbeda dengan nama table di database nya.

*Perhatikan susunan penulisannya, karena kita akan sering menemui hal-hal seperti itu nantinya..

Query Select untuk Primary Key tertentu

Percobaan selanjutnya kita akan menggunakan Query select sederhana untuk mengambil data dengan Primary Key tertentu. Misal Table user memiliki primary key pada field id, dan kita akan menampilkan data yang id nya ’1′. maka SQL nya adalah seperti berikut ini,

 $data_user = "SELECT * FROM user WHERE (id = '1')";

Maka dalam Query Doctrine kita dapat menuliskan seperti ini,

$this->data_user = Doctrine::getTable('User')->find(1);

Method find() dalam Doctrine digunakan untuk menemukan record berdasarkan primary key nya. Dalam kasus ini, kita tidak perlu memberi tahu Doctrine “siapa yang menjadi primary key“. Pokok nya kalau kita gunakan method find(), maka pasti akan mencari untuk primary key nya saja, yaitu field id.

Query Select mencari field tertentu

Dan ini yang lebih menarik lagi. Yaitu jika kita ingin mencari data dengan syarat field tertentu. Misal, saya ingin mencari record yang field ‘name’ pada table tersebut berisi ‘sule’. Dalam SQL kita biasa menuliskan seperti ini,

 $data_user = "SELECT * FROM user u WHERE (u.name = 'sule')";

pada contoh diatas kita menggunakan alias ‘u‘ untuk table user, dan kemudian menambahkan syarat bahwa field name harus terisi oleh ‘sule‘. Dalam Doctrine, penulisannya semakin mudah.

$this->data_user = Doctrine::getTable('User')->findByName('sule');

Gunakan method findBy… yg penulisannya ditambahkan dengan nama field yang akan kita cari. Dalam contoh diatas field yang akan dicari ada lah field ‘name‘, maka method yang digunakan findByName(). Perhatikan penulisan huruf besar kecil, sebagai penanda kata.

Query Select dengan beragam Syarat

Tingkatan lebih lanjut, kita akan mencoba melakukan Query untuk beragam syarat. Seperti yang telah Anda ketahui, syarat dalam Query dapat kita gunakana dengan menambahkan “WHERE“. Untuk referensi nya dapat dilihat di dokumen symfony tentang query.

Berikut ini contoh pengunaan syarat yang lumayan kompleks,

$this->data_user = Doctrine_Query::create()

                      ->from('User u')

                      ->where('u.name = "sule" ')

                      ->execute();atau bisa dengan cara ini,

$this->data_user = Doctrine_Core::getTable('User')

                      -createQuery('u')

                      ->where('u.name = "sule" ')

                      ->execute();atau dengan cara ini juga bisa,

$this->data_user = Doctrine::getTable('User')

                      ->createQuery('u')

          ->where('u.name = "sule" '

                      ->execute();Ketiga cara diatas adalah sama, akan menghasilkan Query seperti ini,

$data_user = "SELECT * FROM user u WHERE (u.name = "sule")";

 

Jadi jangan bingung dengan penggunaan syntax Doctrine, karena akan ada banyak cara menggunakannya, tergantung kebutuhan.