mysql添加、修改、删除字段
一、添加字段
1、添加单个字段
格式:
ALTER TABLE 表名 ADD COLUMN 字段名(name) 字段类型长度(VARCHAR(20)) 编码规则(CHARACTER SET utf8) 字符集规则(COLLATE utf8_general_ci)
默认值(DEFAULT NULL或者NOT NULL) 注释(COMMENT '姓名') 添加到那一列(AFTER id (FIRST:首列,BEFORE:某个字段之前,AFTER:某个字段之后))
ALTER TABLE user ADD COLUMN name VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '姓名' AFTER id;
2、添加多个字段
格式:
添加多个字段格式和单个字段类似,只是将要添加的字段写在括号里
ALTER TABLE user ADD( id VARCHAR ( 20 ) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 'id', name VARCHAR ( 20 ) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '姓名' )
注:添加多个字段时无法指定字段添加的位置,即都是默认添加到表字段末尾,原因是如果要添加多个字段,指定将其中的name字段添加到id前面,而此时执行的sql事务并没有提交,数据库无法知道id字段在哪,所以会报错,无法指定位置。
二、修改字段
1、修改字段默认值/将为空改为不为空
格式:
ALTER TABLE 表名 MODIFY COLUMN 字段名 VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_general_ci 默认值 COMMENT '注释';
ALTER TABLE user MODIFY COLUMN name VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '姓名';
2、修改字段名
格式:
ALTER TABLE 表名 CHANGE COLUMN 原字段名 新字段名 VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '名称';
ALTER TABLE user CHANGE COLUMN name login_name VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '名称';
注:修改字段名时不能使用modify要使用change,如果不带注释等内容则新字段没有注释,所以一般修改时尽量写完整
3、修改编码规则字符集
ALTER TABLE user MODIFY COLUMN name VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_german2_ci DEFAULT NULL COMMENT '名称';
三、删除字段
格式:
ALTER TABLE 表名 DROP COLUMN 字段名
ALTER TABLE user DROP COLUMN name;