4.SQL(DDL,DML,DCL)
Perintah Dasar SQL (DDL,DML,DCL)
Secara umum,
SQL terdiri dari dua bahasa, yaitu Data Definition
Language (DDL) dan Data Manipulation
Language (DML). Implementasi DDL dan DML berbeda untuk tiap sistem manajemen basis data (SMBD), namun secara umum
implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI. Artikel ini akan menggunakan bentuk paling umum yang
dapat digunakan pada kebanyakan SMBD.
Data Definition Language
DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek
yang diperlukan dalam basis data, misalnya tabel, view, user, dan sebagainya. Secara umum, DDL yang
digunakan adalah CREATE untuk membuat objek baru, USE untuk
menggunakan objek, ALTER untuk mengubah objek yang sudah ada,
dan DROP untuk menghapus objek. DDL biasanya digunakan olehadministrator basis data dalam pembuatan
sebuah aplikasi basis data.
CREATE
CREATE digunakan untuk membuat basis data maupun objek-objek basis
data. SQL yang umum digunakan adalah:
CREATE DATABASE
nama_basis_data
CREATE DATABASE membuat sebuah basis data baru.
CREATE TABLE nama_tabel
CREATE TABLE membuat tabel baru pada basis data yang sedang aktif.
Secara umum, perintah ini memiliki bentuk
CREATE TABLE [nama_tabel]
(
nama_field1 tipe_data
[constraints][,
nama_field2 tipe_data,
...]
)
atau
CREATE TABLE [nama_tabel]
(
nama_field1 tipe_data [,
nama_field2 tipe_data,
...]
[CONSTRAINT nama_field
constraints]
)
dengan:
nama_field adalah nama kolom (field)
yang akan dibuat. Beberapa sistem manajemen basis data mengizinkan penggunaan
spasi dan karakter nonhuruf pada nama kolom.
tipe_data tergantung implementasi sistem manajemen basis data. Misalnya,
pada MySQL, tipe data dapat
berupa VARCHAR, TEXT, BLOB, ENUM, dan sebagainya.
constraints adalah batasan-batasan yang diberikan untuk tiap
kolom. Ini juga tergantung implementasi sistem manajemen basis data,
misalnya NOT NULL, UNIQUE, dan sebagainya. Ini dapat digunakan untuk
mendefinisikan kunci primer (primary key)
dan kunci asing (foreign key).
Satu tabel boleh tidak memiliki kunci primer sama sekali, namun sangat
disarankan mendefinisikan paling tidak satu kolom sebagai kunci primer.
Contoh:
CREATE TABLE user
(
username VARCHAR(30)
CONSTRAINT PRIMARY KEY,
passwd VARCHAR(20) NOT
NULL,
tanggal_lahir DATETIME
);
akan membuat tabel user seperti berikut:
username
|
passwd
|
tanggal_lahir
|
Data Manipulation Language
DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah
yang umum dilakukan adalah:
§ SELECT untuk menampilkan data
§ INSERT untuk menambahkan data baru
§ UPDATE untuk mengubah data yang sudah ada
§ DELETE untuk menghapus data
SELECT
SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga
kadang-kadang istilahquery dirujukkan pada
perintah SELECT. SELECT digunakan untuk menampilkan data dari
satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum,
perintah SELECT memiliki bentuk lengkap: ( QUERY BUDIN ) Cilegon.
SELECT
[nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ...]
FROM nama_tabel1 [AS
alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung]
[, nama_tabel3 [AS
alias3], ...]
[WHERE kondisi]
[ORDER BY nama_field1
[ASC|DESC][, nama_field2 [ASC|DESC], ...]]
[GROUP BY nama_field1[,
nama_field2, ...]]
[HAVING kondisi_aggregat]
dengan:
§ kondisi adalah syarat yang harus dipenuhi suatu data agar ditampilkan.
Contoh:
Diasumsikan terdapat tabel user yang berisi data sebagai berikut.
username
|
passwd
|
tanggal_lahir
|
jml_transaksi
|
total_transaksi
|
Aris
|
6487AD5EF
|
09-09-1987
|
6
|
10.000
|
Budi
|
97AD4erD
|
01-01-1994
|
0
|
0
|
Charlie
|
548794654
|
06-12-1965
|
24
|
312.150
|
Daniel
|
FLKH947HF
|
24-04-1980
|
3
|
0
|
Erik
|
94RER54
|
17-08-1945
|
34
|
50.000
|
Contoh 1: Tampilkan seluruh data.
SELECT *
FROM user
Contoh 2: Tampilkan pengguna yang tidak pernah bertransaksi.
SELECT *
FROM user
WHERE total_transaksi =
0
Contoh 3: Tampilkan username pengguna yang bertransaksi kurang dari 10 dan
nilainya lebih dari 1.000.
SELECT username
FROM user
WHERE jml_transakai <
10 AND total_transaksi > 1000
Contoh 4: Tampilkan total nominal transaksi yang sudah terjadi.
SELECT
SUM(total_transaksi) AS total_nominal_transaksi
FROM user
Contoh 5: Tampilkan seluruh data diurutkan berdasarkan jumlah transaksi
terbesar ke terkecil.
SELECT *
FROM user
ORDER BY jml_transaksi
DESC
Fungsi aggregat
Beberapa SMBD memiliki fungsi aggregat, yaitu fungsi-fungsi khusus yang
melibatkan sekelompok data (aggregat). Secara umum fungsi aggregat adalah:
§ SUM untuk menghitung total nominal data
§ COUNT untuk menghitung jumlah kemunculan data
§ AVG untuk menghitung rata-rata sekelompok data
§ MAX dan MIN untuk mendapatkan nilai maksimum/minimum dari
sekelompok data.
Fungsi aggregat digunakan pada bagian SELECT. Syarat untuk fungsi
aggregat diletakkan pada bagian HAVING, bukan WHERE.
Subquery
Ada kalanya query dapat menjadi kompleks, terutama jika
melibatkan lebih dari satu tabel dan/atau fungsi aggregat. Beberapa SMBD
mengizinkan penggunaan subquery. Contoh:
Tampilkan username pengguna yang memiliki jumlah transaksi terbesar.
SELECT username
FROM user
WHERE jml_transaksi =
(
SELECT
MAX(jml_transaksi)
FROM user
)
INSERT
Untuk menyimpan data dalam tabel dipergunakan sintaks:
INSERT INTO [NAMA_TABLE]
([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])
Contoh:
INSERT INTO TEST (NAMA,
ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');
UPDATE
Untuk mengubah data menggunakan sintaks:
UPDATE [NAMA_TABLE] SET
[NAMA_KOLOM]=[NILAI] WHERE [KONDISI]
Contoh:
UPDATE Msuser set
password="123456" where username="abc"
DELETE
Untuk menghapus data dipergunakan sintaks:
DELETE FROM [nhew andiz]
[KONDISI]
Contoh:
DELETE FROM TEST WHERE
NAMA='test';
sumber referensi
http://muhammadghazali.wordpress.com/2008/02/26/perancangan-database/
http://triegpone.blogspot.com/2012/01/perintah-dasar-sqlddldmldcl.html
http://sistembasisdata-satu.blogspot.com/2011/12/dan-elemen-database-beberapa-definisi.html
Tidak ada komentar:
Posting Komentar