Cara menggunakan perintah alter table mysql

Pada tutorial kali ini, Kita akan belajar tentang Cara Menggunakan Perintah Alter Table Di MySQL.

Apa Itu Alter Table?

Alter Table adalah salah satu perintah SQL yang digunakan untuk mengubah susunan atau struktur sebuah tabel, seperti menambahkan kolom, menghapus kolom, mengubah nama kolom, mengubah tipe data, memberikan komentar pada tabel dan kolom, menambahkan constraint, menghapus constraint, dan lain sebagainya.

Sebagai contoh latihan pada tutorial ini, coba Anda buat sebuah tabel dengan nama "TBL_PEGAWAI" seperti perintah di bawah ini:

CREATE  TABLE tbl_pegawai (
    id_pegawai INT NOT NULL ,
    nama_pegawai VARCHAR(30) NULL ,
    alamat VARCHAR(30) NULL,
    jenis_kelamin CHAR(1) NOT NULL,
    PRIMARY KEY (id_pegawai)
);

Menambah Kolom

Untuk menambah sebuah kolom pada tabel di database, Anda dapat menggunakan sintak di bawah ini:

ALTER TABLE table_name
ADD COLUMN column_name datatype [NULL|NOT NULL]
[AFTER|BEFORE] existing_column_name;

Penjelasan sintak:

  • ALTER TABLE adalah perintah SQL untuk merubah struktur tabel, diikuti dengan table_name yaitu nama tabel yang akan Anda ubah strukturnya.
  • ADD COLUMN adalah perintah SQL untuk menambah kolom pada tabel diikuti dengan nama kolom, tipe data, dan parameter lainnya (Null atau Not Null)
  • AFTER atau BEFORE adalah parameter tambahan, yaitu digunakan untuk menentukan posisi atau letak kolom yang Anda tambahkan, apakan sebelum atau sesudah kolom yang sudah ada sebelumnya (existing_column_name).

Contoh

Sebagai contoh, coba Anda tambahkan sebuah kolom pada tabel "TBL_PEGAWAI" sebagai berikut:

  • Tambahkan sebuah kolom dengan nama "no_hp" dengan tipe data VARCHAR(15) dan atribut NOT NULL.

    Untuk menambahkan kolom sesuai diatas, Anda dapat menjalankan perintah di bawah ini:

    ALTER TABLE tbl_pegawai
    ADD COLUMN no_hp VARCHAR(15) NOT NULL;
    

  • Tambahkan sebuah kolom dengan nama "jabatan" dengan tipe data VARCHAR(20) dan atribut NULL dan tempatkan setelah kolom "jenis_kelamin".

    Untuk menambahkan kolom sesuai kriteria diatas, Anda dapat menjalankan perintah di bawah ini:

    ALTER TABLE tbl_pegawai
    ADD COLUMN no_hp VARCHAR(15) NULL
    AFTER jenis_kelamin;
    

About Unknown

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

MySQL perintah ALTERsangat berguna ketika Anda ingin mengubah nama tabel Anda, setiap bidang meja atau jika Anda ingin menambahkan atau menghapus kolom yang ada dalam sebuah tabel.

Mari kita mulai dengan membuat tabel yang disebut testalter_tbl

root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> create table testalter_tbl
    -> (
    -> i INT,
    -> c CHAR(1)
    -> );
Query OK, 0 rows affected (0.05 sec)
mysql> SHOW COLUMNS FROM testalter_tbl;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| i     | int(11) | YES  |     | NULL    |       |
| c     | char(1) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)

Menjatuhkan, Menambah, atau Reposisi Kolom:

Misalkan Anda ingin drop kolom yang ada saya dari atas tabel MySQL maka Anda akan menggunakan klausa DROP bersama dengan perintah ALTER sebagai berikut

mysql> ALTER TABLE testalter_tbl  DROP i;

DROP A tidak akan bekerja jika kolom adalah satu-satunya yang tersisa di meja.

Untuk menambahkan kolom, gunakan ADD dan menentukan definisi kolom.Pernyataan berikut mengembalikan kolom i ke testalter_tbl

mysql> ALTER TABLE testalter_tbl ADD i INT;

Setelah mengeluarkan pernyataan ini, testalter akan berisi dua kolom yang sama bahwa itu saat pertama kali membuat tabel, tetapi tidak akan memiliki cukup struktur yang sama. Itu karena kolom baru ditambahkan ke ujung meja secara default. Jadi meskipun saya awalnya adalah kolom pertama di mytbl, sekarang adalah yang terakhir:

mysql> SHOW COLUMNS FROM testalter_tbl;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| c     | char(1) | YES  |     | NULL    |       |
| i     | int(11) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)

Untuk menunjukkan bahwa Anda ingin kolom pada posisi tertentu dalam tabel, baik menggunakan PERTAMA untuk membuat kolom pertama, atau SETELAH col_name untuk menunjukkan bahwa kolom baru harus ditempatkan setelah col_name.Coba berikut ALTER TABLE laporan, menggunakan KOLOM TUNJUKKAN setelah masing-masing untuk melihat apa efek masing-masing memiliki:

