Mysql中用SQL增加、删除字段,修改字段名、字段类型、注释,调整字段顺序总结,在网站重构中,通常会进行数据结构的修改,所以添加,删除,增加mysql表的字段是难免的,有时为了方便,还会增加修改表或字段的注释,把同字段属性调整到一块儿,这些操作可以在phpmyadmin或者别的mysql管理工具中完成,但是我们有时为了更方便的管理,会选择写sql语句来实现.
1.增加一个字段,代码如下:
- //增加一个字段,默认为空
- altertableuseraddCOLUMNnew1VARCHAR(20)DEFAULTNULL;
- //增加一个字段,默认不能为空
- altertableuseraddCOLUMNnew2VARCHAR(20)NOTNULL;
2.批量怎加字段
方法一,这里可以使用事务,代码如下:
- bagin;//事务开始
- altertableem_day_dataaddf_day_house7int(11);
- altertableem_day_dataaddf_day_house8int(11);
- altertableem_day_dataaddf_day_house9int(11);
- altertableem_day_dataaddf_day_house10int(11);--phpfensi.com
- commit;//提交事务,事务结束
事务(transaction)是由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,是一个不可分割的工作单位.
方法二,mysql 批量为表添加多个字段.
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));
3.删除一个字段,代码如下:
- //删除一个字段
- altertableuserDROPCOLUMNnew2;
4.修改一个字段,代码如下:
- //修改一个字段的类型
- altertableuserMODIFYnew1VARCHAR(10);
- //修改一个字段的名称,此时一定要重新指定该字段的类型
- altertableuserCHANGEnew1new4int;
5.批量修改字段名称,代码如下:
- altertable表change修改前字段名修改后字段名称int(11)notnull,
- change修改前字段名修改后字段名称int(11)notnull,
- change修改前字段名修改后字段名称int(11)notnull,
- change修改前字段名修改后字段名称int(11)notnull,
- change修改前字段名修改后字段名称int(11)notnull
例子,代码如下:
- altertableem_day_datachangef_day_house11f_day_hour11int(11)notnull,
- changef_day_house12f_day_hour12int(11)notnull,
- changef_day_house13f_day_hour13int(11)notnull,
- changef_day_house14f_day_hour14int(11)notnull,
- changef_day_house15f_day_hour15int(11)notnull,
- changef_day_house16f_day_hour16int(11)notnull,
- changef_day_house17f_day_hour17int(11)notnull
6,添加注释,代码如下:
- //可以为表添加注释
- ALTERTABLE`table_name`COMMENT'注释';
- //为字段添加注释,同样适用于修改
- ALTERTABLE`table_name`CHANGE`column_name``column_name`type(longth)UNSIGNEDNULLDEFAULTNULLCOMMENT'注释'
7,调整字段顺序:
alter table 表名
change 字段名 新字段名 字段类型 默认值 after 字段名(跳到哪个字段之后)
例子,代码如下:
- altertableappstore_souapp_app_androidmarket;
- changegetPriceCurrencygetPriceCurrencyvarchar(50)defaultnullAFTERgetPrice;