在网站重构中,通常会进行数据结构的修改,所以添加,删除,增加mysql表的字段是难免的,有时为了方便,还会增加修改表或字段的注释,把同字段属性调整到一块儿。这些操作可以在phpmyadmin或者别的mysql管理工具中完成,但是我们有时为了更方便的管理,会选择写sql语句来实现。
1.修改字段的长度
语法:
(资料图片)
ALTER TABLE 表名 MODIFY COLUMN 字段名 数据类型(修改后的长度)
例子:
将字段的长度由10改为20
ALTER TABLE attence MODIFY COLUMN id INT(20)
2.修改字段的名称
语法:
alter table <表名> change <字段名> <字段新名称> <字段的类型>。
例子:
将字段attence_name改为name
ALTER TABLE attence CHANGE attence_name NAME VARCHAR(20)
3.新增字段
语法:
新增默认为空的字段ALTER TABLE 表名 ADD COLUMN 字段名 字段类型 DEFAULT NULL;新增不为空的字段ALTER TABLE 表名ADD COLUMN 字段名 字段类型 NOT NULL;
例子:ALTER TABLE attence ADD COLUMN attence_name VARCHAR(20) DEFAULT NULL;ALTER TABLE attence ADD COLUMN age VARCHAR(20) NOT NULL;
4.删除字段
语法:
ALTER TABLE 表名 DROP COLUMN 字段名;
例子:
ALTER TABLE attence DROP COLUMN age;
5.批量增加字段
方法一可以使用事务
语法:
begin; //事务开始alter table 表名 add 字段名 字段类型(长度);alter table 表名add 字段名 字段类型(长度);alter table 表名add 字段名 字段类型(长度);alter table 表名add 字段名 字段类型(长度);commit;
例子:
begin; //事务开始alter table em_day_data add f_day_house7 int(11);alter table em_day_data add f_day_house8 int(11);alter table em_day_data add f_day_house9 int(11);alter table em_day_data add f_day_house10 int(11);commit;
方法二
alter table 表名 add (字段1 类型(长度),字段2 类型(长度),字段3 类型(长度));
alter table em_day_data add (f_day_house11 int(11),f_day_house12 int(11),f_day_house13 int(11));
6.批量修改字段名称
语法:
alter table 表 change 修改前字段名 修改后字段名称 int(11) not null,change 修改前字段名 修改后字段名称 int(11) not null,change 修改前字段名 修改后字段名称 int(11) not null,change 修改前字段名 修改后字段名称 int(11) not null,change 修改前字段名 修改后字段名称 int(11) not null
例子:
alter table em_day_data change f_day_house11 f_day_hour11 int(11) not null,change f_day_house12 f_day_hour12 int(11) not null,change f_day_house13 f_day_hour13 int(11) not null,change f_day_house14 f_day_hour14 int(11) not null,change f_day_house15 f_day_hour15 int(11) not null,change f_day_house16 f_day_hour16 int(11) not null,change f_day_house17 f_day_hour17 int(11) not null
来源:mysql中利用sql语句修改字段名称,字段长度等操作 - 努力奋斗吧 - 博客园
关键词:
版权与免责声明:
1 本网注明“来源:×××”(非商业周刊网)的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,本网不承担此类稿件侵权行为的连带责任。
2 在本网的新闻页面或BBS上进行跟帖或发表言论者,文责自负。
3 相关信息并未经过本网站证实,不对您构成任何投资建议,据此操作,风险自担。
4 如涉及作品内容、版权等其它问题,请在30日内同本网联系。