琉璃映雪照幽月 发表于 2020-8-29 19:53:21

mysql中利用sql语句修改字段名称,字段长度等操作

mysql中利用sql语句修改字段名称,字段长度等操作
在网站重构中,通常会进行数据结构的修改,所以添加,删除,增加mysql表的字段是难免的,有时为了方便,还会增加修改表或字段的注释,把同字段属性调整到一块儿。这些操作可以在phpmyadmin或者别的mysql管理工具中完成,但是我们有时为了更方便的管理,会选择写sql语句来实现。1.修改字段的长度语法:ALTER TABLE 表名 MODIFY COLUMN 字段名数据类型(修改后的长度)例子:id, int(10)
attence_name,varchar(zo),
dept, varchar(255)
chkdate,datetime
statu,int(11)将字段的长度由10改为20
id, int(20)
attence_name, varchar(zo),
dept, varchar(255)
chkdate,datetime
statu,int(11)ALTER TABLE attence MODIFY COLUMN id INT(20)2.修改字段的名称语法:alter table <表名> change <字段名> <字段新名称> <字段的类型>。例子:id, int(20)
attence_name, varchar(zo),
dept, varchar(255)
chkdate,datetime
statu,int(11)将字段attence_name改为name
id, int(2o)
name,varchar(zo),Hullable
dept, varchar(255)
chkdate,datetime
statuint(11)
ALTER TABLE attence CHANGE attence_name NAMEVARCHAR(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

页: [1]
查看完整版本: mysql中利用sql语句修改字段名称,字段长度等操作