MYSQL 删除一个字段前判断字段是否存在的办法

 更新时间:2024年08月12日 09:23:39   作者:灵耀  
这篇文章主要介绍了MYSQL 删除一个字段前判断字段是否存在的办法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

开发过程中经常需要提交可以重复执行的sql,当设计到需要增加字段时,可以参考如下办法:

1.如果是mysql 版本高于5.7.5

ALTER TABLE table_name DROP COLUMN IF EXISTS column_name;

2.通用方法

   写一个存储过程,然后用存储过程取执行删除字段,然后在脚本执行完后,可以根据自己的实际情况选择删除掉存储过程

--切换到指定的数据 根据自己的情况
use your_dbname;
-- 删除存储过程
DROP PROCEDURE IF EXISTS sp_delete_column_if_exists;
-- 创建存储过程
DELIMITER $$
CREATE PROCEDURE `sp_delete_column_if_exists`(
    IN `dbName` VARCHAR(255),
    IN `tableName` VARCHAR(255),
    IN `columnName` VARCHAR(255)
)
begin
    SET @stmt = NULL;
    SELECT
        COUNT(*) INTO @stmt
    FROM
        information_schema.columns
    WHERE
        table_schema = dbName
        AND table_name = tableName
        AND column_name = columnName;
     SELECT
        COUNT(*) 
    FROM
        information_schema.columns
    WHERE
        table_schema = dbName
        AND table_name = tableName
        AND column_name = columnName;
    IF @stmt > 0 THEN
        SET @drop_column = CONCAT('ALTER TABLE `', dbName, '`.`', tableName, '` DROP COLUMN `', columnName, '`;');
        PREPARE drop_column FROM @drop_column;
        EXECUTE drop_column;
        DEALLOCATE PREPARE drop_column;
    END IF;
END$$
DELIMITER ;
-- 调用存储过程
call sp_delete_column_if_exists('your_db', 'your_table' , 'your_column');

补充:mysql删除语句-delete

一、删除一条(一行)数据

delete from table where id='1'

注: 上述语句含义:删除表名为table中id=1的一条数据

 二、删除整表数据

delete from table 

 注: 上述语句含义:删除表名为table中所有数据,但是不会删除表结构

ps:表结构简单说就是表字段。

小结:

这是本系列第二篇,通过我自己碎片化的学习,我知道在我进行搜索的时候,急需的是一个可用的结果,无需全面广泛的学习。所以本系列不展开扩展,用最少的图文帮助急需使用命令的你。当然,还是推荐能够系统的学习一下sql知识。

到此这篇关于MYSQL 删除一个字段前判断字段是否存在的办法的文章就介绍到这了,更多相关mysql判断字段是否存在内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql如何查询重复数据并删除

    mysql如何查询重复数据并删除

    这篇文章主要介绍了mysql如何查询重复数据并删除问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Innodb中mysql快速删除2T的大表方法示例

    Innodb中mysql快速删除2T的大表方法示例

    这篇文章主要给大家介绍了关于Innodb中mysql快速删除2T的大表的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-08-08
  • 如何添加一个mysql用户并给予权限详解

    如何添加一个mysql用户并给予权限详解

    在很多时候我们并不会直接利用mysql的root用户进行项目的开发,一般我们都会创建一个具有部分权限的用户,下面这篇文章主要给大家介绍了关于如何添加一个mysql用户并给予权限的相关资料,需要的朋友可以参考下
    2023-03-03
  • 深入浅出的学习Mysql

    深入浅出的学习Mysql

    最近看了一本小书,网易技术部的《深入浅出MySQL数据库开发、优化与管理维护》,算是回顾一下mysql基础知识。下面这篇文章主要介绍了学习Mysql的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • mysql数据库如何转移到oracle

    mysql数据库如何转移到oracle

    这篇文章主要介绍了mysql数据库如何转移到oracle,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • MYSQL 性能分析器 EXPLAIN 用法实例分析

    MYSQL 性能分析器 EXPLAIN 用法实例分析

    这篇文章主要介绍了MYSQL 性能分析器 EXPLAIN 用法,结合实例形式分析了MYSQL 性能分析器 EXPLAIN 基本功能、使用方法及操作注意事项,需要的朋友可以参考下
    2020-05-05
  • 计算机二级考试MySQL知识点 mysql alter命令

    计算机二级考试MySQL知识点 mysql alter命令

    这篇文章主要为大家详细介绍了计算机二级考试MySQL知识点,详细介绍了mysql中alter命令的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • 说说MySQL中MVCC机制的原理

    说说MySQL中MVCC机制的原理

    MVCC是一种多并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。本文主要介绍了MySQL中MVCC机制的原理,感兴趣的同学可以参考阅读
    2023-04-04
  • mysql修改用户密码的方法和mysql忘记密码的解决方法

    mysql修改用户密码的方法和mysql忘记密码的解决方法

    这篇文章主要介绍了mysql修改用户密码的方法和mysql忘记密码的解决方法,大家参考使用吧
    2014-01-01
  • MySQL数据库存储引擎介绍及数据库的操作详解

    MySQL数据库存储引擎介绍及数据库的操作详解

    mysql面试中最常问的问题之一:小伙子,你说一下你们公司用的存储引擎,以及你知道有哪些存储引擎和他们之间的区别? 所以下面这篇文章主要给大家介绍了关于Mysql存储引擎的相关资料,需要的朋友可以参考下
    2022-08-08

最新评论