当前位置 : 主页 > 数据库 > mysql >

MySQL中如何增加字段SQL语句

来源:互联网 收集:自由互联 发布时间:2023-03-17
目录 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");
    

    代码复制进去执行即可,括号里面是表名

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

    上一篇:Mysql分组排序取每组第一条的2种实现方式
    下一篇:没有了
    网友评论