Rabu, 22 September 2010

Perintah dasar Oracle

Perintah Select


Salah satu syntax yang paling penting dalam SQL adalah select. Select berfungsi untuk menampilkan data-data pada tabel-tabel yang terdapat dalam database. Di sinilah terdapat banyak perbedaan antara SQL biasa dan SQL Oracle. Oracle banyak sekali meringkas syntax-syntax menjadi lebih sederhana walaupun sebenarnya oracle juga tetap memerima SQL strandar.

Select secara sederhana dapat dituliskan sebagai berikut :

SELECT
[tb1].[nama_kolom1],
[tb2].[nama_kolom2], . . .
FROM
[nama_tabel1] [tb1],
[nama_tabel2] [tb2]
WHERE
[kondisi_join]
[operator_boolean] [kondisi_select]
ORDER BY [nama_kolom_order]
GROUP BY [nama_kolom_group];

Keterangan :

tb : Alias dari [nama_tabel1]
nama_kolom : Nama kolom yang akan ditampilkan
kondisi_join : Jika pada klausa FORM terdapat dua tabel atau lebih maka harus terdapat kondisi ini yaitu menjoinkan tabel-table pada klausa tersebut
operator_boolean : Operator-operator untuk kondisi_join seperti AND dan OR
kondisi_select : Kondisi tambahan untuk menyempurnakan operasi SELECT ini. Biasanya menggunakan operasi perbandingan, seperti : >, <, >=, <=, BETWEEN, <>
nama_kolom_order : Hasil SELECT ingin di urutkan berdasarkan nama_kolom tersebut.
nama_kolom_group : Hasil SELECT ingin dikelompokkan berdasarkan nama_kolom. Jadi semua record yang bernilai sama akan dikeluarkan hanya satu record saja. Yang perlu diperhatikan adalah semua kolom yang di-SELECT harus di GROUP BY -kan.

Sebelum diperjelas dengan contoh maka sebaiknya kita mengisi data untuk tabel-tabel yang telah kita buat pada artikel Create Table “Sistem Belajar-Mengajar” – (Analisa & Desain). Script untuk mengisi data silahkan download di sini.

1. Menampilkan semua siswa kelas I dengan diurutkan berdasarkan nama siswa tersebut.

SELECT
NAMA,
ALAMAT
FROM
TEST.MURID
WHERE
KELAS_ID = ‘I’ /*[kondisi_select]*/
ORDER BY NAMA, NIS; /*[nama_kolom_order]*/

2. Menampilkan guru-guru yang mengajar mata pelajaran biologi.

SELECT
g.NIG,
b.NAMA
FROM
TEST.GURU g,
TEST.BELAJAR b
WHERE
g.NIG = b.NIG /*[kondisi_join]*/
AND b.KODE_MP = ‘DA0007′ /*[kondisi_select]*/
GROUP BY g.NIG, g.NAMA; /*[nama_kolom_group]*/

Silahkan anda mencoba contoh-contoh semisal di atas. Coba pula dengan menghilangkan syntax ORDER BY dan GROUP BY dengan amati apa yang terjadi dan mengapa bisa terjadi.


Insert, Update, Delete (Oracle)

Oleh oracle1st

Operasi standar sebuah database adalah insert, delete dan update. Ketiganya biasa disebut DML kependekan dari Data Manipulation Language. SQL merupakan bahasa standar untuk pengolahan database. Tentunya Oracle-pun menggunakan SQL, hanya saja ada beberapa karakteristik yang berbeda dengan SQL standar.

Setelah kita membahas Persiapan “Coba-coba” Oracle, maka kita memiliki user tersendiri yaitu user yang bernama TEST. Silahkan Anda masuk ke page Oracle XE atau masuk ke SQL+ (jika Anda menginstall versi oracle lain, misal : 8i, 9i, 10g, dan anda juga harus memasukkan nilai hostring/tnsnames database Anda) dan login dengan user tersebut, yaitu :

User TEST
Password test

INSERT

Insert digunakan untuk memasukkan data ke sebuah tabel dalam user (schema) tertentu. Syntax Insert dapat dituliskan sebagai berikut :

INSERT INTO [nama_user].[nama_table]

([nama_kolom1], [nama_kolom2], . . .)

