Rabu, 26 Oktober 2011

DDL - DML - Data Retrival MySQL

DDL
//sintak untuk membuat field dengan nama “name” type varchar2, panjang 200 dan constraint PRIMARY KEY :
- Name Varchar2(200) Constraint pk_nama PRIMARY KEY
//jika field harus di isi, maka tambahkan Not Null

//Sintak untuk membuat Foreign key
- Id_foreign varcahar2(9),
- Constraint fK_lain Foreign Key(id_foreign) reference table_tujuan on delete cascade
Contoh :
Create table buku (
Employe_id number(6) constraint primary Key,
First_name varchar(20),
Last_name varchar(25),
Email varchar(25),
Phone_number varchar(20),
Hire_date date,
Salary Number(8),
Commision_pct number(2,2),
Job_id varchar(10),
Departement_id number(4),
Manaber_Id number(6),
Constraint fk_job_id foreign key(Job_id) reference Jobs on delete cascade,
Constraint fk_departemen foreign key(departement_id) reference departements on delete cascade,
Constraint fk_manager foreign key(manager_id) reference employees (employe_id) on delete cascade
);
//sintak or replace digunakan jika pembuatan view atau sesuatu , ternyata view tersebut sudah ada
//force digunakan jika membuat view, namun tabel sumber belum ada
//with check option digunakan untuk pengeceken data yang masuk atau diupdate di dalam view
//read only, hanya bisa melihat dari view tersebut
//Contoh —
Create or replace force view view calon( field) as select field from tab where bla bla, with check option;
//pembuatan squence—-
Create sequence nama
Increment by…
Start with value
Maxvalue
Order
;
//sintak untuk menghapus tabel dengan nama “nama_table”
Drop table nama_table;
//sintak untuk mengubah nama table
Rename baju to bajubaru
//sintak untuk menghapus isi dari tabel
Truncate table buku;
//sintak untuk memberi komen pada table
Comment on buku is ‘fifki’;
//sintak alter digunakan jika kita akan mengedit struktur dari sebuah tabel, misa menambah field,menghapus meupun mengedit
Contoh
- Alter table buku add field varchar(2);
- Alter table buku modify nim varchar2(89);
- Alter table buku drop colom/constraint field;
//sintak untuk membuat sebuah tabel, menggunakan isi dari tabel lain
Contoh
- Create table Buku_copy as
select * from Buku;
//sintak jika akan membuat sebuah table dengan menggukan field darii tabel lai ( hanya fieldnya saja)
Contoh
- Create table Buku_copy as
select * from Buku where 0=1;
———- DML —————-
//menginsert data ke tabel secara manual
Insert into buku values (’001′,’buku dsd’);
//menginsertkan data ke tabel menggunakan data dari tabel lain
Insert into buku_copy
Select * from buku
Where status = “layak”;
//sintak update standar
Update buku set id=’1234′ where id=1231;
//sintak update dengan kondisional tertentu, misal mengupdate harga jika umur buku lebih dari 5thn dan masih layak
Update buku set harga=harga*1,15
- Where umur > 5 and status =”layak”; //kondisi 1 jiak ada umur
- Where months_between(sysdate,tgl_ada)/12 > 5 and …. // kondisi 2 jika ada tangal
//sintak delete data buku biasa
Delete from buku where id = 1323;
//sintak untuk mendelete buku yang umurnya lebih dari 10tahun
Delete from buku
Where months_between(sysdate,tgl_ada)/12 > 10;
//menggabungkan data dari 2 tabel
Contoh menggabungkan tabel buku_copy dengan buku, dimana jika data tidak ada maka data akan di insertkan, jika ada maka data akan di update
- Merge into buku_copy
Using buku
On buku_copy.id = buku.id
When matched then
Update set buku.harga = buku_copy.harga
When not matched then
Insert values (buku_copy.harga);
———— Data Retrival ————-
//distinct digunakan agar tidak ada data yang sama
Select distinct harga from buku b, canang c where b.harga = c.harga;
Select id_jabatan, count(id_jabatan) from petugas group by jabatan;
//menggurutkan data dengan cara
Order by asc/ desc
// contoh Sub query
- Select 8 from buku where harga = (select max(harga) from buku);
- Select * from sekolah s
Where exists
(select * from calon where id=s.id);
- With
Gaji as(select * from tabs)
Select * from buku, gaji where buku.id = gaji.id;
//Contoh PL/SQL
Declare
v_nama buku.nama%type;
Begin
Select name
Into v_nama
From buku
Output v_name
Exeption
When no_data_found the
Output(‘rore’);
End;
/
Cursor
Declare
Cursor C_name is
Select nama from buku;
Vnama buku.name%type
Begin
Open c_name
Loop
Fetch c_name into vname
Exit when c_name%notfound;
Output data;
End loop;
Close C_name;
For vnama in c_name
Loop
Dbms_output.put_line(c_name%rowcount||vname.name);
End;
/
//fungsi dan prosedure dala PL/SQL
Create or replace procedure lihat is
Namalokasi cabang.lokasi%type;
Begin
Select c.lokasi into namalokasi from member m cabang c where id=id
Output(
End;
/
Create or replace function buatbuku(id IN buku.id%type)
Return buku.nama%type is
v_nama buku.nama%type;
Begin
Select nama into v_nama from cabang where id=id;
Return v_nama;
End;
/
//memanggil fungsi yang telah dibuat
Select buatbuku(’1234′) from dual;

Tidak ada komentar:

Posting Komentar