Friday, August 12, 2016

Primary Key, Foreign Key, Unique Key - MySQL

PRIMARY KEY

Primary key merupakan constraint yang diterapkan ke sebuah tabel atau lebih kolom sehingga mempunyai nilai unik dalammengidentifikasi baris-baris pada suatu kolom. Kolom-kolom tersebut disebut kolom-kolom primary key. Kolom primary key tidak boleh berisi NULL karena digunakan secara unik untuk mengidentifikasi baris-baris pada suatu tabel. Primary key berguna untuk memastikan integritas seluruh data .
Untuk lebih jelasnya, Lihat contoh berikut.


penggunaan primary key
Pada baris paling bawah terlihat bahwa id digunakan sebagai PRIMARY KEY karena kolom id dianggap sebagai kolom yang unik. Hasilnya seperti di bawah ini.
spesifikasi kolom-kolom pada tabel karyawan
Terlihat diatas pada baris id, kolom KEY terdapat tanda PRI, ini bararti bahwa kolo id digunakan sebagai PRIMARY KEY.
UNIQUE KEY
Unique Key digunakan untuk memberikan keunikan pada kolom yang bukan merupakan kolom primary key. kolom primary key secara otomatis memberi constraint yang unik. Constraint dari unique key hjampir sama dengan primary key. Perbedaannya hanya pada kolom unique key dapat disis NULL, sedangkan primary key tidak dapat diisi NULL.Sebagai contoh lihat gambar berikut.
penggunaan Unique key
Terlihat pada gambar diatas pembuatan unique key terdapat pada baris terakhir dan pada kolom jabatan. Unique key dapat lebih dari satu dan dapat dilakukan secara bersamaan.Sebagai contoh lihat gambar berikut.
pepbuatan unique key lebih dari satu
Unique key pada tabel diatas terdapat pada kolo/field nama dan no_telepon. Kolom diatas dipilih sebagai unique key karena dianggap sebagai kolom yang unik. Pada kolom-kolom kemingkinan untuk mempunyai data yang sama tidak mungkin. Setelah di-DESCRIBE, akan tampak seperti berikut.
spesifikasi tabel biodata_diri dengan unique key lebih dari satu
FOREIGN KEY
Foreign key merupakan batasan/constrain untuk membuang ketidakkonsistenan dua tabel ketika data pada sebuah tabel tergantung kepada data yang ada di tabel lain.  Sintaks foreing key sebagai berikut.
[CONSTRAINT constraint_name FOREIGN KEY (kolom_name
[,kolom_name [, ...]] )
REFERENCES table_name (kolom_name [,kolom_name
[,...] ) ) ]
Untuk memperjelas sintaks diatas lihat contoh berikut.
tabel product
Setelah Anda membuat tabel product, kemudian buat tabel costumer.
tabel costumer
Setelah Anda membuat tabel costumer,buatlah tabel pesanan_product. Pada tabel pesanan_product inilah akan diterapkan foreign key, yang menghubungkan tabel product dan tabel costumer.
pembuatan foreign key

Foreign Key - MySQL

Foreign key adalah salah satu jenis constraint yang digunakan untuk merelasikan antar dua tabel atau lebih. Foreign key digunakan pada tabel kedua (detail) yang mereferensi ke tabel utama (master) yang mempunyai constraint primary key.

Agar lebih jelas, Anda dapat melihat contoh gambar relasi antara dua tabel di bawah ini:



Pada gambar diatas, kolom Cust_ID pada tabel Orders berperan sebagai foreign key yang mereferensi ke tabel Customers pada kolom ID.


Sintak Dasar Foreign Key

Di bawah ini adalah sintak dasar untuk mendefinisikan foreign key pada sebuah tabel di MySQL:

CONSTRAINT constraint_name
FOREIGN KEY foreign_key_name (columns)
REFERENCES parent_table(columns)