VALUES

([nilai1], [nilai2], . . .);

Keterangan :

nama_user : Nama user atau nama schema ketika login
nama_tabel : Nama tabel yang terdapat pada user (schema) tersebut
nama_kolom : Nama kolom yang akan diisi data pada [nama_tabel]
nilai : Nilai yang akan diisikan pada [nama_kolom], mis : [nilai1] akan diisikan ke dalam [nama_kolom1], [nilai2] akan diisikan ke dalam [nama_kolom2]

UPDATE

Update digunakan untuk mengubah data pada sebuah tabel dalam user (schema) tertentu berdasarkan kondisi tertentu. Syntax Update dapat dituliskan sebagai berikut :

UPDATE [nama_user].[nama_table]SET

[nama_kolom1] = [nilai1],

[nama_kolom2] = [nilai2],

[nama_kolom3] = [nilai3],

. . .

WHERE

[kondisi_update];

Keterangan :

nama_user : Nama user atau nama schema ketika login
nama_tabel : Nama tabel yang terdapat pada user (schema) tersebut
nama_kolom : Nama kolom yang akan diisi data pada [nama_tabel]
nilai : Nilai yang akan diisikan pada [nama_kolom]
kondisi_update : Sebuah kondisi yang yang menyaring (filter) record-record mana saja yang akan di update

DELETE

Delete digunakan untuk menghapus data pada sebuah tabel dalam user (schema) tertentu berdasarkan kondisi tertentu. Syntax Delete dapat dituliskan sebagai berikut :

DELETE [nama_user].[nama_table]WHERE

[kondisi_delete];

Keterangan :

nama_user : Nama user atau nama schema ketika login
nama_tabel : Nama tabel yang terdapat pada user (schema) tersebut
kondisi_delete : Sebuah kondisi yang yang menyaring (filter) record-record mana saja yang akan di delete

Sebelum membaca contoh di bawah ini, ada baiknya anda membaca terlebih dahulu artikel Create Table Sistem Belajar-Mengajar – (Analisa & Desain). Artikel tersebut akan membantu anda untuk memahami contoh-contoh yang diberikan, karena tabel-tabel yang digunakan adalah berdasarkan studi kasus tersebut.

Insert :


INSERT INTO
TEST.MURID (

NIS,
NAMA,
TGL_LAHIR,
JENIS_KELAMIN,
ALAMAT,
ORTU)

VALUES (

’000001′,
‘MUKHTARUL UMAM’,
TO_DATE(’23-04-1993′,‘DD-MM-YYYY’),
‘L’,
‘JL. P. DIPENOGORO, TEGAL’,
‘SULAIMAN’);

Update :


UPDATE
TEST.MURID SET

NAMA = ‘MUKHTARUL UMAM SHOLEH’,
TGL_LAHIR = TO_DATE(’25-04-1993′,‘DD-MM-YYYY’)

WHERE

NIS = ’000001′;

Delete :


DELETE
TEST.MURID

WHERE

NIS = ’000001′;

NB :

  • Jika ingin perubahan disimpan oleh database maka akhiri setiap syntax DML dengan eksekusi COMMIT;
  • Jika perubahan tidak ingin disimpan alias ingin dikembalikan seperti semula maka akhiri dengan eksekusi ROLLBACK;
  • Setiap syntax DML yang telah di COMMIT maka tidak dapat di ROLLBACK.


Daftar Pustaka

http://oracle1st.wordpress.com/2009/06/09/select-oracle/
http://oracle1st.wordpress.com/2009/06/05/insert-update-delete-oracle/


8 komentar:

  1. bagus ni bwt blajar.....
    kalau ada yg terbaru lg, posting trus ya....

    BalasHapus
  2. sangat membantu wat saya yang pemula yang lagi mo belajar oracle ne,.. makasi gan,..

    BalasHapus
  3. terima kasih banyak atas informasi nya . .

    BalasHapus
  4. kita juga punya nih jurnal mengenai oracle, silahkan dikunjungi dan dibaca , berikut linknya
    http://repository.gunadarma.ac.id/bitstream/123456789/4763/1/1%20DOKUMEN%20PRESENTASI%202.pdf
    semoga bermanfaat yaa :)

    Balas

    BalasHapus