Senin, 22 Oktober 2012

Syntax DDL dan DML

 Syntax DDL (DATA DEFINITION LANGUAGE)

Contoh sintaks DDL dalam pembuatan database/table,index dan view :

1. Pembuatan Database
Bentuk umumnya : CREATE DATABASE nama_db
Sintaks : CREATE DATABASE NILAI

2. Pembuatan Tabel
Bentuk umumnya : CREATE TABLE nama_table(nama_kolom1 jenis_kolom1, nama_kolom2 jenis_kolom2, ...)
Sintaks : CREATE TABLE Mahasiswa(NIM char(8) NOT NULL, Nama char(30) NOT NULL, Alamat char(40) NOT NULL, JenKel char(1) NOT NULL)

3. Pembuatan Index
Bentuk umumnya : CREATE [UNIQUE] INDEX nama_index ON nama_table (nama_kolom)
Sintaks : CREATE UNIQUE INDEX MHSIN ON MHS(NIM)

4. Pembuatan View
Bentuk umumnya : CREATE VIEW [(nama_kolom1, ...)] AS SELECT statement [WITH CHECK OPTION]
Sintaks : CREATE VIEW MHSVIEW AS SELECT * FROM MHS

Contoh sintaks DDL untuk menghapus database/table,index dan view :

1. Menghapus Database
Bentuk umumnya : DROP DATABASE nama_db

2. Menghapus Tabel
Bentuk umumnya : DROP TABLE nama_table

3. Menghapus Index
Bentuk umumnya : DROP INDEX nama_index

4. Menghapus View
Bentuk umumnya : DROP VIEW nama_view

Contoh sintaks DDL untuk mengubah struktur tabel :

1. Menambahkan kolom
Bentuk umumnya : ALTER TABLE nama_table> ADD (nama_kolom jenis_kolom)
Sintaks : ALTER TABLE Mahasiswa ADD (NoTelp char(8))

2. Mengubah panjang kolom
Bentuk umumnya : ALTER TABLE nama_table MODIFY (nama_kolom jenis_kolom)
Sintaks : ALTER TABLE Mahasiswa MODIFY (Alamat char(50))

3. Menghapus kolom
Bentuk umumnya : ALTER TABLE nama_table> DROP (nama_kolom jenis_kolom)
Sintaks : ALTER TABLE Mahasiswa DROP (Alamat char(1))


Syntax DML (DATA MANIPULATION LANGUAGE) 

-SELECT
SELECT Daftar_Kolom FROM Nama_Tabel WHERE Kriteria ORDER BY Kolom

Contoh :
1. Memilih semua kolom

sintaks : SELECT * FROM Tb_Buku

2. Memilih kolom tertentu, misalnya :

SELECT judul,penulis,penerbit FROM Tb_Buku

3. Memilih baris berdasarkan kriteria tertentu

SELECT * FROM Tb_Buku WHERE (harga>=50000)

4. Memilih semua kolom dan diurutkan berdasarkan satu atau dua kolom.
Pengurutan dapat dilakukan dengan ascending(asc)/menurun atau desending(desc)/menaik. Secara default, data diurutkan secara

menaik.

SELECT * FROM Tb_Buku ORDER BY Harga asc

asc ==> boleh tidak ditulis

- INSERT
Perintah insert digunakan untuk menambahkan atau menginputkan data ke dalam tabel. Secara umum sintaknya adalah seperti berikut :

INSERT INTO NamaTabel
(Kolom1,
Kolom2,
...)
VALUES (Nilai1,
Nilai2,
...)

Contoh :

1. Menambah baris pada tabel buku

INSERT INTO Tb_Buku
(kd_buku,
judul,
penulis,
harga)
VALUES ('BK01',
'Basis Data',
'Dian Ambar',
50000)


2. Nilai yang diberikan boleh berupa ekspresi atau NULL

INSERT INTO Tb_Pegawai
(NRP,
nama,
tgl_lahir,
gaji,
tunjangan)
VALUES ('0764575368',
'Mia',
NULL,
1500000,
0.25*1500000)

