目录 MySQL增加字段SQL语句 MYSQL为多表批量新增字段 navicat中新建procedure 新建查询 总结 MySQL增加字段SQL语句 使用ALTER TABLE向MySQL数据库的表中添加字段 -- 向buildBaseInfo中添加字段ALTER TABL
目录MySQL增加字段SQL语句MYSQL为多表批量新增字段navicat中新建procedure新建查询总结
MySQL增加字段SQL语句
使用ALTER TABLE向MySQL数据库的表中添加字段
-- 向buildBaseInfo中添加字段
ALTER TABLE table_name ADD COLUMN column_name VARCHAR(100) DEFAULT NULL COMMENT '新加字段' AFTER old_column;
语句内容:
table_name:表明;column_name:需要添加的字段名;VARCHAR(100):字段类型为varchar,长度100;DEFAULT NULL:默认值NULL;AFTER old_column:新增字段添加在old_column字段后面。
MYSQL为多表批量新增字段
navicat中新建procedure
CREATE DEFINER=`portal`@`%` PROCEDURE `pro_AddColumn`(
IN tab VARCHAR(100)
)
BEGIN
IF NOT EXISTS(SELECT 1 FROM information_schema.columns WHERE table_name=tab AND COLUMN_NAME='CREATE_DATE') THEN
SET @exe = CONCAT('ALTER TABLE ',tab," ADD CREATE_DATE DATE COMMENT '创建时间'");
PREPARE sql1 FROM @exe;
EXECUTE sql1;
END IF;
IF NOT EXISTS(SELECT 1 FROM information_schema.columns WHERE table_name=tab AND COLUMN_NAME='CREATE_USER') THEN
SET @exe = CONCAT('ALTER TABLE ',tab," ADD CREATE_USER VARCHAR(50) COMMENT '创建人'");
PREPARE sql1 FROM @exe;
EXECUTE sql1;
END IF;
IF NOT EXISTS(SELECT 1 FROM information_schema.columns WHERE table_name=tab AND COLUMN_NAME='MODIFIED_DATE') THEN
SET @exe = CONCAT('ALTER TABLE ',tab," ADD MODIFIED_DATE DATE COMMENT '修改时间'");
PREPARE sql1 FROM @exe;
EXECUTE sql1;
END IF;
IF NOT EXISTS(SELECT 1 FROM information_schema.columns WHERE table_name=tab AND COLUMN_NAME='MODIFIED_USER') THEN
SET @exe = CONCAT('ALTER TABLE ',tab," ADD MODIFIED_USER VARCHAR(50) COMMENT '修改人'");
PREPARE sql1 FROM @exe;
EXECUTE sql1;
END IF;
IF NOT EXISTS(SELECT 1 FROM information_schema.columns WHERE table_name=tab AND COLUMN_NAME='IP') THEN
SET @exe = CONCAT('ALTER TABLE ',tab," ADD IP VARCHAR(40) COMMENT 'ip'");
PREPARE sql1 FROM @exe;
EXECUTE sql1;
END IF;
END
把代码复制进去,保存
新建查询
CALL pro_AddColumn("tableA");
CALL pro_AddColumn("tableB");
CALL pro_AddColumn("tableC");
CALL pro_AddColumn("tableD");
代码复制进去执行即可,括号里面是表名
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持每日运维。