Cara menambahkan kolom dalam tabel di SQL
Pengantar
- Untuk menambahkan kolom di tabel yang sudah dibuat, seseorang perlu menggunakan perintah ALTER bersama dengan klausa ADD.
- Jika dalam query tidak ditentukan dimana kolom baru akan ditambahkan, maka secara default akan ditambahkan sebagai kolom terakhir.
- Seseorang juga dapat menambahkan kolom baru pada kolom pertama atau bahkan setelah kolom tertentu dari tabel yang sudah dibuat.
- Anda dapat menambahkan satu kolom atau lebih dari satu kolom sekaligus menggunakan satu kueri SQL.
(A). Menambahkan kolom baru di akhir tabel yang ada
Sintaks:
ALTER TABLE tablename ADD (ColumnName datatype);
di mana ,
- Nama tabel adalah nama tabel yang sudah ada yang harus Anda tambahkan kolom baru.
- Column_name adalah nama kolom yang akan ditambahkan ke tabel yang sudah ada.
Contoh:
Pertama, kita akan membuat database dengan nama “studentdb ”. Kemudian pada database tersebut kita akan membuat tabel “siswa” dan memasukkan record ke dalam tabel tersebut. Kami akan mempertimbangkan database yang sama dan juga tabel yang sama untuk contoh selanjutnya.
Sekarang, kita akan menambahkan kolom baru 'Kota' ke tabel yang ada.
mysql> USE studentdb; Database changed mysql> SELECT *FROM student; +---------+-----------+-----------+-------------+ | Stud_ID | Stud_Name | Course_ID | Course_Name | +---------+-----------+-----------+-------------+ | 1 | Prajakta | 101 | DBMS | | 2 | Shweta | 102 | CN | | 3 | Nikita | 103 | OS | | 4 | Ankita | 104 | C | +---------+-----------+-----------+-------------+ 4 rows in set (0.00 sec) mysql> ALTER TABLE student ADD (City VARCHAR(20)); Query OK, 4 rows affected (0.29 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql> SELECT *FROM student; +---------+-----------+-----------+-------------+------+ | Stud_ID | Stud_Name | Course_ID | Course_Name | City | +---------+-----------+-----------+-------------+------+ | 1 | Prajakta | 101 | DBMS | NULL | | 2 | Shweta | 102 | CN | NULL | | 3 | Nikita | 103 | OS | NULL | | 4 | Ankita | 104 | C | NULL | +---------+-----------+-----------+-------------+------+ 4 rows in set (0.00 sec)
Kolom baru 'Kota' ditambahkan ke tabel siswa yang ada. Karena, dalam kueri kami belum menentukan di mana itu akan ditambahkan sehingga secara default ditambahkan sebagai kolom terakhir.
(B)Menambahkan lebih dari satu kolom ke tabel yang ada
Sintaks:
ALTER TABLE tablename ADD (ColumnName1 datatype, ColumnName2 datatype);
Contoh:
Sekarang, kami akan menambahkan dua kolom baru 'Kota' dan 'Tanda' ke tabel yang ada menggunakan satu kueri.
mysql> GUNAKAN studentdb;
Keluaran:
Database changed mysql> SELECT *FROM student; +---------+-----------+-----------+-------------+ | Stud_ID | Stud_Name | Course_ID | Course_Name | +---------+-----------+-----------+-------------+ | 1 | Prajakta | 101 | DBMS | | 2 | Shweta | 102 | CN | | 3 | Nikita | 103 | OS | | 4 | Ankita | 104 | C | +---------+-----------+-----------+-------------+ 4 rows in set (0.00 sec) mysql> ALTER TABLE student ADD (City VARCHAR(20),Marks INT); Query OK, 4 rows affected (0.40 sec) mysql> SELECT *FROM student;
Keluaran:
+---------+-----------+-----------+-------------+------+-------+ | Stud_ID | Stud_Name | Course_ID | Course_Name | City | Marks | +---------+-----------+-----------+-------------+------+-------+ | 1 | Prajakta | 101 | DBMS | NULL | NULL | | 2 | Shweta | 102 | CN | NULL | NULL | | 3 | Nikita | 103 | OS | NULL | NULL | | 4 | Ankita | 104 | C | NULL | NULL | +---------+-----------+-----------+-------------+------+-------+ 4 rows in set (0.00 sec)
Kolom baru 'Kota' dan 'Tanda' ditambahkan ke tabel siswa yang ada. Karena, dalam kueri kami belum menentukan di mana itu akan ditambahkan, jadi secara default kedua kolom ditambahkan terakhir menggunakan satu kueri.
(C) Menambahkan kolom di posisi pertama tabel yang ada
Sintaks :
ALTER TABLE tablename ADD ColumnName datatype FIRST;
Contoh: Sekarang, kita akan menambahkan kolom baru 'Sr_No' ke tabel yang ada sebagai kolom pertama.
mysql> USE studentdb;
Keluaran:
Database changed mysql> SELECT *FROM student; +---------+-----------+-----------+-------------+ | Stud_ID | Stud_Name | Course_ID | Course_Name | +---------+-----------+-----------+-------------+ | 1 | Prajakta | 101 | DBMS | | 2 | Shweta | 102 | CN | | 3 | Nikita | 103 | OS | | 4 | Ankita | 104 | C | +---------+-----------+-----------+-------------+ 4 rows in set (0.00 sec) mysql> ALTER TABLE student ADD Sr_No INT FIRST;
Keluaran:
Query OK, 4 rows affected (0.24 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql> SELECT *FROM student;
Keluaran:
+-------+---------+-----------+-----------+-------------+ | Sr_No | Stud_ID | Stud_Name | Course_ID | Course_Name | +-------+---------+-----------+-----------+-------------+ | NULL | 1 | Prajakta | 101 | DBMS | | NULL | 2 | Shweta | 102 | CN | | NULL | 3 | Nikita | 103 | OS | | NULL | 4 | Ankita | 104 | C | +-------+---------+-----------+-----------+-------------+ 4 rows in set (0.00 sec)
Kolom baru 'Sr_No' ditambahkan ke tabel siswa yang ada. Karena, dalam kueri kami telah menentukan kata kunci 'PERTAMA' sehingga 'Sr_No' ditambahkan sebagai kolom pertama.
(D) Menambahkan kolom baru setelah kolom tertentu dari tabel yang ada
Sintaks:
ALTER TABLE tablename ADD ColumnName datatype AFTER column_name;
Contoh:
Sekarang, kita akan menambahkan kolom baru 'Marks' ke tabel yang ada setelah 'Course_Name' .
mysql> USE studentdb;
Keluaran:
Database changed mysql> SELECT *FROM student;
Keluaran:
+---------+-----------+-----------+-------------+------+ | Stud_ID | Stud_Name | Course_ID | Course_Name | City | +---------+-----------+-----------+-------------+------+ | 1 | Prajakta | 101 | DBMS | NULL | | 2 | Shweta | 102 | CN | NULL | | 3 | Nikita | 103 | OS | NULL | | 4 | Ankita | 104 | C | NULL | +---------+-----------+-----------+-------------+------+ 4 rows in set (0.00 sec) mysql> ALTER TABLE student ADD Marks INT AFTER Course_Name;
Keluaran :
Query OK, 4 rows affected (0.28 sec) Records: 4 Duplicates: 0 Warnings: 0
mysql> SELECT *FROM student;
Keluaran:
+---------+-----------+-----------+-------------+-------+------+ | Stud_ID | Stud_Name | Course_ID | Course_Name | Marks | City | +---------+-----------+-----------+-------------+-------+------+ | 1 | Prajakta | 101 | DBMS | NULL | NULL | | 2 | Shweta | 102 | CN | NULL | NULL | | 3 | Nikita | 103 | OS | NULL | NULL | | 4 | Ankita | 104 | C | NULL | NULL | +---------+-----------+-----------+-------------+-------+------+ 4 rows in set (0.00 sec)
Kolom baru 'Nilai' ditambahkan ke tabel siswa yang ada. Karena, dalam kueri kami telah menentukan kata kunci 'AFTER' dengan nama kolom setelah itu kolom baru akan ditambahkan. Oleh karena itu, 'Tanda' ditambahkan setelah 'Course_Name'.