Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Làm cách nào để thêm cột trong bảng trong SQL?

Cách thêm cột trong bảng trong SQL

Giới thiệu

  • Để thêm một cột trong bảng đã được tạo, người ta cần sử dụng lệnh ALTER cùng với mệnh đề ADD.
  • Nếu trong truy vấn, nó không được chỉ định nơi cột mới sẽ được thêm vào, thì theo mặc định, nó sẽ được thêm vào dưới dạng cột cuối cùng.
  • Người ta cũng có thể thêm một cột mới vào đầu tiên hoặc thậm chí sau một cột cụ thể của bảng đã được tạo.
  • Bạn có thể thêm một cột hoặc nhiều cột cùng một lúc bằng cách sử dụng một truy vấn SQL.

(A). Thêm một cột mới vào cuối bảng hiện có

Cú pháp:

ALTER TABLE tablename ADD (ColumnName datatype);

ở đâu ,

  1. Tên bảng là tên của một bảng đã tồn tại mà bạn phải thêm cột mới vào.
  2. Column_name là tên của cột sẽ được thêm vào một bảng đã tồn tại.

Ví dụ:

Đầu tiên, chúng tôi sẽ tạo một cơ sở dữ liệu với tên “ studentdb ”. Sau đó, trong cơ sở dữ liệu đó, chúng ta sẽ tạo một bảng “sinh viên” và chèn các bản ghi vào bảng. Chúng tôi sẽ xem xét cùng một cơ sở dữ liệu và cùng một bảng cho các ví dụ tiếp theo.

Bây giờ, chúng tôi sẽ thêm cột mới 'Thành phố' vào bảng hiện có.

 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) 

Cột mới 'Thành phố' được thêm vào bảng sinh viên hiện có. Vì trong truy vấn, chúng tôi không chỉ định vị trí sẽ được thêm vào nên theo mặc định, nó được thêm vào làm cột cuối cùng.

(B) Thêm nhiều cột vào bảng hiện có

Cú pháp:

ALTER TABLE tablename ADD (ColumnName1 datatype, ColumnName2 datatype);

Ví dụ:

Bây giờ, chúng tôi sẽ thêm hai cột mới "Thành phố" và "Dấu hiệu" vào một bảng hiện có bằng cách sử dụng một truy vấn duy nhất.

mysql> SỬ DỤNG studentdb;

Đầu ra:

 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; 

Đầu ra:

 +---------+-----------+-----------+-------------+------+-------+
 | 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) 

Các cột mới "Thành phố" và "Điểm" được thêm vào bảng sinh viên hiện có. Vì, trong truy vấn, chúng tôi không chỉ định vị trí sẽ được thêm vào nên theo mặc định, cả hai cột đều được thêm vào cuối cùng bằng một truy vấn duy nhất.

(C) Thêm cột ở vị trí đầu tiên của bảng hiện có

Cú pháp :

ALTER TABLE tablename ADD ColumnName datatype FIRST;

Ví dụ: Bây giờ, chúng tôi sẽ thêm cột mới ‘Sr_No’ vào bảng hiện có làm cột đầu tiên.

mysql> USE studentdb;

Đầu ra:

 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; 

Đầu ra:

 Query OK, 4 rows affected (0.24 sec)
 Records: 4  Duplicates: 0  Warnings: 0
 mysql> SELECT *FROM student; 

Đầu ra:

 +-------+---------+-----------+-----------+-------------+
 | 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) 

Cột mới ‘Sr_No’ được thêm vào bảng sinh viên hiện có. Vì, trong truy vấn, chúng tôi đã chỉ định từ khóa ‘FIRST’ nên ‘Sr_No’ được thêm vào dưới dạng cột đầu tiên.

(D) Thêm cột mới sau một cột cụ thể của bảng hiện có

Cú pháp:

ALTER TABLE tablename ADD ColumnName datatype AFTER column_name;

Ví dụ:

Bây giờ, chúng tôi sẽ thêm cột mới 'Marks' vào bảng hiện có sau 'Course_Name'.

mysql> USE studentdb;

Đầu ra:

 Database changed
 mysql> SELECT *FROM student; 

Đầu ra:

 +---------+-----------+-----------+-------------+------+
 | 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; 

Đầu ra :

 Query OK, 4 rows affected (0.28 sec)
 Records: 4  Duplicates: 0  Warnings: 0 
mysql> SELECT *FROM student;

Đầu ra:

 +---------+-----------+-----------+-------------+-------+------+
 | 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) 

Cột mới 'Marks' được thêm vào bảng sinh viên hiện có. Vì, trong truy vấn, chúng tôi đã chỉ định từ khóa 'SAU' với tên cột mà sau đó cột mới sẽ được thêm vào. Do đó, "Marks" được thêm vào sau "Course_Name".


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mức lương trung bình của một nhà phát triển SQL là gì?

  2. 11 Câu lệnh SQL phổ biến với các ví dụ cơ bản

  3. Tham số hóa đơn giản và các kế hoạch tầm thường - Phần 1

  4. Bạn có mắc phải những sai lầm này khi sử dụng SQL CURSOR không?

  5. Tìm kiếm mẫu giản đồ