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

Làm thế nào để thêm cột bằng cách sử dụng thay đổi trong MySQL?

Sau đây là cú pháp để thêm cột bằng cách sử dụng thay đổi trong MySQL:

alter table yourTableName add column yourColumnName yourDataType default yourValue;

Đầu tiên chúng ta hãy tạo một bảng:

mysql> create table alterTableDemo
   -> (
   -> Id int,
   -> Name varchar(10)
   -> );
Query OK, 0 rows affected (0.69 sec)

Hãy để chúng tôi kiểm tra mô tả của bảng bằng lệnh DESC. Điều này hiển thị Trường, Loại, Khóa, v.v. của bảng:

mysql> desc alterTableDemo;

Điều này sẽ tạo ra kết quả sau

+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| Id    | int(11)     | YES  |     | NULL    |       |
| Name  | varchar(10) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)

Bây giờ, hãy thêm cột Tuổi với giá trị mặc định 18. Nếu người dùng không cung cấp giá trị cho cột Tuổi thì MySQL sẽ sử dụng giá trị mặc định cho cột Tuổi. Sau đây là truy vấn để thêm cột bằng lệnh thay đổi.

mysql> alter table alterTableDemo add column Age int default 18;
Query OK, 0 rows affected (0.67 sec)
Records: 0 Duplicates: 0 Warnings: 0

Hãy để chúng tôi kiểm tra mô tả bảng một lần nữa:

mysql> desc alterTableDemo;

Điều này sẽ tạo ra kết quả sau

+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| Id    | int(11)     | YES  |     | NULL    |       |
| Name  | varchar(10) | YES  |     | NULL    |       |
| Age   | int(11)     | YES  |     | 18      |       |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

Hãy để chúng tôi chèn bản ghi vào bảng bằng lệnh insert.

Sau đây là truy vấn

mysql> insert into alterTableDemo(Id,Name,Age) values(100,'Chris',24);
Query OK, 1 row affected (0.16 sec)

mysql> insert into alterTableDemo(Id,Name) values(101,'Robert');
Query OK, 1 row affected (0.25 sec)

Sau đây là truy vấn để hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select:

mysql> select *from alterTableDemo;

Sau đây là kết quả đầu ra. Vì chúng tôi chưa đặt tuổi cho ‘Robert’, do đó, 18 mặc định sẽ được đặt cho Tuổi:

+------+--------+------+
| Id   | Name   | Age  |
+------+--------+------+
| 100  | Chris  | 24   |
| 101  | Robert | 18   |
+------+--------+------+
2 rows in set (0.00 sec)