Mysql中用SQL增加、刪除字段,修改字段名、字段類型、注釋,調整字段順序總結,在網站重構中,通常會進行數據結構的修改,所以添加,刪除,增加mysql表的字段是難免的,有時為了方便,還會增加修改表或字段的注釋,把同字段屬性調整到一塊兒,這些操作可以在phpmyadmin或者別的mysql管理工具中完成,但是我們有時為了更方便的管理,會選擇寫sql語句來實現.
1.增加一個字段,代碼如下:
- //增加一個字段,默認為空
- alter table user add COLUMN new1 VARCHAR(20) DEFAULT NULL;
- //增加一個字段,默認不能為空
- alter table user add COLUMN new2 VARCHAR(20) NOT NULL;
2.批量怎加字段
方法一,這里可以使用事務,代碼如下:
- 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); --Vevb.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.刪除一個字段,代碼如下:
- //刪除一個字段
- alter table user DROP COLUMN new2;
4.修改一個字段,代碼如下:
- //修改一個字段的類型
- alter table user MODIFY new1 VARCHAR(10);
- //修改一個字段的名稱,此時一定要重新指定該字段的類型
- alter table user CHANGE new1 new4 int;
5.批量修改字段名稱,代碼如下:
- 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
6,添加注釋,代碼如下:
- // 可以為表添加注釋
- ALTER TABLE `table_name` COMMENT'注釋';
- // 為字段添加注釋,同樣適用于修改
- ALTER TABLE `table_name` CHANGE `column_name` `column_name` type(longth) UNSIGNED NULL DEFAULT NULL COMMENT '注釋'
7,調整字段順序:
alter table 表名
change 字段名 新字段名 字段類型 默認值 after 字段名(跳到哪個字段之后)
例子,代碼如下:
- alter table appstore_souapp_app_androidmarket;
- change getPriceCurrency getPriceCurrency varchar(50) default null AFTER getPrice;
新聞熱點
疑難解答