3. Penambahan data dapat diambil dari tabel lain
Meng-copy sebuah baris data dari tabel Tb_Buku ke dalam tabel Tb_BukuBaru dengan tambahan kolom baru penerbit.

INSERT INTO Tb_BukuBaru
(kd_buku,
judul,
penulis,
penerbit,
harga)
SELECT kd_buku,judul,penulis,'Ambar Offset',harga from Tb_Buku

- UPDATE
Perintah update digunakan untuk mengubah data dalam tabel. Secara umum sintaknya adalah seperti berikut :

UPDATE NamaTabel
SET NamaKolom1=Ekspresi1,
NamaKolom2=Ekspresi2,
...
WHERE kriteria

Contoh :

1. Mengubah data berdasarkan harga atribut primary key

UPDATE Tb_Buku
SET judul='Sistem Basis Data',
penulis='Mia',
harga=60000
WHERE kd_buku='BK01'

2. Mengubah sekelompok baris berdasarkan kriteria tertentu.
Menaikan harga buku 50% untuk buku yang penerbitnya 'Ambar Offset'

UPDATE Tb_Buku
SET harga=1.5*harga
WHERE penerbit='Ambar Offset'

3. Mengubah semua baris dalam tabel

UPDATE Tb_Buku
SET harga=1.5*harga

4. Mengosongkan kolom tertentu

UPDATE Tb_Buku
SET harga=NULL
WHERE penerbit='Ambar Offset'

- DELETE
Perintah delete digunakan untuk menghapus data dalam tabel. Secara umum sintaknya adalah seperti berikut :

DELETE FROM NamaTabel WHERE kriteria

Contoh :

1. Menghapus suatu baris yang kode bukunya 'BK01'

DELETE FROM Tb_Buku WHERE kd_buku='BK01'

2. Menghapus sekelompok baris yang penerbitnya 'Ambar Offset'

DELETE FROM Tb_Buku WHERE penerbit='Ambar Offset'

3. Menghapus semua baris (mengosongkan tabel).

DELETE FROM Tb_Buku

-DISTINCT digunakan untuk memilih hanya nilai yang berbeda
Sintaks : select distinct nama_kolom from nama_tabel

-LIKE di gunakan untuk menentukan pencarian berdasarkan pola tertentu pada suatu kolom.
Sintaks  : select nama_kolom from nama_tabel like pola
Like bisa juga digunakan untuk menentukan sembarang huruf baik sebelum maupun sesudah pola.
Sintaks : select * fron mahasiswa where namadepan LIKE ‘D%’ ( digunakan untuk mencari nama mahasiswa yang di mulai dengan huruf D )
Select * from mahasiswa where namadepan LIKE ‘%D’ (digunakan untuk mencari nama mahasiswa yang di akhiri dengan huruf D )

-ALIAS di gunakan untuk memberikan nama lain atau alias pada nama_kolom dan nama_tabel.
Sintaks : select nama_kolom AS nama_alias_kolom from nama_tabel  ( memberikan nama lain pada kolom)
                  Select * from nama_tabel AS nama_alias_tabel ( alias untuk table)
Ex :select NamaDepan AS ND, NamaBelakang AS NB from Mahasiswa ( memberikan nama lain pada kolom)
                  Select * from Jurusan AS JR

-ORDER BY digunakan untuk mengurutkan data .
Sintaks : Select * from mahasiswa order by nama ASC ( di gunakan untuk urutan data dari kecil ke besar)
Select * from mahasiswa order by nim DESC (untuk urutan data dari besar ke kecil )

-AND dimana data akan di tampilkan pada kedua kondisi sesuai (sama).
Sintaks : select * from mahasiswa where nama=‘ajo’ and nama=‘kiki’

-OR dimana data akan ditampilkan  jika salah satunya sesuai (sama).
Sintaks : select * from mahasiswa where nama=‘kiki’ or nama=‘ajo’

-GROUP BY  digunakan untuk mengelompokkan.
Sintaks : select nama_kolom, COUNT ( nama_kolom) from nama_tabel GROUP BY nama_kolom

-HAVING digunakan untuk menentukan kondisi bagi GROUP BY.
Sintaks : select nama_kolom, COUNT (nama_kolom) from nama_tabel GROUP BY nama_kolom HAVING COUNT (nama_kolom) kondisi nilai