Penjelasan sintak:
  • CONSTRAINT adalah perintah untuk membuat sebuah constraint.
  • constraint_name adalah nama yang akan Anda berikan untuk membuat foreign key
  • FOREIGN KEY adalah perintah untuk mendefinisikan foreign key
  • foreign_key_name (columns) adalah nama yang digunakan untuk constraint foreign key dan kolom yang akan dijadikan foreign key.
  • REFERENCES parent_table(columns) adalah perintah untuk mereferensikan ke tabel utama (primary key)

Membuat Foreign Key

Untuk membuat sebuah constraint foreign key, Ada 2 cara yang Anda bisa gunakan yaitu:

  1. Membuat Contraint Foreign Key Menggunakan Create Table

    Anda dapat membuat constraint foreign key sewaktu Anda membuat sebuah tabel. Untuk lebih jelasnya, perhatikan contoh di bawah ini:

    CREATE TABLE categories(
       category_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
       category_name VARCHAR(50) NOT NULL,
       category_description VARCHAR(50)
    ) ENGINE=InnoDB;
     
    CREATE TABLE products(
       product_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
       product_name VARCHAR(50) NOT NULL,
       price DECIMAL,
       category_id INT NOT NULL,
       FOREIGN KEY fk_category(category_id)
       REFERENCES categories(category_id)
    )ENGINE=InnoDB;
    

  2. Membuat Constraint Foreign Key Menggunakan Alter Table

    Anda juga dapat menambahkan constraint foreign key pada sebuah tabel yang sudah ada. Perhatikan contoh di bawah ini:

    CREATE TABLE vendors(
        vendor_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
        vendor_name varchar(50)
    )ENGINE=InnoDB;
     
    ALTER TABLE products 
    ADD COLUMN vendor_id INT NOT NULL;
    

    Untuk menambahkan foreign key pada tabel products, Anda dapat menjalakan perintah ALTER TABLE di bawah ini:

    ALTER TABLE products
    ADD FOREIGN KEY fk_vendor(vendor_id)
    REFERENCES vendors(vendor_id);
    

Menghapus Foreign Key

Untuk menghapus constraint foreign key pada sebuah tabel, Anda dapat mengggunakan sintak di bawah ini:

ALTER TABLE table_name 
DROP FOREIGN KEY constraint_name;

Sebagai contoh, asumsikan Anda ingin menghasus constraint foregin key pada tabel products, Anda dapat menjalankan perintah di bawah ini:

ALTER TABLE products
DROP FOREIGN KEY fk_vendor;

Database Perpustakaan dengan MySQL

  • Pembuatan Database
  1.  Cara membuat database Mysql : Buka MySQL command, masukan password yang kita buat waktu  menginstal.
2.      Ketik create database nm_database;  contoh : create database  perpustakaan;
Untuk menampilkan database ketik show databases; dan untuk membuka database ketik USE Nm_database; contoh : USE Perpustakaan;




  • Pembuatan Table
 Untuk membuat tabel-tabel yang dibutuhkan adalah : ketik create  nama tabel yang akan dibuat beserta field atau banyaknya kolom pada table tersebut. Jika sudah kita dapat memasukkan nama-nama kolom tabel, type data tiap kolom, panjang karakter tiap type data, dan primary key tiap kolom. Contoh untuk table Pegawai  maka syntak yang kita tulis adalah :

CREATE TABLE Pegawai (
Id_Pegawai varchar(5) Not null,
Nm_Pegawai varchar(20) Not null,
Alamat text,
Telp varchar(20),
Primary Key (Id_Pegawai)
);

  •    Menampilkan dan Melihat Table

Untuk menampilkan dan melihat table yang sudah di buat dengan cara :

SHOW TABLES;



Perintah di atas akan menampilkan seluruh tabel yang sudah ada dalam suatu database.
Sedangkan untuk melihat table secara lebih detail dengan ketik

DESC Anggota;




  • Menambah record dengan insert
