Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để thêm các cột tại vị trí cụ thể trong bảng hiện có trong MySQL?

Để thêm cột tại một vị trí cụ thể trong bảng hiện có, hãy sử dụng lệnh sau. Cú pháp như sau -

ALTER TABLE yourTableName
ADD COLUMN yourColumnName data type AFTER yourExistingColumnName;

Để hiểu cú pháp trên, trước tiên chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau.

mysql> create table changeColumnPosition
-> (
-> Id_Position1 int,
-> Name_Position2 varchar(100),
-> Address_Position4 varchar(200)
-> );
Query OK, 0 rows affected (0.53 sec)

Bây giờ bạn có thể kiểm tra mô tả của bảng hiện có bằng cách sử dụng lệnh desc. Cú pháp như sau -

desc yourTableName;

Sau đây là truy vấn để kiểm tra mô tả.

mysql> desc changeColumnPosition;

Sau đây là kết quả.

+-------------------+--------------+------+-----+---------+-------+
| Field             | Type         | Null | Key | Default | Extra |
+-------------------+--------------+------+-----+---------+-------+
| Id_Position1      | int(11)      | YES  |     | NULL    |       |
| Name_Position2    | varchar(100) | YES  |     | NULL    |       |
| Address_Position4 | varchar(200) | YES  |     | NULL    |       |
+-------------------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

Tôi có ba cột và tôi muốn thêm một cột khác sau Trường Name_Position2. Truy vấn như sau.

mysql> alter table changeColumnPosition
-> add Age_Position3 int after Name_Position2;
Query OK, 0 rows affected (1.34 sec)
Records: 0 Duplicates: 0 Warnings: 0

Chúng tôi đã thêm thành công cột Age_Position3 sau Name_Position2. Kiểm tra lại bảng hiện có ngay bây giờ để biết những thay đổi mà chúng tôi đã thực hiện ở trên.

mysql> desc changeColumnPosition;

Sau đây là kết quả.

+-------------------+--------------+------+-----+---------+-------+
| Field             | Type         | Null | Key | Default | Extra |
+-------------------+--------------+------+-----+---------+-------+
| Id_Position1      | int(11)      | YES  |     | NULL    |       |
| Name_Position2    | varchar(100) | YES  |     | NULL    |       |
| Age_Position3     | int(11)      | YES  |     | NULL    |       |
| Address_Position4 | varchar(200) | YES  |     | NULL    |       |
+-------------------+--------------+------+-----+---------+-------+
4 rows in set (0.01 sec)