Tutorial MySQL: View Pada MySQL

0 comments
View digunakan untuk membatasi user ketika mengakses tabel pada suatu database supaya mereka hanya dapat mengakses informasi yang mereka perlukan saja dan mencegah supaya mereka tidak dapat mengakses informasi yang tidak seharusnya mereka akses.

Terdapat 3 statement View, yaitu CREATE, ALTER, dan DROP. Ketiganya termasuk kedalam jenis perintah DDL (Data Definition Language).

1. CREATE VIEW.
Syntaknya adalah: CREATE VIEW nama_view AS SELECT * FROM nama_tabel;. Misalkan kita memiliki tabel users yang mempunyai kolom first_nm dan last_nm.


Misalkan akan dibuat View nama yang akan menampilkan kolom first_nm pada tabel users. Syntaxnya adalah sebagai berikut.


SELECT * FROM VIEW nama; digunakan untuk menampilkan view nama.

2. ALTER VIEW.

ALTER VIEW digunakan ketika kita ingin mengubah view yang lama dengan query baru. Syntaxnya adalah ALTER VIEW nama_view as <query baru>;.


3. DROP View.

DROP VIEW digunakan jika kita ingin menghapus view dari suatu database. Syntaxnya adalah DROP VIEW nama_view;.

Foreign Key Pada MySQL

2 comments
Foreign Key adalah kolom atau field pada suatu tabel yang berfungsi sebagai kunci tamu dari tabel lain. Foreign Key sangat berguna bila kita bekerja dengan banyak tabel yang saling berelasi satu sama lain.

