Home > Oracle, SQL > Insert, Update, Delete (Oracle)

Insert, Update, Delete (Oracle)

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.
  1. June 5, 2009 at 15:07

    Waaaaaa, DATABASE!!!!!!!!!!!!!!!!!!!!!!
    Masih belom belajar di kampus >,<

  2. ROEDY
    June 12, 2009 at 02:16

    tau nggak berapa harga oracle yang bebayar? and perintahnya nya sama g’? dengan yg free?

    • oracle1st
      June 13, 2009 at 02:32

      untuk harga… saya belum cek tuh… mungkin bisa dilihat di http://www.oracle.com. Untuk sekedar informasi aj, bahwa oracle boleh menggunakan versi apa saja secara GRATIS asal dengan tujuan untuk development (pembangunan aplikasi), sehingga kita bisa coba-coba. Klo sudah untuk production (aplikasi sudah jadi dan sudah digunakan) maka harus bayar… ini g kayak Microsoft ya…
      Masalah perintah sama aj, yang membuat beda adalah kapasitas penyimpanan yaitu cuma 4GB untuk yang free (inipun sudah cukup besar untuk aplikasi sederhana, seperti apotik, inventory, dll) dan juga tools yang banyak dipangkas.

  3. gustab sungkono
    July 2, 2009 at 21:22

    ku baru nyoba oracle mas,,,mau tanya…buat table di oracle dg user interface kyak mySqL browser bisa ta???tengz

  4. gustab sungkono
    July 2, 2009 at 21:25

    ehm…maksudnya,kita buat table tanpa nulis script SQL,,,tinggal isi kolom2 seperti tipe data dll…n kita lgsung bisa liat hasilnya….
    cz klo pake SQL PLUSnya oracle rada bingung….mksih n harap mklum!!!

    • oracle1st
      July 3, 2009 at 20:19

      @gustab

      untuk mempermudah bisa pake console untuk oracle..
      seperti TOAD for Oracle, SQL Navigator for Oracle… dan lain-lain.

  5. Sueb Tenyom
    April 9, 2011 at 18:04

    Maaf, aku mau tanya. Bagaimana caranya menghapus semua table secara permanen. Soalnya, waktu aku install oracle database. Terdapat table default dari oracle tersebut. Mohon penjelasan lebih lanjut. Terima kasih.

    • oracle1st
      April 14, 2011 at 20:10

      @Sueb Tenyom …
      cara yang termudah adalah anda masuk ke user system atau ke user sys
      lalu jalankan :

      DROP USER [nama_user] CASCADE;

      jangan lupa… dipikirkan baik-baik sebelum melakukannya…
      selamat mencoba

  6. Agung
    October 3, 2011 at 16:58

    Artikel yang bagus mas.. sangat membantu dalam belajar oracle.

    ane masih sangat new bie dg oracle pengen banget mendalami tapi untuk proses belajarnya dimulai darimana ya? sekedar informasi, ane udah install Oracle 10g Release 2.. selesai proses instalasi bingung program mana dlu yang kudu dibuka.. hehe

    mohon saran dari Mas2…

  7. marvel
    February 27, 2012 at 11:55

    ketika saya mengetikkan “insert into stnk_05.stcamat (kdpolda, kdpolres, kdprop, kdkab, kdcamat, kddesa, nakab, nacamat, nadesa) values (’16′, ’24′, ’16′, ’24′, ’06′, ’11′, ‘ngawi’, ‘kendal’, ‘ds kuburan’);” pada sql window pada plsql hasilnya adalah
    ORA-04098: trigger ‘STNK_05.DEALER_STCAMAT_AI’ is invalid and failed re-validation
    kira-kira solusinya apa supaya data barunya bisa di-insert-kan kedalam database oracle?

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: