将表格修改为下面第二个表格形式。
用一条ALTER语句实现。
ALTER TABLE hooptie
RENAME TO car_table,
ADD COLUMN car_id INT NOT NULL AUTO_INCREMENT FIRST,
ADD PRIMARY KEY(car_id),
ADD COLUMN VIN VARCHAR(16)AFTER car_id,
CHANGE COLUMN mo model VARCHAR(20),
MODIFY COLUMN color AFTER model,
MODIFY COLUMN year SIXTH,
CHANGE COLUMN howmuch price DECIMAL(7,2);
CHANGE:如果我们不只是修改单一列,而是用一条语句改变两个列,我们需要修改列的名称,同时更改他们的数据类型,这时就需要我们用到关键字CHANGE,可以在一条语句中放入多个CHANGE,在中间加上分隔的逗号即可。
比如原来的表两列,类型为VARCHAR(50),和VARCHAR(10),现在不止要更改列名,还要更改这两列的类型。
程序如下:
ALTER TABLE project_list
CHANGE COLUMN descriptionofproj proj_desc VARCHAR(100),
CHANGE COLUMN contractoronjob con_name VARCHAR(30);
MODIFY:使用它可以只修改列的类型而不会干涉它的名称,假设要把proj_desc列的字符长度修改为VARCHAR(120)以容纳更多的说明文字,只要这么做就可以。
ALTER TABLE project_list
MODIFY COLUMN proj_desc VACHAR(120);
#proj_desc是要修改的列名,VARCHAR(120)是新的数据类型。
总结如下;
(1)既更改列名也更改类型,用CHANGE
(2)只修改类型,用MODIFY,但这种方法比较慢,我们用另一种方法直接修改.frm文件,而不改动表本身。
ALTER TABLE project_list
ALTER COLUMN proj_desc SET VACHAR(120);
#proj_desc是要修改的列名,VARCHAR(120)是新的数据类型。