在mysql中,如何改变列声明.

C

在mysql中,如何改变列声明.

修改表 - 修改列名 

使用 CHANGE COLUMN 来修改列的名字,还必须 设置 列的数据类型 

 

mysql> desc test_tab

    -> //

+-------+-------------+------+-----+---------+-------+

| Field | Type        | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| id    | int(11)     | NO   | PRI | 0       |       |

| name  | varchar(10) | YES  |     | NULL    |       |

| age   | int(11)     | YES  |     | NULL    |       |

| val   | varchar(10) | YES  |     | NULL    |       |

+-------+-------------+------+-----+---------+-------+

4 rows in set (0.00 sec)

 

mysql> ALTER TABLE test_tab

    ->   CHANGE COLUMN val val2 VARCHAR(10); //

Query OK, 0 rows affected (0.13 sec)

Records: 0  Duplicates: 0  Warnings: 0

 

mysql> desc test_tab

    -> //

+-------+-------------+------+-----+---------+-------+

| Field | Type        | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| id    | int(11)     | NO   | PRI | 0       |       |

| name  | varchar(10) | YES  |     | NULL    |       |

| age   | int(11)     | YES  |     | NULL    |       |

| val2  | varchar(10) | YES  |     | NULL    |       |

+-------+-------------+------+-----+---------+-------+

4 rows in set (0.02 sec)

 

修改表 - 修改列的数据类型 

使用 CHANGE COLUMN 来修改列的数据类型,还必须 设置 列名。 
使用 MODIFY COLUMN 不用输入2次列名。 

mysql> ALTER TABLE test_tab

    ->   CHANGE COLUMN age age TINYINT;

    -> //

Query OK, 0 rows affected (0.16 sec)

Records: 0  Duplicates: 0  Warnings: 0

 

mysql> ALTER TABLE test_tab

    ->   MODIFY COLUMN age BIGINT NOT NULL;

    -> //

Query OK, 0 rows affected (0.14 sec)

Records: 0  Duplicates: 0  Warnings: 0

 

 

修改表 - 修改列的默认值 

通过MODIFY COLUMN来处理 

 

mysql> ALTER TABLE test_tab

    ->   MODIFY COLUMN sex  VARCHAR(2) DEFAULT '男';

Query OK, 0 rows affected (0.06 sec)

Records: 0  Duplicates: 0  Warnings: 0

原文地址:https://www.cnblogs.com/yuhuameng/p/3781121.html