1. 程式人生 > >mysql中利用sql語句修改字段名稱,字段長度等操作

mysql中利用sql語句修改字段名稱,字段長度等操作

HA change 是我 重構 不為 ble 技術 網站重構 add

在網站重構中,通常會進行數據結構的修改,所以添加,刪除,增加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語句修改字段名稱,字段長度等操作