Wempi Satria Wempi Satria

Berlangganan

Isikan alamat email:

Google PageRank Checker

Komentar Terakhir

Sponsor Wempi


Banner 400x50

SQL Syntax Basic
Bimbingan - Pemrograman
Rabu, 30 April 2008 09:37

Episode kali ini, Wempi mau membimbing teman-teman tentang dasar-dasar SQL (Structured Query Language), bimbingan yang Wempi buat ini juga di muat di situs IlmuKomputer.com Embarassed. dengan dasar-dasar yang Wempi berikan ini mudah-mudahan bisa membuat teman-teman menjadi programmer yang handal. Laughing

 

Database relational besar seperti Oracle, SQL Server, Informix, Sybase dan lain-lain biasanya mendukung SQL, dimana SQL merupakan bahasa standar sebagai interface bagi suatu aplikasi untuk berinteraksi dengan database relasional. Dalam tulisan ini penulis akan memaparkan dasardasar syntax SQL.

I. Data Defenition Language ( DDL ) / Pembentukan database

Membuat tabel (Creating tables)

Syntax

CREATE TABLE (
()
[UNIQUE] [NOT NUL] [PRIMARY KEY] [DEFAULT]
[referential_constraint_defenition>] [CHECK],
()
[UNIQUE] [NOT NULL] [PRIMARY KEY] [DEFAULT]
[referential_constraint_defenition>] [CHECK],
. . .
);

keterangan

Unique; Pada kolom tersebut tidak boleh ada data yang sama.
Not Null; tidak boleh data pada kolom tersebut bernilai null,
Unique dan Not Null; kolom tersebut dapat dijadikan primary key.
Default;
nilai default yang secara otomatis akan mengisi kolom dengan data default tersebut setiap operasi insert dilakukan.
Referential_Constraint_Definition; Bila kolom tersebut merupakan foreign key terhadap tabel lain. Dengan syntax FOREIGN KEY REFERENCES

Contoh :

CREATE TABLE Pelajar (
No_Induk CHAR(8),
Nama CHAR(20),
Tgl_Lahir DATE,
Kelas CHAR(2)
);
CREATE TABLE Mata_Pelajaran(
Kode CHAR(4),
Nama CHAR(20),
Kelas CHAR(2)
);
CREATE TABLE Nilai(
No_Induk CHAR(8),
Kode CHAR(4),
Nl_Angka Number
);

Membuat index (Creating indices)

Syntax

. . .
[ () REFERENCES (), . . . ]
CREATE INDEX ON ();

Contoh :

DROP TABLE Pelajar;
CREATE TABLE Pelajar (
No_Induk CHAR(8) PRIMARY KEY,
Nama CHAR(20),
Tgl_Lahir DATE,
Kelas CHAR(2)
);
CREATE INDEX nm ON Pelajar(Nama);
DROP TABLE Mata_Pelajaran;
CREATE TABLE Mata_Pelajaran(
Kode CHAR(4) PRIMARY KEY,
Nama CHAR(20),
Kelas CHAR(2)
);
CREATE TABLE Nilai(
No_Induk CHAR(8) REFERENCES Pelajar(No_Induk),
Kode CHAR(4) REFERENCES Mata_Pelajaran(Kode),
Nilai Number
);

Mengubah tabel (Altering tables)

Syntax

ALTER TABLE
[ ADD ( (), . . . ); ]
[ MODIFY ((), . . .); ]

Keterangan

Add; Penambahan kolom baru.
Modify; Mengubah kolom yang sudah ada sebelumnya.

Contoh :

ALTER TABLE Pelajar
ADD (Jenis_Kelamin CHAR(10));

Menghapus tabel (Dropping tables)

Syntax

DROP TABLE
DROP INDEX

Contoh :

DROP TABLE Pelajar;
DROP INDEX nm;

II. Data Manipulation Language ( DML ) / Manipulasi Data

Penyisipan data (Inserting)

Syntax

