Tabel dapat dimodifikasi sesuai kebutuhan, misal:
- menambah atribut (kolom),
- mengubah definisi kolom,
- menambahkan key dan index,
- menghapus key dan index,
- mengubah nama tabel,
- mengubah susunan atribut.
Modifikasi Tabel – Sintaks Umum
ALTER TABLE <nama tabel>
<opsi alter> [{, <opsi alter>}...]
< opsi alter >::=
{ADD [COLUMN] <definisi kolom> [FIRST | AFTER <nama kolom>]}
| {ADD [COLUMN] (<elemen tabel> [{, <elemen tabel>}...])}
| {ADD [CONSTRAINT <nama batasan>] PRIMARY KEY
(<nama kolom > [{, < nama kolom >}...])}
| {ADD [CONSTRAINT < nama batasan >] FOREIGN KEY [<nama indeks>]
(<nama kolom > [{, < nama kolom >}...]) <definisi referensi>}
| {ADD [CONSTRAINT < nama batasan >] UNIQUE [<nama indeks >]
(<nama kolom > [{, < nama kolom >}...])}
| {ADD INDEX [<nama indeks >] (<nama kolom > [{, < nama kolom >}...])}
| {ADD FULLTEXT [<nama indeks >] (<nama kolom > [{, < nama kolom >}...])}
| {ALTER [COLUMN] < nama kolom > {SET DEFAULT <nilai> | DROP DEFAULT}}
| {CHANGE [COLUMN] <nama kolom> <definisi kolom> [FIRST | AFTER <nama kolom>]}
| {MODIFY [COLUMN] < definisi kolom > [FIRST | AFTER < nama kolom >]}
| {DROP [COLUMN] < nama kolom >}
| {DROP PRIMARY KEY}
| {DROP INDEX < nama indeks >}
| {DROP FOREIGN KEY < nama batasan >}
| {RENAME [TO] <nama tabel baru>}
| {ORDER BY <nama kolom> [{, < nama kolom >}...]}
| {<opsi tabel> [<opsi tabel>...]}
Modifikasi Tabel - Contoh
Tabel Mahasiswa
CREATE TABLE MahasiswaUntuk mengecek sintaks pembuatan tabel:
(
nim CHAR(8) NOT NULL,
nama VARCHAR(30) NOT NULL,
kelamin CHAR(9) NOT NULL,
tahun_lahir YEAR NOT NULL
)
ENGINE=InnoDB;
SHOW CREATE TABLE Mahasiswa;
Pengelolaan Index
Sebuah index adalah perangkat dari MySQL yang digunakan untuk mempercepat pencarian dan mengurangi waktu yang diperlukan untuk mengeksekusi query yang kompleks.
Index mengorganisasikan daftar penunjuk ke data aktual.
Saat MySQL mengeksekusi query, dia tidak harus membaca setiap tabel secara keseluruhan untuk mencari data yang sesuai, namun dia membaca indeksnya saja, sehingga memberikan akses yang lebih cepat dan efisien.
Tipe-Tipe Index
Membuat Index UNIQUE
(Dibuat berdasarkan tabel Nilai yang pernah dibahas di pertemuan sebelumnya. Pastikan tabel Mahasiswa dan Kuliah sudah dibuat.)
CREATE TABLE nilai
(
nim CHAR(8) NOT NULL,
kode_mk CHAR(8) NOT NULL,
semester TINYINT,
tahun YEAR,
uts SMALLINT,
uas SMALLINT,
na FLOAT(2),
hm CHAR(1) DEFAULT 'T',
FOREIGN KEY (nim) REFERENCES mahasiswa(nim),
FOREIGN KEY (kode_mk) REFERENCES kuliah(kode_mk),
UNIQUE (nim, kode_mk, semester, tahun)
)
ENGINE=INNODB;
Membuat Index - Lain
Tipe Index lainnya adalah Index reguler dan FULLTEXT.
Untuk Index reguler, di sintaks CREATE TABLE, cukup ditambahkan:
INDEX (nama_atribut)
Sedangkan untuk FULLTEXT, disyaratkan pada tabel dengan tipe MyISAM dan tipe atribut CHAR, VARCHAR, dan TEXT. Contoh:
FULLTEXT (nama_atribut)
Menambah Index pada Tabel
Metode 1, melalui perintah ALTER.
(Asumsi tabel Nilai belum punya index UNIQUE)
ALTER TABLE NilaiPenamaan index kunci_unik bermanfaat ketika index tersebut hendak dihapus dari tabel bersangkutan.
ADD UNIQUE kunci_unik (nim, kode_mk, semester, tahun);
Metode 2, melalui perintah CREATE INDEX.
CREATE UNIQUE INDEX kunci_unik ON nilai (nim, kode_mk, semester, tahun);
Menghapus Index pada Tabel
Metode 1, melalui perintah ALTER.
(Asumsi tabel Nilai sudah memiliki index UNIQUE)
ALTER TABLE NilaiMetode 2, melalui perintah DROP INDEX.
DROP INDEX kunci_unik;
DROP INDEX kunci_unik ON nilai;Jika dalam sebuah tabel mengandung index FOREIGN KEY yang atributnya juga memiliki index UNIQUE, maka penghapusan index dilakukan pada FOREIGN KEY terlebih dahulu.
EmoticonEmoticon