MYSQL 刪除一個(gè)字段前判斷字段是否存在的辦法
開發(fā)過程中經(jīng)常需要提交可以重復(fù)執(zhí)行的sql,當(dāng)設(shè)計(jì)到需要增加字段時(shí),可以參考如下辦法:
1.如果是mysql 版本高于5.7.5
ALTER TABLE table_name DROP COLUMN IF EXISTS column_name;
2.通用方法
寫一個(gè)存儲過程,然后用存儲過程取執(zhí)行刪除字段,然后在腳本執(zhí)行完后,可以根據(jù)自己的實(shí)際情況選擇刪除掉存儲過程
--切換到指定的數(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');
補(bǔ)充: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é):
這是本系列第二篇,通過我自己碎片化的學(xué)習(xí),我知道在我進(jìn)行搜索的時(shí)候,急需的是一個(gè)可用的結(jié)果,無需全面廣泛的學(xué)習(xí)。所以本系列不展開擴(kuò)展,用最少的圖文幫助急需使用命令的你。當(dāng)然,還是推薦能夠系統(tǒng)的學(xué)習(xí)一下sql知識。
到此這篇關(guān)于MYSQL 刪除一個(gè)字段前判斷字段是否存在的辦法的文章就介紹到這了,更多相關(guān)mysql判斷字段是否存在內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
老生常談mysql event事件調(diào)度器(必看篇)
下面小編就為大家?guī)硪黄仙U刴ysql event事件調(diào)度器(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03MySQL中between...and的使用對索引的影響說明
這篇文章主要介紹了MySQL中between...and的使用對索引的影響說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07mysql滑動(dòng)聚合/年初至今聚合原理與用法實(shí)例分析
這篇文章主要介紹了mysql滑動(dòng)聚合原理與用法,結(jié)合實(shí)例形式分析了mysql滑動(dòng)聚合的相關(guān)功能、原理、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2019-12-12詳解Mysql導(dǎo)出數(shù)據(jù)的幾種方式
MySQL導(dǎo)出數(shù)據(jù)的目的有很多種,如數(shù)據(jù)庫備份、表結(jié)構(gòu)導(dǎo)出、表數(shù)據(jù)導(dǎo)出、分析數(shù)據(jù)采取等,本文詳細(xì)的介紹了兩種Mysql導(dǎo)出數(shù)據(jù)的方法,感興趣的小伙伴可以了解一下2018-10-10詳解MySQL用事件調(diào)度器Event Scheduler創(chuàng)建定時(shí)任務(wù)
事件調(diào)度器(Event Scheduler)是在MySQLv5.1.6中新增的一個(gè)功能,它相當(dāng)于一個(gè)定時(shí)器,可以在指定的時(shí)間點(diǎn)執(zhí)行一條SQL語句或一個(gè)語句塊,也可以用于在固定間隔重復(fù)執(zhí)行。下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)在MySQL中如何用事件調(diào)度器Event Scheduler創(chuàng)建定時(shí)任務(wù)2016-08-08MySQL 1130異常,無法遠(yuǎn)程登錄解決方案詳解
這篇文章主要介紹了MySQL 1130異常,無法遠(yuǎn)程登錄解決方案詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08