INSERT INTO [(
VALUES
(,, . . . );

Contoh :

DROP TABLE Pelajar CASCADE CONSTRAINTS;
CREATE TABLE Pelajar (
No_Induk CHAR(8) PRIMARY KEY,
Nama CHAR(20),
Tgl_Lahir DATE,
Kelas CHAR(2)
);

INSERT INTO Pelajar
VALUES (‘00311217’,’Wempi Satria’,’02-JAN-1982’,’1’,’Laki-laki’);
INSERT INTO Pelajar
VALUES (‘00311211’,’Wempi,’03-MAR -1982’,’1’,’Laki-laki’);
INSERT INTO Pelajar
VALUES (‘00311210’,’Satria’,’12-DEC -1982’,’1’,’Perempuan’);

Mengubah data (Updating)

Syntax

UPDATE
SET ,
,
. . . ,

[WHERE ];

Contoh :

UPDATE Pelajar
SET No_Induk = ‘00311216’ ,Nama = ‘Wati’
WHERE No_Induk =’00311210’ and Nama = ‘Satria’;

Menghapus data (Deletion)

Syntax

DELETE FROM
WHERE ;

Contoh :

DELETE FROM Pelajar
WHERE No_Induk = ‘00311211’;

Seleksi data (Selection)

Syntax

SELECT [*] [, , . . ., ]
[, , . . . , ]
FROM
WHERE
[AND ]
[AND MONTH_BETWEEN ();

Contoh :

SELECT * FROM Pelajar;
SELECT a.No_Induk, a.Nama, b.Kode, b.Nama, c.Nl_Angka
FROM Pelajar a, Mata_Pelajaran b, Nilai c;
WHERE a.No_Induk=c.No_Induk and b.Kode=c.kode;

Membuat tabel maya (Creating views)

Syntax

CREATE VIEW
AS SELECT
FROM
WHERE ;

III. Data Control Language ( DCL ) / Kontrol Data

Konfirmasi menyimpan data di memory ke database (Commit)

Syntax

COMMIT [WORK];

Contoh :

INSERT INTO Pelajar
VALUES (‘00311210’,’Satria’,’15-DEC -1982’,’1’,’Perempuan’);
COMMIT;

Mengembalikan status transaksi sebelum penyimpanan (Rollback)

Syntax

ROLLBACK [WORK];

Pemberian hak dari satu user ke user lain (Grant)

Syntax

GRANT
ON TO
[WITH GRAN OPTION];

Penghapusan hak yang diberikan (Revoke)

Syntax

REVOKE
FROM ;

Spesifikasi akses

All Privileges; Semua hak diberikan.
Select; Untuk seleksi
Update; Untuk mengubah data
Insert; Untuk menyisipkan data
Delete; Untuk menghapus data

IV. EKSPRESI

FROM

Untuk mendefenisikan tabel yang menjadi sumber data dari suatu perintah seleksi

Contoh :

SELECT * FROM Pelajar

WHERE

Untuk mendefenisikan kondisi pengambilan data dari suatu perintah seleksi

Contoh :

SELECT * FROM Pelajar WHERE No_Induk = ‘00311217’;

GROUP BY

Untuk Mengelompokkan data berdasarkan ekspresi group

Syntax :

SELECT
FROM
WHERE
GROUP BY ;

Contoh :

SELECT a.No_Induk, b.Nama, c.Nl_Angka
FROM Pelajar.a, Nilai b
WHERE a.No_Induk=c.No_Induk and b.kode=c.kode
GROUP BY a.No_Induk, b.Nama, c.Nl_Angka;

ORDER BY

Untuk mengurutkan data hasil seleksi

Syntax :

SELECT
FROM
WHERE
ORDER BY [DESC];

Contoh :

SELECT * FROM Pelajar
ORDER BY No_Induk;

HAVING

Untuk mendefenisikan batasan seleksi berdasarkan GROUP BY

Syntax :

SELECT
FROM
WHERE
GROUP BY
HAVING ;

Contoh :

SELECT a.No_Induk, b.Nama, c.Nl_Angka
FROM Pelajar.a, Nilai b
WHERE a.No_Induk=c.No_Induk and b.kode=c.kode
GROUP BY a.No_Induk, b.Nama, c.Nl_Angka
HAVING Nilai>80;

V. PREDIKAT

COMPARISON

Pembanding dua nilai dengan syarat type data yang dibandingkan harus sama

Sama dengan, =
Tidak sama dengan,
Lebih kecil, <
Lebih besar, >
Lebih kecil dan sama dengan, >=
Lebih besar dan sama dengan, <=

BETWEN

Pembanding untuk mengecek apakah suatu nilai berada dalam range tertentu atau tidak

Syntax :

... BETWEEN ... AND ...
... NOT BETWEEN ... AND ...

Contoh :

Menampilkan data nilai pada range 80 dan 100

SELECT * FROM Nilai
WHERE Nl_Angka BETWEEN 80 AND 100;

IN / NOT IN

Untuk melakukan pengecekan apakah suatu nilai terdapat dalam suatu himpunan

Syntax :

IN ( ... )
IN SELECT ...

NOT IN ( ... )
NOT IN SELECT ...

Contoh :

Select * FROM Pelajar a
WHERE a.No_Induk IN (SELECT b.No_Induk FROM Nilai b);

LIKE / NOT LIKE

Untuk membandingkan data dengan pola / struktur tertentu, untuk satu karakter dipakai ( _ ) dan string ( % )

Syntax :

... LIKE
... NOT LIKE

Contoh :

SELECT * FROM Pelajar
WHERE Nama LIKE ‘We%’;

IS NULL / IS NOT NULL

Untuk membandingkan suatu nilai dengan NULL

Syntax :

 ... IS NULL
... IS NOT NULL

Contoh :

SELECT * FROM Pelajar
WHERE Kelas IS NULL

EXIST

Untuk pengecekan apakah suatu query memiliki hasil atau tidak

Syntax :

... WHERE EXIST (SELECT ... )

Contoh :

SELECT * FROM Pelajar a
WHERE EXIST (
SELECT b.No_Induk FROM Nilai b
WHERE a.No_Induk=b.No_Induk);

Catatan

  • Keyword dari program SQL tidak selalu sama sehingga perlu sedikit modifikasi sesuai dengan standar SQL yang digunakan perusahaan pembuatnya
  • Syntax diatas dapat dikembangkan sesuai kebutuhan tergantung kreatifitas dalam pemrograman seperti penambahan sekuens looping, function, procedure, trigger dan lain – lain
  • Syntax di atas juga dapat diselipkan pada aplikasi lain seperti web programming, visual programming dan relational programming.
  • Tanda [] merupakan optional


 

Comments  

 
0 #25 Freddy 2011-11-03 19:40
hey.. bro download SQL SERVER yg free ada gak link nya tolong di bagi dong... Smile
Thanks...
Quote | Report to administrator
 
 
0 #24 memedh 2011-06-29 00:44
tnya donk mas, q pake program java.. syntax sql buat nampilin data lebih dari 3 biar masuk ke sql tapi dalam satu row apa ya?
Quote | Report to administrator
 
 
0 #23 asep 2011-03-27 22:55
tanya donk.,.,klw syntax dari search apa ya,.,tanx's
Quote | Report to administrator
 
 
0 #22 Daniel Robertus 2011-01-25 16:30
back ground nya bikin sakit mata.. di ganti mas... jangan merah..
Quote | Report to administrator
 
 
0 #21 qatz 2010-10-06 16:04
makasih ya,, saya lg cari sintax khayalan yg ada d pikiran saya, dan ternyata sintx NOT IN ada di sini,, thx it helped a lot,, :D
Quote | Report to administrator
 
 
0 #20 firman 2010-03-24 22:07
tolong cariin rumusan tanggal dari vb.net
Quote | Report to administrator
 
 
0 #19 maman 2010-03-24 21:47
halo mas,

gimana cara merubah nilai constraint yang sudah ada....

thanks
Quote | Report to administrator
 
 
0 #18 Wempi 2009-03-07 15:06
buat aja perintah delete nya 2x om di program tombol delete.

namun kita juga bisa ngeset langsung di database yang kalo memang ke 2 tabel tersebut berhubungan/reference, kalo di mysql enggine default MyISAM ganti pake yang InnoDB.

Kalo sekelas Oracle tinggal buat key referencenya, dan set ON DELETE CASCADE, jika foreign key nya didelete,

contoh kode nya,
CREATE TABLE supplier
( supplier_id numeric(10) not null,
supplier_name varchar2(50) not null,
contact_name varchar2(50),
CONSTRAINT supplier_pk PRIMARY KEY (supplier_id)
);


CREATE TABLE products
( product_id numeric(10) not null,
supplier_id numeric(10) not null,
CONSTRAINT fk_supplier
FOREIGN KEY (supplier_id)
REFERENCES supplier(suppli er_id)
ON DELETE CASCADE
);
Quote | Report to administrator
 
 
0 #17 Wahyu 2009-03-07 01:26
Mas saya mau tanya nh,gmn cranya menghapus data yg ada d 2 tabel dengan sekali menekan tombol delete.untuk printah sqlny gmn ya?mkasih.
Quote | Report to administrator
 
 
0 #16 Wempi 2008-11-21 18:21
kalo untuk view yang bisa di edit di insert dll saya memang minim praktek, om bisa jalan-jalan ke http://www.fluffycat.com/SQL/Views/ untuk lebih jelasnya.
Quote | Report to administrator
 

Add comment


Security code
Refresh

Wempi Satria
Wempi NoksPi
Plugin Joomla AutoSEO 1.2 by geekspace.free.fr