MYSQL 刪除一個字段前判斷字段是否存在的辦法
開發(fā)過程中經(jīng)常需要提交可以重復執(zhí)行的sql,當設計到需要增加字段時,可以參考如下辦法:
1.如果是mysql 版本高于5.7.5
ALTER TABLE table_name DROP COLUMN IF EXISTS column_name;
2.通用方法
寫一個存儲過程,然后用存儲過程取執(zhí)行刪除字段,然后在腳本執(zhí)行完后,可以根據(jù)自己的實際情況選擇刪除掉存儲過程
--切換到指定的數(shù)據(jù) 根據(jù)自己的情況 use your_dbname; -- 刪除存儲過程 DROP PROCEDURE IF EXISTS sp_delete_column_if_exists; -- 創(chuàng)建存儲過程 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 ; -- 調(diào)用存儲過程 call sp_delete_column_if_exists('your_db', 'your_table' , 'your_column');
補充:mysql刪除語句-delete
一、刪除一條(一行)數(shù)據(jù)
delete from table where id='1'
注: 上述語句含義:刪除表名為table中id=1的一條數(shù)據(jù)
二、刪除整表數(shù)據(jù)
delete from table
注: 上述語句含義:刪除表名為table中所有數(shù)據(jù),但是不會刪除表結(jié)構(gòu)
ps:表結(jié)構(gòu)簡單說就是表字段。
小結(jié):
這是本系列第二篇,通過我自己碎片化的學習,我知道在我進行搜索的時候,急需的是一個可用的結(jié)果,無需全面廣泛的學習。所以本系列不展開擴展,用最少的圖文幫助急需使用命令的你。當然,還是推薦能夠系統(tǒng)的學習一下sql知識。
到此這篇關(guān)于MYSQL 刪除一個字段前判斷字段是否存在的辦法的文章就介紹到這了,更多相關(guān)mysql判斷字段是否存在內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
老生常談mysql event事件調(diào)度器(必看篇)
下面小編就為大家?guī)硪黄仙U刴ysql event事件調(diào)度器(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03MySQL中between...and的使用對索引的影響說明
這篇文章主要介紹了MySQL中between...and的使用對索引的影響說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07詳解MySQL用事件調(diào)度器Event Scheduler創(chuàng)建定時任務
事件調(diào)度器(Event Scheduler)是在MySQLv5.1.6中新增的一個功能,它相當于一個定時器,可以在指定的時間點執(zhí)行一條SQL語句或一個語句塊,也可以用于在固定間隔重復執(zhí)行。下面跟著小編一起來學習學習在MySQL中如何用事件調(diào)度器Event Scheduler創(chuàng)建定時任務2016-08-08