Review syntax SQL:
#Database
*membuat database
- create database namadatabase;
*melihat database yang ada
- show databases;
*menggunakan database
- use namadatabase;
*menghapus database
- drop database namadatabase;
#Tabel
*membuat tabel
- create table namatabel (field1 type(size) sifat, field2 type(size) sifat, ..., fieldx type(size) sifat, primary key(field1, fieldx));
- sifat
. not null : tidak boleh dikosongi (harus ada isinya)
. unique : unik/ tidak bisa diisi data yg sama (tidak boleh redundan)
. auto_increment : otomatis mengisi data sesuai urutan (misal setelah nomor 1 akan diisi dengan nomor 2)
. zerofill : akan diisi angka nol di depan anka
. primary key : kunci utama pada sebuah tabel (bisa satu atau lebih)
. foreign key : kunci yang diambilkan dari tabel lain, berfungsi merelasikan field-field tertentu pada beberapa tabel
*melihat tabel
-show tables;
*melihat struktur tabel
-desc namaTabel;
-describe namaTabel;
-explain namaTabel;
-show columns from namaTabel;
*menghapus tabel
-drop table namatabel;
*ganti nama tabel
-alter table namaTabelLama RENAME namaTabelBaru;
-rename table namaTabelLama TO namaTabelBaru;
*tambah field pada tabel
-alter table namaTabel ADD (field1 type(size) sifat, field2 type(size) sifat, ..., fieldx type(size) sifat);
*mengganti nama field
-alter table namaTabel CHANGE fieldLama fieldBaru type(size) sifat;
*mengganti type/size/sifat field
-alter table namaTabel MODIFY namaField typeBaru(sizeBaru) sifatBaru;
#Data
*memasukkan data pada tabel
-insert into namaTabel (field1, field2, ..., fieldx) values (data1field1, data2field2, ..., dataxfieldx);
-insert into namaTabel values (data1field1, data2field2, ..., dataxfieldx);
*Update data pada tabel (edit data)
-update namaTabel set namaField='dataBaru' where syarat;
-update namaTabel set namaField=dataBaru where syarat; (untuk tipe int)
*hapus data pada tabel
-delete from namaTabel where syarat; (akan menghapus seluruh data sesuai yang di-syaratkan)
#cetak data tertentu
*tampilkan seluruh data
-select * from namaTabel;
*tampilkan data pada field tertentu
-select field1, field2, ..., fieldx from namaTabel where kondisi;
*tampilkan data pada field tertentu pada tabel tertentu (ada relasi antar tabel nya)
-select namaTabel1.field1, namaTabel1.fieldx, namaTabel2.field1, namaTabel3.field1 from namaTabel1, namaTabel2, namaTabel3 where namaTabel1.field1=namaTabel2.field3, namaTabel2.field3=namaTabel3.field2;
*tampilkan berdasarkan grup tertentu
-select * from namaTabel group by grupYangDiiknginkan; (misal dikelompokkan sesuai jnskel)
*tampilkan urut
-select * from namaTabel order by UrutanYangDiinginkan; (misal urut nama kotanya)
*fungsi pada pengolahan field
-avg(namaField) : rata-rata
-count(namaField) : menghitung banyak baris
-max(namaField) : mencari nilai maksimal
-min(namaField) : mencari nilai minimal
-sum(namaField) : menghitung total nilai yg ada pada seluruh baris untuk kolom tersebut
#integritas referensial
*membuat tabel dengan foreign key di dalamnya
-buat terlebih dahulu tabel references-nya, misal tabel supplier
-buat tabel yang akan diberi foreign key: create table obat (KdObat char(10), NmObat char(15), Satuan char(10), Jumlah int(4), KdSuppl char(10), primary key(KdObat, KdSuppl), foreign key(KdSuppl) references supplier(KdSuppl));
*menambahkan foreign key pada tabel yang sudah ada
-alter table namaTabelA add (foreign key(fieldx) references namaTabelB(fieldx) aksi tindakan);
*macam-macam aksi
-on delete : merupakan aksi apabila pada tabel direferensi terjadi penghapusan record
-on update : merupakan aksi apabila pada tabel direferensi mengalami perubahan nilai record
*macam-macam tindakan
-cascade : mengikuti kondisi pada primary key nya, kalau nilai pada primary key dihapus, maka nilai pada foreign key juga ikut terhapus, jika nilai pada primary key diubah, maka nilai pada foreign key juga ikut berubah.
-no action : tidak saling mempengaruhi
-restrict : akan berlaku seperti pada kondisi no action
*contoh penggunaan aksi dan tindakan: create table pesan (No_Order char(10) not null, Tgl_Order date, KdSuppl char(10), Ketr char(35), primary key(No_Order), foreign key(KdSuppl) references supplier(KdSuppl) on delete cascade on update no action);
*menghapus foreign key
-lihat dulu kode referensinya, gunakan syntax : show create table namaTabel;
-misal pada tabel obat, perhatikan kode constraint nya yaitu setelah kata CONSTRAINT ada obat_ibfk_01
-perhatikan petiknya(menggunakan back appostrove, biasanya tombol berada di bawah tombol Esc)
-syntax nya jadi sbb: alter table obat drop foreign key `obat_ibfk_01`;
Semoga bermanfaat... ^_^