Banyak cara untuk menambah record, berikut  perintah SQL untuk menambahkan record atau data ke dalam suatu tabel adalah sebagai berikut :

INSERT INTO nama_tabel VALUES (‘nilai1’,’nilai2’,...);

atau dapat dengan bentuk sebagai berikut :

INSERT INTO nama_tabel(field1,field2,...)
VALUES (‘nilai1’,’nilai2’,...);

atau dapat juga dengan bentuk sebagai berikut :

INSERT INTO nama_tabel
SET field1=’nilai1’, field2=’nilai2’,...;

Sebagai contoh, kita akan menambahkan sebuah record ke dalam tabel
Anggota  yang telah kita buat sebelumnya. Berikut ini perintah SQL untuk
menambahkan sebuah record ke dalam tabel anggota :

INSERT INTO Anggota(Id_anggota,Nm_Anggota,alamat,Telp)
VALUES (‘L001’,’Wawan Santoso’,’JL Kuala Gg bambu’,’0878199113’);



  • SELECT statement


Pernyataan SELECT digunakan untuk memilih data dari database. Hasilnya disimpan dalam tabel hasil, disebut hasil-set.. Huruf besar atau kecil tidak masalah karena SELECT tidak sensitif huruf yang artinya penulisan SELECT sama dengan select.

Sintaksnya: 
SELECT nama_field
FROM nama_tabel;
contoh : 
select Judul 
From Buku;



Sekarang kita ingin memilih 2 isi kolom, maka syntak nya adalah :
 Select field1,field2
From nama_table
 Contoh :
Select judul,jenis_buku
from buku;



Sekarang kita ingin memilih semua kolom dari tabel
Dengan cara mengetik
Select * from Nama_table 
 
Tip: Tanda asterisk (*) adalah cara cepat untuk memilih semua kolom.

Contoh : 

Select * from Anggota;


Select * from Buku;


Select * From Pinjam ;


Select * From Denda;



Select * From Pegawai;



  • SELECT DISTINCT statement
.
SELECT DISTINCT hanya akan menampilkan data yang berbeda.
Jika datanya sama, tidak akan di tampilkan
Sintaksnya:
SELECT DISTINCT nama_kolom
FROM nama_tabel;
Contoh : 
Select Distinct Jenis_buku
from buku

Database Penjualan dengan MySQL

