1. 程式人生 > >記錄:Mysql 修改欄位長度、修改列名、新增列、修改自增主鍵起始值

記錄:Mysql 修改欄位長度、修改列名、新增列、修改自增主鍵起始值

以下轉自https://www.cnblogs.com/yangjinwang/p/5918906.html

alter table 表名 modify column 欄位名 型別;

例如

資料庫中user表 name欄位是varchar(30)

可以用

複製程式碼

alter table user modify column name varchar(50) ; --修改欄位長度

 

alter table test change  column address address1 varchar(30)--修改表列名

 

alter table test add  column name varchar(10); --新增表列  

複製程式碼

 

複製程式碼

2、MySQL 指令碼實現  欄位預設系統時間 用例 

--新增CreateTime 設定預設時間 CURRENT_TIMESTAMP 

ALTER TABLE `table_name`
ADD COLUMN  `CreateTime` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '建立時間' ;

 

--修改CreateTime 設定預設時間 CURRENT_TIMESTAMP 
ALTER TABLE `table_name`
MODIFY COLUMN  `CreateTime` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '建立時間' ;

如果設定不了, 請將 DATETIME改為TIMESTAMP。

複製程式碼

 

3.mySql 設定表的自增主鍵的起始值

alter table    表名  AUTO_INCREMENT = 1000;

 

 

以下轉自https://www.cnblogs.com/sujulin/p/9021355.html

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