在網站重構中,通常會進行數據結構的修改,所以添加,刪除,增加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日內同本網聯系。