Tabel-tabel yang perlu dipersiapkan :
tnotajual : untuk menyimpan no nota dan tanggal kapan transaksi penjualan dilakukan ?
tpenjualan : untuk menyimpan barang-barang apa saja yang dijual dan jumlahnya berapa ?
maka DDL dan DMLnya adalah sbb :
CREATE TABLE `tnotajual` (
`nonota` VARCHAR( 15 ) NOT NULL ,
`tgljual` DATE NOT NULL ,
PRIMARY KEY ( `nonota` )
) ENGINE = innodb;
insert into tnotajual VALUES (‘J001′,’2008/11/14’);
insert into tnotajual VALUES (‘J002′,’2008/11/14’);
CREATE TABLE `tpenjualan` (
`nonota` VARCHAR( 14 ) NOT NULL ,
`kodebrg` VARCHAR( 10 ) NOT NULL ,
`harga` INT( 10 ) NOT NULL ,
`jumlah` INT( 5 ) NOT NULL
) ENGINE = innodb;
Untuk relasinya tambahkan :
ALTER TABLE `tpenjualan`
ADD FOREIGN KEY (`kodebrg`) REFERENCES `tbarang` (`kodebrg`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD FOREIGN KEY (`nonota`) REFERENCES `tnotajual` (`nonota`) ON DELETE CASCADE ON UPDATE CASCADE;
DMLnya :
insert into tpenjualan values (‘J001′,’BRG001’,1200,2);
insert into tpenjualan values (‘J001′,’BRG002’, 1400,3);
insert into tpenjualan values (‘J001′,’BRG003’, 1700,4);
insert into tpenjualan values (‘J002′,’BRG001’, 1200,2);
insert into tpenjualan values (‘J002′,’BRG002’, 1400,3);
insert into tpenjualan values (‘J002′,’BRG003’, 1700,4);
sampai disini table untuk transaksi penjualan sudah jadi tinggal dilanjutkan lagi. Bagaimana kalau ada seorang bos menanyakan barang yang sudah laku berapa ? apa saja ? dan stok barang kita tinggal berapa ?
nah untuk bisa menjawab pertanyaan tersebut perlu beberapa query atau view untuk mempermudah pekerjaan. Nah dilanjutkan lagi buat view :
buat dulu qpenjualan :
create view qpenjualan as SELECT tnotajual.nonota, tnotajual.tgljual, tpenjualan.kodebrg, tbarang.namabrg, tbarang.satuan, tpenjualan.jumlah,
tpenjualan.harga, (tpenjualan.jumlah * tpenjualan.harga) AS jumlahjual
FROM tbarang RIGHT JOIN (tnotajual INNER JOIN tpenjualan ON tnotajual.nonota=tpenjualan.nonota) ON tbarang.kodebrg=tpenjualan.kodebrg;
Sehingga kalau dilihat datanya :
relasi7
Nah tinggal dilanjutkan lagi untuk menampilkan data yang menampilkan notanota sekian transaksi tanggal sekian berapa jumlah yang dibayarkan ? nah bisa dilanjutkan dengan membuat view lagi :
CREATE view qtotjualan as select tnotajual.nonota, tnotajual.tgljual, Sum(qpenjualan.jumlahjual) AS jumlah
FROM tnotajual INNER JOIN qpenjualan ON tnotajual.nonota = qpenjualan.nonota
GROUP BY tnotajual.nonota, tnotajual.tgljual;
Sehingga hasilnya :
relasi82
Dengan demikian bisa dilihat bahwa transaski penjualan dengan nonota J001 pada tanggal 2008-11-14 jumlah yang harus dibayarkan adalah 13400, begitu juga untuk yang J002.
Nah sampai disini bisa diketahui masing-masing transaksi totalnya baik itu pembelian ataupun penjualan. Langkah selanjutnya untuk mengetahui stok barang yang ditersedia logikanya barang yang tersedia adalah seluruh barang yang dibeli dikurangi dengan seluruh barang yang terjual sehingga bisa diketahui sisanya. Untuk mengetahui jawaban ini tentunya tidak perlu melibatkan bahasa pemrograman ataupun scrip web, cukup dengan DBMS saja mestinya sudah bisa terjawab dan sudah bisa bekerja dengan sendirinya, alias datanya yang dihasilnya bisa selalu terupdate. Nah langkahnya adalah sbb :
Buat dahulu view untuk menghitung total barang yang sudah dibeli :
create view qbarangbeli as SELECT tbarang.kodebrg, tbarang.namabrg, tbarang.satuan, Sum(tpembelian.jumlah) AS totalbeli
FROM tbarang RIGHT JOIN tpembelian ON tbarang.kodebrg=tpembelian.kodebrg
GROUP BY tbarang.kodebrg, tbarang.namabrg, tbarang.satuan;

Sehingga hasilnya :
relasi9
Terlihat masing-masing barang yang sudah dibeli berapa ? nah sekarang tinggal melanjutkan untuk barang yang sudah terjual juga berapa ? langkahnya buat view :
create view qbarangjual as SELECT tbarang.kodebrg, tbarang.namabrg, tbarang.satuan, if(Sum(qpenjualan.jumlah),Sum(qpenjualan.jumlah),0) AS totaljual
FROM tbarang LEFT JOIN qpenjualan ON tbarang.kodebrg=qpenjualan.kodebrg
GROUP BY tbarang.kodebrg, tbarang.namabrg, tbarang.satuan;
Dengan demikian hasilnya :
relasi10
Nah kelihatan bahwa Sabun GIV sudah laku 4, Sabun Lifeboy sudah laku 6, Soklin 1 Kg sudah laku 8 dan Rinso 1 Kg belum laku alias nol.
Sampai disini tentunya masih belum terjawab, berapa sih stok pada masing-masing barang. Nah untuk menjawab ini bisa dengan cara membuat view lagi, yaitu view Qbarangbeli dikurangi dengan view Qbarangjual, Oke bisa dilanjutkan lagi begini :
create view qstokbarang as SELECT tbarang.kodebrg, tbarang.namabrg, tbarang.satuan, qbarangbeli.totalbeli, qbarangjual.totaljual, (qbarangbeli.totalbeli)-(qbarangjual.totaljual) AS stok FROM (tbarang LEFT JOIN qbarangbeli ON tbarang.kodebrg=qbarangbeli.kodebrg) LEFT JOIN qbarangjual ON tbarang.kodebrg=qbarangjual.kodebrg;
Sehingga hasilnya sbb :
relasi11

Terlihat dengan jelas, bahwa untuk Sabun GIV membeli sebanyak 20 kemudian laku 4 tinggal 16, Sabun Lifeboy beli 60 laku 6 tinggal 54 dan seterusnya. Sebagai uji coba, coba diupdate datanya pada transaksi penjualan :
update tpenjualan set jumlah=5 where nonota=’J001′ and kodebrg =’BRG001′;
select * from tpenjual

sehingga hasilnya :
relasi12

kelihatan bahwa jumlah yang dijual pada transaksi dengan nonota = J001 dengan kodebrg = BRG001 telah dirubah menjadi 5, mestinya perubahan ini juga berpengaruh pada stok barang, yang tadinya Sabun GIV stoknya 16 menjadi 13 seperti gambar berikut :
relasi13
nah kalau dilihat keseluruhan relasinya sbb :
relasi14

Database Penjualan Barang dengan MySQL

Membuat Database dan Tabel

Untuk membuat sebuah aplikasi perlu dilakukan beberapa analisis data yang akan kita olah menjadi sebuah informasi yang bermanpaat bagi penggunanya. dalam hal ini pertama yang akan kita buat adalah database, sebelumnya anda perlu memikirkan seberapa besar database yang akan diperlukan. Dari hasil pemikiran tersebut anda akan mengira-ira berapa dan apa tabel yang akan digunaka sebagai media penyimpanan datanya.

Membuat Database

Dari beberapa analisis tabel yang diperlukan dalam pembuatan aplikasi penjualan saya memerlukan sekitar enam tabel master dan dua tabel transaksi untuk aplikasi yang akan saya buat. buat database dalam mysql dengan query sebagai berikut:

CREATE DATABASE dbpenjualan;

Selanjutnya, aktifkanlah database yang terbuat dengan perintah berikut
Mysql> USE dbretail;
Database changed
Database changed Pernyataan “Database changed” di atas menandakan anda sekarang telah aktif di dalam database dbpenjualan.

Membuat Tabel jenis
Tabel Jenis Barang digunakan untuk merekam data semua jenis barang. Dengan cara ini, kita dapat mengelompokkan jenis barang adapun struktur tabel jenisnya sebagai berikut

Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut:
mysql> create table tbljenis(
kodejenis char(4) not null primary key,
jenis varchar(60));

Membuat Tabel tblpetugas

Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut:
mysql> create table tblpetugas(
idpetugas char(6) not null primary key,
namapetugas varchar(80),
alamat varchar(100),
email varchar(80),
telpon char(10)
);

Membuat Tabel tbldistributor

mysql> create table tbldistributor(
iddistributor char(6) not null primary key,
namadistributor varchar(80),
alamat varchar(100),
kotasal varchar(80),
email varchar(80),
telpon char(10)
);

Membuat Tabel tblbarang

Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut:
mysql> create table tblbarang(
kodebarang char(4) not null primary key,
namabarang varchar(100),
kodejenis char(4),
harganet double,
hargajual double,
stok smallint(20)
);


Membuat Tabel tblbrgmasuk

Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut:
mysql> create table tblbrgmasuk(
nonota char(10) not null primary key,
tglmasuk varchar(30),
iddistributor char(6),
idpetugas char(6),
total double);

Membuat Tabel tbldetailbrgmasuk

Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut:
mysql> create table tbldetailbrgmasuk(
nonota char(10) not null,
kodebarang char(4) not null,
jumlah smallint(4),
subtotal double);

Membuat Tabel tblpenjualan

Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut:
mysql> create table tblpenjualan(
nofaktur char(10) not null primary key,
tglpenjualan varchar(30),
idpetugas char(6),
bayar double,
sisa double,
total double);

Membuat Tabel tbldetailpenjualan

Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut:
mysql> create table tbldetailpenjualan(
nofaktur char(10) not null,
kodebarang char(4) not null,
jumlah smallint(4),
subtotal double);

setelah beberapa tabel dibuat maka relasi antar tabel digambarkan sebagai berikut

Tanda (PK) menunjukkan kunci utama, sedangkan (FK) adalah kunci tamu dengan diwujudkan arah panahnya.

Klasifikasi Perintah-Perintah MySQL

SQL kependekan dari Structured Query Language, adalah bahasa standar yang digunakan untuk berkomunikasi dengan database relasional. Karena merupakan bahasa standar untuk mengakses database relasional, maka perintah-perintah dalam SQL dapat diterapkan untuk banyak database management system (DBMS). Hampir semua DBMS seperti MySQL, Microsoft SQL Server, Oracle, DB2, PostgreSQL dan lain sebagainya mengenal dan mengerti SQL. Perintah standar SQL pada beberapa DBMS hampir sama, meskipun masing-masing mungkin juga memiliki "dialect of SQL" sendiri yang akan memberikan tambahan atau perluasan pada perintah-perintah standar tersebut.


Perintah-perintah standar dalam SQL dapat diklasifikasikan menjadi empat bagian yaitu Data Definition Language (DDL), Data Manipulation Language (DML), Data Query Language (DQL) dan Data Control Language (DCL).
  • Data Definition Language (DDL) adalah perintah-perintah SQL yang digunakan untuk mendefinisikan struktur dan skema database. Perintah-perintah SQL yang masuk klasifikasi ini antara lain adalah CREATE (membuat obyek di database), ALTER (merubah struktur database), DROP (menghapus obyek database), TRUNCATE (menghapus semua record dari sebuah tabel termasuk semua ruang yang dialokasikan), COMMENT (menambahkan komentar ke kamus data | data dictionary) dan RENAME (memberi nama ulang sebuah obyek).
  • Data Manipulation Language (DML) adalah perintah-perintah SQL yang digunakan untuk memanipulasi data di dalam obyek database. Perintah-perintah SQL yang masuk klasifikasi ini antara lain adalah SELECT (mengambil data dari database), INSERT (memasukkan data ke tabel), UPDATE (memperbarui data yang ada di sebuah tabel), DELETE (menghapus semua record dari sebuah tabel), MERGE-UPSERT (operasi insert dan update), CALL (memanggil PL/SQL atau subprogram Java), EXPLAIN PLAN (menjelaskan jalur akses data) dan LOCK TABLE (mengontrol konkurensi).
  • Data Control Language (DCL) adalah perintah-perintah SQL yang digunakan untuk mengontrol data dan server database. Perintah-perintah SQL yang masuk klasifikasi ini antara lain adalah GRANT (memberikan hak akses pengguna ke database) dan REVOKE (mencabut hak akses yang diberikan dengan perintah GRANT).
  • Transaction Control Language (TCL) adalah perintah-perintah SQL yang digunakan untuk mengontrol pemrosesan transaksional di dalam database. Perintah-perintah SQL yang masuk klasifikasi ini antara lain adalah COMMIT (menerapkan transaksi dengan menyimpan perubahan database), ROLLBACK (mengembalikan database ke kondisi awal sejak terakhir COMMIT), SAVEPOINT (mengidentifikasi titik dalam transaksi yang nanti bisa diputar kembali) dan SET TRANSACTION (Mengubah opsi transaksi seperti tingkat isolasi dan segmen rollback apa yang digunakan).

Perintah Dasar MySQL

1. Perintah untuk login ke database seperti berikut ini:
prompt>mysql -u username -p password
contoh :
C:\>mysql -u root 
sehingga apabila berhasil login akan muncul tampilan berikut ini.


mysql>_

Perintah query. Setelah muncul tampilan di atas mysql telah siap menerima perintah-perintah query untuk akses data seperti membuat database di bawah

CREATE DATABASE namadatabase

mysql> CREATE DATABASE cobadb;

apabila perintah di atas dijalankan DBMS Server MySQL akan menciptakan sebuah database dengan nama 'cobadb'. Tentu saja perintah diketikkan setelah berhasil login ke MySQL.
Perintah untuk menampilkan database yang ada adalah:
mysql> SHOW DATABASES; sedangkan untuk menampilkan tabel dalam database adalah : mysql>SHOW TABLES;

2. Adapun Perintah mengaktifkan database.

bentuk umumnya:  
USE namadatabase
contoh:
mysql> USE cobadb;
3. Bentuk umum: (sintaks) Perintah membuat tabel di database.


CREATE TABLE namatabel
(namafield1 type [NOT NULL] [AUTO_INCREMENT], namafield2 type [NOT NULL] [AUTO_INCREMENT], ..... [PRIMARY KEY(namafield)]
);



keterangan:

namafield1, namafield2, adalah nama field anggota tabel.
NOT NULL, adalah berfungsi untuk membuat status field sebagai field mandatory field,
sehingga apabila saat terjadi penambah record tabel field ini tidak boleh dikosongkan.
contoh:
mysql>CREATE TABLE tamu (idtamu int NOT NULL AUTO_INCREMENT, nmtamu VARCHAR(35) NOT NUL, email VARCHAR(35) NOT NULL, PRIMARY KEY(idtamu));

apabila perintah di atas dijalankan maka haruslah databasenya diaktifkan dulu dengan perintah

mysql> USE cobadb;
tabel di atas memiliki tiga macam field dimana field idtamu berfungsi sebagai field kunci primer.


4. Bentuk Umum Mengubah struktur tabel
ALTER TABLE namatabel ADD | DROP | MODIFY field
contoh, menambah field sex (jenis kelamin) pada tabel tamu.

Mysql > ALTER TABLE tamu ADD sex enum(’L’,’P’);

sedangkan contoh menghapus field 'sex' pada tabel tamu adalah sebagai berikut:
Mysql > ALTER TABLE tamu DROP sex;
perintah-perintah di atas tergolong perintah DDL(Data Definition Language), yang hanya dijalankan pada saat database akan dikontruksikan/dibangun/dibuat. Sedangkan perintah-perintah untuk memanipulasi data dalam database (DML singkatan dari Data Manipulation Language) akan diuraikan berikut ini:

5. Perintah input data dalam tabel
Bentuk umumnya adalah seperti berikut ini:
INSERT INTO namatabel [(field1,field2, ...)] VALUES (datafield1, datafield2, ....);
contoh:
mysql > INSERT INTO tamu (nmtamu, email) VALUES ('Budiman Raharjo', budiman@telkom.net');


-

6. Perintah untuk mengupdate data tabel.

Bentuk Umumnya :

UPDATE namatabel SET namafield1=databaru1, namafield2=databaru2, ... WHERE kondisi
keterangan:

namatabel, adalah nama tabel yang akan dilakukan pengupdatean datanya. namafield1,namafield2 adalah field-field yang akan disunting datanya dengan databarunya

databaru, adalah diisi dengan data baru yang akan mereplace data lama.

kondisi, adalah merupakan penentuan kriteria record-record yang akan diupdate.
contoh:
UPDATE tamu
mysql > SET nmtamu='Budiman Sukarno' WHERE nmtamu='Budiman Raharjo';

7. Menghapus record tabel
Bentuk umumnya:
DELETE FROM  namatabel WHERE kondisi
keterangan:
namatabel, adalah nama tabel yang akan dilakukan penghapusan record datanya.
kondisi, adalah merupakan penentuan kriteria record-record yang akan dihapus.
contoh:
mysql > DELETE FROM tamu WHERE idtamu=3;
8. Perintah untuk menampilkan record-record data tabel
Bentuk umumnya:
SELECT * | field1, field2, …
FROM nama_table1 [ , nama_table2, …] [ WHERE kondisi ]
[ GROUP BY ekspresi ]
[ HAVING kondisi_pencarian ]
[ ORDER BY ekspresi_pengurutan [ ASC | DESC ] ]
Keterangan :
SELECT *
berfungsi untuk menampilkan data seluruh field dari table yang disebutkan setelah klausa
FROM
SELECT field1, field2, …
berfungsi untuk menampilkan data-data dari field-field yang dituliskan secara eksplisit
dari table yang disebutkan setelah klausa SELECT
FROM nama_tabel1, nama_tabel2
berfungsi untuk menentukan tabel yang field-field akan ditampilkan data recordnya.
WHERE kondisi
berfungsi untuk menentukan criteria record-record yang akan dihapus atau ditampilkan.

GROUP BY ekspresi
berisi daftar record-record untuk dijadikan acuan kriteria terhadap record-record data yang dikelompokkan.
HAVING kondisi_pencarian
adalah rumusan kondisi/kriteria record yang digroup yang akan ditampilkan
ORDER BY ekspresi_pengurutan
berisi daftar field-field yang akan dijadikan acuan pengurutan.
ASC
adalah model pengurutan record-record data secara menaik.
DESC
adalah model pengurutan record-record data secara menurun.
Contoh :
Mysql> SELECT * FROM tamu;
Perintah di atas jika dijalankan akan menampilkan seluruh record dari seluruh field dalam tabel tamu.

-

Mysql> SELECT nmtamu, email FROM tamu;



perintah di atas jika dijalankan akan menampilkan seluruh data record-record dari field nmtamu dan email.

-

Mysql> SELECT * FROM tamu WHERE nmtamu LIKE 'Budi%';


perintah di atas menampilkan data-data record yang memiliki nama dengan awalan 'Budi'



-Mysql> SELECT * FROM tamu WHERE idtamu=2;


perintah di atas akan menampilkan data record tabel yang memiliki idtamu bernilai 2.


9. Relasi 2 Tabel
contoh lain:  untuk  menampilkan data dari kombinasi field-field  beberapa tabel yang saling berelasi.


-




-

Perintahnya adalah sebagai berikut :
mysql >
SELECT tblbarang.kdbarang, tblbarang.nmbarang, tblbarang.jmlbarang, tblbarang.hrgbarang, kategori.nmkategori  FROM tblbarang, kategori  WHERE tblbarang.kdkategori = kategori.kdkategori;


10. Perintah untuk menghapus struktur tabel

bentuk umumnya:  DROP TABLE namatabel;

contoh:

mysql> DROP TABLE tamu;
efek perintah jika berhasil dijalankan maka tabel dengan nama 'tamu' akan dihapus secara permanen berikut dengan data yang ada dalam tabel juga akan terhapus.
 

Welcome To My Blog Template by Ipietoon Cute Blog Design