-COUNT digunakan untuk menghitung jumlah baris suatu kolom pada table .
Sintaks : select count (namadepan) from mahasiswa

-SUM digunakan untuk menghitung jumlah nilai kolom pada table.
Sintaks : SELECT SUM(harga_jual) FROM barang

-AVG digunakan untuk menghitung rata-rata .
Sintaks : SELECT AVG(harga_jual) FROM barang where tipe_barang=’minuman’

-MIN digunakan untuk menampilkan nilai terkecil.
Sintaks : SELECT MIN(harga_jual) FROM barang

-MAX digunakan untuk menampilkan nilai terbesar.
Sintaks : SELECT MAX(harga_jual) FROM barang

-UPPER digunakan untuk merubah huruf besar semua.
Sintaks : Select upper(nama_barang) from barang where tipe_barang=’obat’

-ROUND digunakan untuk Membulatkan nilai  bilangan ke pembulatan terdekat.
Sintaks : SELECT ROUND(harga _beli,1) from barang where nama_barang=’Pulpen A’
Operator IN digunakan jika mengetahui nilai pasti yang akan di ambil .
Sintaks : select * from mahasiswa where namadepan IN (‘Dede’,’Apip’)

-INNER JOIN digunakan untuk menampilkan data dari dua table yang berisi data.
Sintaks : SELECT nama_kolom
FROM nama_tabel1
INNER JOIN nama_tabel2
ON nama_tabel1.nama_kolom=nama_tabel2.nama_kolom
ex        = SELECT *
                  FROM barang
                  INNER JOIN transaksi
                  ON barang.id_b=transaksi.id_b

-LEFT JOIN digunakan untuk menampilkan semua data dari table sebelah kiri.
Sintaks : SELECT column_name
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
Ex : SELECT * 
FROM member
LEFT JOIN pembelian
ON member.id_m=pembelian.id_m

-RIGHT JOIN digunakan untuk menampilkan semua data dari table sebelah kanan.
Sintaks : SELECT column_name
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2.column_name

Ex : SELECT * 
FROM member
RIGHT JOIN pembelian
ON member.id_m=pembelian.id_m

-SELECT INTO digunakan untuk membuat backup suatu table.
Sintaks : select * INTO mahasiswa_backup
OPERATOR ANY berkaitan dengan subquery.
Sintaks :  select *from matakuliah where sks>any (select sks from matakuliah )

-OPERATOR ALL digunakan untuk melakukan perbandingan dengan subquery.
Sintaks : select *from matakuliah where sks >= all ( select sks from matakuliah )

-UNION digunakan untuk menggabungkan hasil query dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing table yang akan di tampilkan datanya harus sama.
Sintaks : select namadepan,tmpt_lhr from mahasiswa where tmpt_lhr=”indramayu” Union select namadepan,tmpt_lhr from mahasiswa where tmpt_lhr=”bandung”

-INTERSECT digunakan untuk memperoleh data dari 2 buah query dimana data yang akan ditampilkan adalah yang memenuhi ke 2 query tsb.
Sintaks : select * from nama_tabel1 INTERSECT select * from nama_tabel2

-EXCEPT digunakan untuk memperoleh data dari 2 buah query dimana data yang akan di tampilkan adalah data yang ada pada hasil query 1 dan tidak terdapat pada data dari hasil query2.
Sintaks : select * from nama_tabel1 EXPECT select * from nama_tabel2.

9 komentar:

  1. thanks mba yu infonya, sangat membantu nih. jgn ragu berkunjung ya #blogwalking

    BalasHapus
  2. mbak ada contoh data base nya gak yang dalam bentuk mysql

    BalasHapus
    Balasan
    1. dulu ada. tp skg udah pd gda, maklum musim udah beda

      Hapus
  3. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  4. mba maaf kalau ngasih contoh misalnya "nama_kolom" kalau dia beda nama kolomnya dikasih keterangan sprti "nama_kolom1, nama_kolom2" dsb biar ga bingung. sblmnya trimkasih :)

    BalasHapus