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");
代码复制进去执行即可,括号里面是表名
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
原文地址:https://www.cnblogs.com/JohanChan/p/13813856.html