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

Làm cách nào để thay đổi kiểu dữ liệu của cột trong bảng MySQL?

Bạn có thể sử dụng lệnh sửa đổi cho việc này. Trước tiên, hãy để chúng tôi tạo một bảng.

mysql> create table DemoTable
(
   StudentId varchar(200) not null,
   StudentName varchar(20),
   StudentAge int,
   StudentAddress varchar(20),
   StudentCountryName varchar(20)
);
Query OK, 0 rows affected (0.73 sec)

Bây giờ hãy kiểm tra mô tả của bảng.

mysql> desc DemoTable;

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

+--------------------+--------------+------+-----+---------+-------+
| Field              | Type         | Null | Key | Default | Extra |
+--------------------+--------------+------+-----+---------+-------+
| StudentId          | varchar(200) | NO   |     | NULL    |       |
| StudentName        | varchar(20)  | YES  |     | NULL    |       |
| StudentAge         | int(11)      | YES  |     | NULL    |       |
| StudentAddress     | varchar(20)  | YES  |     | NULL    |       |
| StudentCountryName | varchar(20)  | YES  |     | NULL    |       |
+--------------------+--------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

Đây là truy vấn để thay đổi kiểu dữ liệu từ varchar thành BIGINT -

mysql> alter table DemoTable modify StudentId BIGINT(10) UNSIGNED NOT NULL DEFAULT 0;
Query OK, 0 rows affected (1.51 sec)
Records: 0 Duplicates : 0 Warnings : 0

Ở trên, chúng tôi đã thay đổi kiểu dữ liệu cột ‘StudentId’ từ varchar (200) thành BIGINT (10). Hãy để chúng tôi kiểm tra mô tả của bảng một lần nữa.

mysql> desc DemoTable;

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

+--------------------+---------------------+------+-----+---------+-------+
| Field              | Type                | Null | Key | Default | Extra |
+--------------------+---------------------+------+-----+---------+-------+
| StudentId          | bigint(10) unsigned | NO   |     | 0       |       |
| StudentName        | varchar(20)         | YES  |     | NULL    |       |
| StudentAge         | int(11)             | YES  |     | NULL    |       |
| StudentAddress     | varchar(20)         | YES  |     | NULL    |       | 
| StudentCountryName | varchar(20)         | YES  |     | NULL    |       |
+--------------------+---------------------+------+-----+---------+-------+
5 rows in set (0.00 sec)