Mysql中用SQL增加、删除字段,修改字段名、字段类型、注释,调整字段顺序总结

在网站重构中,通常会进行数据结构的修改,所以添加,删除,增加mysql表的字段是难免的,有时为了方便,还会增加修改表或字段的注释,把同字段属性调整到一块儿。这些操作可以在phpmyadmin或者别的mysql管理工具中完成,但是我们有时为了更方便的管理,会选择写sql语句来实现。

1.增加一个字段

代码如下
[sql]
//增加一个字段,默认为空
alter table user add COLUMN new1 VARCHAR(20) DEFAULT NULL;
//增加一个字段,默认不能为空
alter table user add COLUMN new2 VARCHAR(20) NOT NULL;
[/sql]

2.批量怎加字段

方法一
这里可以使用事务

代码如下
[sql]
bagin; //事务开始
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; //提交事务,事务结束
[/sql]

事务(transaction)是由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,是一个不可分割的工作单位。

方法二
mysql 批量为表添加多个字段
alter table 表名 add (字段1 类型(长度),字段2 类型(长度),字段3 类型(长度));

代码如下
[sql]
alter table em_day_data add (f_day_house11 int(11),f_day_house12 int(11),f_day_house13 int(11));
[/sql]

3.删除一个字段

代码如下
[sql]
//删除一个字段
alter table user DROP COLUMN new2;
[/sql]

4.修改一个字段

代码如下
[sql]
//修改一个字段的类型
alter table user MODIFY new1 VARCHAR(10);
//修改一个字段的名称,此时一定要重新指定该字段的类型
alter table user CHANGE new1 new4 int;
[/sql]

5.批量修改字段名称

代码如下
[sql]
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
[/sql]

例子:

代码如下
[sql]
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
[sql]

6,添加注释

代码如下
[sql]
// 可以为表添加注释
ALTER TABLE `table_name` COMMENT'注释';
// 为字段添加注释,同样适用于修改
ALTER TABLE `table_name` CHANGE `column_name` `column_name` type(longth) UNSIGNED NULL DEFAULT NULL COMMENT '注释'
[/sql]

7,调整字段顺序:

alter table 表名
change 字段名 新字段名 字段类型 默认值 after 字段名(跳到哪个字段之后)
例子:

代码如下
[sql]
alter table appstore_souapp_app_androidmarket;
change getPriceCurrency getPriceCurrency varchar(50) default null AFTER getPrice;
[/sql]

阅读剩余
THE END