Administrasi Table Di MySQL Bagian 4 - Mengubah Struktrur Table

Pada tutorial MySQL kali ini, kita akan belajar tentang Cara Mengubah Struktur Table Di MySQL. Mengubah struktur table disini artinya, Anda dapat memodifikasi sebuah table dengan cara menambahkan kolom baru, menghapus kolom yang sudah ada, mengubah tipe data, menambahkan deskripsi dari sebuah kolom dan table, menambahkan constraint, menghapus constraint, dan lain sebagainya.

Alter Table Command MySQL


Untuk mengubah struktur sebuah table di MySQL, Anda dapat menggunakan perintah atau statement ALTER TABLE.

Sintak Dasar


Di bawah ini adalah beberapa sintak dasar penggunaan perintah ALTER TABLE:

  • Menambahkan Kolom

    Untuk menambahkan sebuah kolom baru pada sebuah table, Anda menggunakan perintah berikut ini:

    ALTER TABLE table_name ADD column_name data_type;
    
    

    table_name adalah nama table yang akan Anda ubah strukturnya, sedangkan column_name dan data_type adalah nama kolom dan tipe data baru yang akan Anda tambahkan.

  • Menghapus Kolom

    Untuk menghapus sebuah kolom pada sebuah table, Anda menggunakan perintah berikut ini:

    ALTER TABLE table_name DROP column_name;
    
    

    table_name adalah nama table yang akan Anda ubah strukturnya, sedangkan column_name adalah nama kolom yang akan Anda hapus.

  • Mengubah Tipe Data

    Untuk mengubah tipe data pada sebuah kolom di table, Anda menggunakan perintah berikut ini:

    ALTER TABLE table_name MODIFY column_name data_type [NULL|NOT NULL];
    
    

    table_name adalah nama table yang akan Anda ubah strukturnya, sedangkan column_name dan data_type adalah nama kolom dan tipe data baru yang akan Anda update.

  • Menambahkan Primary Key

    Untuk menambahkan sebuah primary key di sebuah table, Anda dapat menggunakan perintah berikut ini:

    ALTER TABLE table_name 
    ADD CONSTRAINT my_pk_constraint PRIMARY KEY (column1, column2...);
    
    

    table_name adalah nama table yang akan Anda ubah strukturnya. my_pk_constraint adalah nama primary key yang akan Anda tambahkan. column1, column2, dan seterusnya adalah kolom yang akan Anda jadikan sebagai primary key.

  • Menambahkan Unique Constraint

    Untuk menambahkan sebuah Unique Constraint di sebuah table, Anda dapat menggunakan perintah berikut ini:

    ALTER TABLE table_name 
    ADD CONSTRAINT my_unique_const UNIQUE(column1, column2...);
    
    

    table_name adalah nama table yang akan Anda ubah strukturnya. my_unique_const adalah nama unique constraint yang akan Anda tambahkan. column1, column2, dan seterusnya adalah kolom yang akan Anda jadikan sebagai unique key.

  • Menambahkan Check Constraint

    Untuk menambahkan sebuah Check Constraint di sebuah table, Anda dapat menggunakan perintah berikut ini:

    ALTER TABLE table_name 
    ADD CONSTRAINT my_check_const CHECK (CONDITION);
    
    

    table_name adalah nama table yang akan Anda ubah strukturnya. my_check_const adalah nama check constraint yang akan Anda tambahkan. Condition adalah aturan yang diterapkan pada kolom tersebut, misalkan data yang masuk hanya boleh huruf 'L' atau 'P' pada kolom jenis kelamin.

  • Menghapus Constraint

    Untuk menghapus sebuah constraint di sebuah table, Anda dapat menggunakan perintah berikut ini:

    ALTER TABLE table_name 
    DROP CONSTRAINT my_constraint;
    
    

    table_name adalah nama table yang akan Anda ubah strukturnya, sedangkan my_constraint adalah nama constraint yang akan Anda hapus.

Contoh


Misalkan Anda telah memiliki sebuah table "tbl_employee" dengan struktur table sebagai berikut:

mysql> DESCRIBE tbl_employee;
+---------------+---------------+------+-----+---------+-------+
| Field         | Type          | Null | Key | Default | Extra |
+---------------+---------------+------+-----+---------+-------+
| employee_id   | int(5)        | NO   |     | NULL    |       |
| employee_name | varchar(20)   | NO   |     | NULL    |       |
| birth_date    | date          | YES  |     | NULL    |       |
| birth_place   | varchar(20)   | YES  |     | NULL    |       |
| salary        | decimal(10,2) | YES  |     | NULL    |       |
| department    | varchar(5)    | YES  |     | NULL    |       |
+---------------+---------------+------+-----+---------+-------+
6 rows in set (0.08 sec)

Dari struktur table di atas,
  • Dari struktur table diatas, coba Anda tambahkan sebuah kolom baru dengan nama "phone_no" dengan tipe data varchar(15) dan tampilkan kembali struktur table tersebut.

    Untuk menambahkan sebuah kolom baru sesuai permintaan diatas, Anda dapat menjalankan perintah berikut ini:

    mysql> ALTER TABLE tbl_employee
        -> ADD COLUMN phone_no VARCHAR(15);
    Query OK, 0 rows affected (0.61 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    mysql>
    
    

    Untuk Menampilkan hasilnya, Anda dapat menggunakan perintah DESCRIBE pada table "tbl_employee" tsb.

    mysql> DESCRIBE tbl_employee;
    +---------------+---------------+------+-----+---------+-------+
    | Field         | Type          | Null | Key | Default | Extra |
    +---------------+---------------+------+-----+---------+-------+
    | employee_id   | int(5)        | NO   |     | NULL    |       |
    | employee_name | varchar(20)   | NO   |     | NULL    |       |
    | birth_date    | date          | YES  |     | NULL    |       |
    | birth_place   | varchar(20)   | YES  |     | NULL    |       |
    | salary        | decimal(10,2) | YES  |     | NULL    |       |
    | department    | varchar(5)    | YES  |     | NULL    |       |
    | phone_no      | varchar(15)   | YES  |     | NULL    |       |
    +---------------+---------------+------+-----+---------+-------+
    7 rows in set (0.00 sec)
    
    
  • Hapus kolom phone_no pada table "tbl_employee" tersebut. Untuk menghapus sebuah kolom Anda dapat menjalankan perintah berikut ini:

    mysql> ALTER TABLE tbl_employee
        -> DROP COLUMN phone_no;
    Query OK, 0 rows affected (0.59 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    


Sekian tutorial singkat tentang Cara Mengubah Struktur Sebuah Table Di MySQL. Semoga bermanfaat & Happy Learning MySQL Database.

Salam,

Nursalim

Share this

Related Posts

Previous
Next Post »