首先要记得不管是修改表名,还是字段名,字段类型,都是修改表相关的,所以前面都要加上 ALTER TABLE 表名
在表名的后面加的是动作,而不是字段名
所以ALTER TABLE 表名 动作 这个是不变的!需要注意一下。
如果要修改表名 需要写成
ALTER TABLE 原表名 RENAME 新表名;
如:
ALTER TABLE example RENAME user;
修改完可以用:DESC user;查看。
修改字段类型,语法如下
ALTER TABLE 表名 MODIFY 字段名 数据类型;
例如:
ALTER TABLE user MODIFY name VARCHAR(30);
同样可以用DESC 表名;查看
修改字段名,语法如下
ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型;
注意:数据类型可以写和原字段名一样的数据类型,这样就只改了字段名而数据类型保持不变,当然也可以写新的数据类型。
但是不能省略数据类型,否则会出现语法错误!
还要注意修改字段名或者数据类型会有部分约束丢失。比如not null,字段默认是Null,会出现not null约束丢失的情况。解决方法是下desc看结构,然后执行改名操作的时候加上原字段的约束。
如:
ALTER TABLE teacher CHANGE num t_id INT(10) NOT NULL;