ALTER TABLE testalter_tbl DROP i;
ALTER TABLE testalter_tbl ADD i INT FIRST;
ALTER TABLE testalter_tbl DROP i;
ALTER TABLE testalter_tbl ADD i INT AFTER c;

Para penspesifikasi PERTAMA dan SETELAH bekerja hanya dengan klausa ADD. Ini berarti bahwa jika Anda ingin mengubah posisi suatu kolom yang ada dalam tabel, Anda harus terlebih dahulu DROP dan kemudian ADD itu di posisi baru.

Mengubah Definisi Kolom atau Nama:

Untuk mengubah definisi kolom, gunakan MENGUBAH atau klausa Ganti bersama dengan perintah ALTER.Sebagai contoh, untuk mengubah c kolom dari CHAR (1) ke CHAR (10), lakukan ini:

mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);

Dengan PERUBAHAN, sintaks yang sedikit berbeda. Setelah kata kunci Ganti, Anda nama kolom yang ingin Anda ubah, kemudian tentukan definisi baru, yang meliputi nama baru. Coba contoh berikut:

mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;

Jika Anda sekarang menggunakan Ganti untuk mengubah j dari BIGINT kembali ke INA tanpa mengubah nama kolom, pernyataan itu akan seperti yang diharapkan:

mysql> ALTER TABLE testalter_tbl CHANGE j j INT;

Pengaruh ALTER TABLE pada Null dan Atribut Default Value:

Ketika Anda memodifikasi atau mengubah kolom, Anda juga dapat menentukan apakah atau tidak kolom dapat berisi nilai NULL, dan apa nilai default adalah.Bahkan, jika Anda tidak melakukan ini, MySQL secara otomatis memberikan nilai untuk atribut tersebut.

Berikut adalah contoh di mana kolom NOT NULL akan memiliki nilai 100 secara default.

mysql> ALTER TABLE testalter_tbl
    -> MODIFY j BIGINT NOT NULL DEFAULT 100;

Jika Anda tidak menggunakan perintah di atas maka MySQL akan mengisi nilai-nilai NULL di semua kolom.

Mengubah Default Value Kolom ini:

Anda dapat mengubah nilai default untuk setiap kolom menggunakan perintah ALTER. Coba contoh berikut.

mysql> ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;
mysql> SHOW COLUMNS FROM testalter_tbl;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| c     | char(1) | YES  |     | NULL    |       |
| i     | int(11) | YES  |     | 1000    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)

Anda dapat menghapus kendala default dari setiap kolom dengan menggunakan klausa DROP bersama dengan perintah ALTER.

mysql> ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;
mysql> SHOW COLUMNS FROM testalter_tbl;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| c     | char(1) | YES  |     | NULL    |       |
| i     | int(11) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)

Mengubah Tabel Tipe:

Anda dapat menggunakan tipe tabel dengan menggunakan klausa JENIS perintah ALTER alongwith.Coba contoh berikut untuk mengubah testalter_tbl untuk tipe tabel MYISAM.

Untuk mengetahui jenis saat tabel, gunakan pernyataan SHOW TABLE STATUS.

mysql> ALTER TABLE testalter_tbl TYPE = MYISAM;
mysql>  SHOW TABLE STATUS LIKE 'testalter_tbl'\G
*************************** 1. row ****************
           Name: testalter_tbl
           Type: MyISAM
     Row_format: Fixed
           Rows: 0
 Avg_row_length: 0
    Data_length: 0
Max_data_length: 25769803775
   Index_length: 1024
      Data_free: 0
 Auto_increment: NULL
    Create_time: 2007-06-03 08:04:36
    Update_time: 2007-06-03 08:04:36
     Check_time: NULL
 Create_options:
        Comment:
1 row in set (0.00 sec)

Mengganti Nama Tabel:

Untuk mengubah nama tabel, gunakan pilihan RENAME pernyataan ALTER TABLE.Coba contoh berikut untuk mengubah nama testalter_tbl untuk alter_tbl

mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;

Anda dapat menggunakan perintah ALTER untuk membuat dan drop INDEKS pada file MySQL. Kita akan melihat fitur ini pada bab berikutnya.

Digunakan untuk apa perintah Alter?

Perintah ALTER TABLE digunakan untuk menambah, menghapus, atau mengubah kolom dalam tabel.

Apa itu alter dalam MySQL?

ALTER TABLE .. merupakan perintah untuk merubah atau memodifikasi tabel yang sudah ada atau sebelumnya pernah kita buat, baik itu menambahkan kolom baru, modifikasi kolom ataupun menghapus kolom. Singkatnya, ALTER TABLE ini digunakan untuk merubah struktur sebuah table.

Uraikanlah pada kondisi seperti apa kita harus menggunakan perintah Alter?

Perintah Alter: biasa digunakan ketika seseorang ingin mengubah struktur tabel yang sebelumnya sudah ada. Bisa jadi dalam hal ini adalah seperti nama tabel, penambahan kolom, mengubah, maupun menghapus kolom serta menambahkan atribut lainnya.

Sebutkan apa saja perintah DML?

Perintah dalam DML terbagi ke dalam empat jenis. Beberapa di antaranya yaitu insert, select, update, dan delete.