修改表结构
修改表结构使用ALTER TABLE 语句。修改表结构指增加或删除字段、修改字段名或者字段类型、设置或取消主键外键、设置或取消索引及修改表的注释等。
语法格式如下:
ALTER[IGNORE] TABLE 数据表名 alter_spec[,alter_spec]...;
注意:当指定IGNORE时,如果出现重复关键的行,则只执行一行,其他重复的行被删除。
其中,alter_spec子句定义要修改的内容,起语法如下:
alter_specification:
ADD[COLUMN]create_definition[FIRST|AFTER column_name] //添加新字段 ADD INDEX [index_name](index_col_name,...) //添加索引名称 ADD PRIMARY KEY(index_col_name,...) //添加主键名称 ADD UNIQUE[index_name](index_col_name,...) //添加唯一索引 ALTER[COLUMN]col_name{SET DEFAULT ilteral |DROP DEFAULT} //修改字段名称 CHANGE[COLUMN]old_col_name create_definition //修改字段类型 MODIFY[COLUMN]create_definition //修改子句定义字段 DROP[COLUMN]col_name //删除字段名称 DROP PRIMARY KEY //删除主键名称 DROP INDEX index_name //删除索引名称 RENAME [AS]new_tbl_name //更改表名 table_options
ALTER TABLE 语句允许指定多个alter_spec子句,每个子句间使用逗号分隔,每个子句表示对表的一个修改。
例如:假设有张表叫admin,现在要添加新的字段email,类型为varcher(50),not null,将字段user的类型由varcher(50)改为varcher(40),代码如下:
alter table admin add email varcher(50) not null,modify user varcher(40);
在添加完成之后,大家还可以通过show admin;查看整个表的结构,以此来确认字段是否添加成功。
注意:通过alter修改表列的前提是必须将表中数据全部删除,然后才可以修改。
以上是MySQL修改数据表(MYSQL数据表操作教程2)的详细内容。更多信息请关注PHP中文网其他相关文章!