Step 1. Buat tabel mahasiswa.
CREATE TABLE mahasiswa(
id_mahasiswa INT(8) NOT NULL PRIMARY KEY,
nama VARCHAR(20) NOT NULL) ENGINE = INNODB;
Step 2. Buat tabel nilai
CREATE TABLE nilai(
uts INT(3) NOT NULL,
uas INT(3) NOT NULL,
id_mahasiswa INT(8) NOT NULL PRIMARY KEY,
FOREIGN KEY(id_mahasiswa) REFERENCES mahasiswa(id_mahasiswa) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE = INNODB;
Penting untuk diketahui, setiap tabel pada MySQL yang memiliki foreign key, engine tabel nya harus berupa INNODB. Hal ini tentu berbeda dengan engine tabel yang diberikan secara default oleh MySQL yaitu MyISAM.

Untuk merubah engine tabel dapat menggunakan statement ENGINE = INNODB setelah pendefinisian kolom pada penciptaan tabel.

Statement ON DELETE CASCADE dan ON UPDATE CASCADE berfungsi jika record dengan primary key tertentu pada suatu tabel di hapus atau di ubah maka record pada tabel lain yang memiliki foreign key sama dengan primary key pada tabel tersebut akan ikut terhapus atau nilai foreign key nya juga ikut berubah jika di update.

Step 3. Insert record ke tabel mahasiswa.
INSERT INTO mahasiswa VALUES('30107122','Etap');
INSERT INTO mahasiswa VALUES('30107777','Iqbal');
INSERT INTO mahasiswa VALUES('30105566','Thomas');
INSERT INTO mahasiswa VALUES('30104432','Nando');
Step 4. Insert record ke tabel nilai.
INSERT INTO nilai VALUES(100,100,'30107122');
INSERT INTO nilai VALUES(50,70,'30107777');
INSERT INTO nilai VALUES(85,60,'30105566');
INSERT INTO nilai VALUES(80,80,'30104432');
Step 5. Tampilkan record tabel mahasiswa dan nilai.


Misalkan kita hapus record pada tabel mahasiswa yang memiliki id_mahasiswa = 30107177.


Maka record pada tabel nilai yang memiliki id_mahasiswa = 30107777 juga ikut terhapus.

Join Pada MySQL

0 comments
Join adalah operator pada MySQL yang digunakan untuk menampilkan record atau beberapa kolom tertentu ke lebih dari satu tabel dengan menggunakan statement SELECT.

Bentuk Umum Join:
SELECT FROM table1.column1, table1.column2, table2.column1, table2.column2
FROM table1, table2
WHERE <condition>

Contoh Pemakaian Operator Join: Step 1. Buat Tabel Users.
CREATE TABLE users(
id_user int(10) NOT NULL PRIMARY KEY AUTO_INCREMENT,
nm_user VARCHAR(40) NOT NULL) ENGINE = INNODB;
Step 2. Insert Record Ke Tabel Users.
INSERT INTO users VALUES(NULL,'etap');
INSERT INTO users VALUES(NULL,'iqbal');
INSERT INTO users VALUES(NULL,'thomas');
Step 3. Tampilkan Record Pada Tabel Users.
SELECT * FROM users;
Step 4. Buat Tabel Status.
CREATE TABLE status( 
id_status int(10) NOT NULL PRIMARY KEY AUTO_INCREMENT,
status VARCHAR(256) NOT NULL,
id_user INT(10) NOT NULL,
FOREIGN KEY(id_user) REFERENCES users(id_user) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE = INNODB;
Step 5. Insert Record Ke Tabel Status.
INSERT INTO status VALUES(NULL,'broken heart...',2);
INSERT INTO status VALUES(NULL,'ngoding sampe mampus',1);
INSERT INTO status VALUES(NULL,'lagi menghayal jadi PNS',2);
INSERT INTO status VALUES(NULL,'gw master VB.NET',3);
INSERT INTO status VALUES(NULL,'PI tinggal di jilid..!!',1);
Step 6. Tampilkan Record Pada Tabel Status.
SELECT * FROM status;
Step 7. Join Tabel Users dengan Tabel Status:
SELECT nm_user,status FROM users,status
WHERE users.id_user = status.id_user;

UPDATE DAN DELETE PADA MYSQL

1 comments
Selain SELECT dan INSERT, perintah lain yang sering digunakan dalam DML (Data Manipulation Language) adalah UPDATE dan DELETE.

UPDATE
Bentuk Umum:
UPDATE [LOW_PRIORITY] [IGNORE] table_reference
    SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT row_count]
Statement UPDATE digunakan untuk mengubah data yang ada pada record tertentu sesuai dengan kriteria yang telah ditentukan.

Sebagai contoh, kita akan mengupdate record pada tabel mahasiswa. Kita masih menggunakan database universitas pada tutorial sebelumnya. Misalkan dalam tabel mahasiswa terdapat record sebagai berikut.
+----------+--------+
| npm      | nama   |
+----------+--------+
| 30107122 | etap   |
| 30107756 | fajar  |
| 30104456 | rindi  |
| 30105543 | uli    |
| 30105213 | eka    |
+----------+--------+
Misalkan kita ingin merubah nama mahasiswa yang memiliki nomor npm 30107122 menjadi musthafa.
update mahasiswa set nama = 'musthafa' where npm = '30107122';

select * from mahasiswa;

+----------+----------+
| npm      | nama     |
+----------+----------+
| 30107122 | musthafa |
| 30107756 | fajar    |
| 30104456 | rindi    |
| 30105543 | uli      |
| 30105213 | eka      |
+----------+----------+
Merubah nama mahasiswa yang memiliki nama rindi menjadi rindu.
update mahasiswa set nama = 'rindu' where nama = 'rindi';

select * from mahasiswa;

+----------+----------+
| npm      | nama     |
+----------+----------+
| 30107122 | musthafa |
| 30107756 | fajar    |
| 30104456 | rindu    |
| 30105543 | uli      |
| 30105213 | eka      |
+----------+----------+
Mengubah npm mahasiswa yang memiliki nama uli menjadi 30105555.
update mahasiswa set npm = '30105555' where nama = 'uli';

select * from mahasiswa;

+----------+----------+
| npm      | nama     |
+----------+----------+
| 30107122 | musthafa |
| 30107756 | fajar    |
| 30104456 | rindu    |
| 30105555 | uli      |
| 30105213 | eka      |
+----------+----------+
Pada dasarnya, kita dapat menggunakan seluruh field yang ada pada suatu tabel sebagai kriteria untuk mengupdate data pada suatu record. Akan tetapi, sangat disarankan untuk selalu menggunakan primary key (dalam hal ini kolom npm) sebagai kriteria karena primary memiliki sifat yang unique.

DELETE
Bentuk Umum:
UPDATE [LOW_PRIORITY] [IGNORE] table_reference
    SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT row_count]
Statement DELETE digunakan untuk menghapus record pada suatu tabel. Syntax-nya hampir sama seperti statement UPDATE.

Misalkan kita akan menghapus record yang memiliki npm 30105213.
delete from mahasiswa where npm = '30105213';

select * from mahasiswa;

+----------+----------+
| npm      | nama     |
+----------+----------+
| 30107122 | musthafa |
| 30107756 | fajar    |
| 30104456 | rindu    |
| 30105555 | uli      |
+----------+----------+
Menghapus record yang memiliki nama fajar.
delete from mahasiswa where nama = 'fajar';

select * from mahasiswa;

+----------+----------+
| npm      | nama     |
+----------+----------+
| 30107122 | musthafa |
| 30104456 | rindu    |
| 30105555 | uli      |
+----------+----------+
Kita juga dapat menghapus semua record yang ada pada suatu tabel dengan menggunakan statement DELETE.
delete from mahasiswa;

select * from mahasiswa;
Empty set (0.00 sec)
Sekian tutorial dari saya.