MYSQL 刪除一個字段前判斷字段是否存在的辦法
開發(fā)過程中經(jīng)常需要提交可以重復(fù)執(zhí)行的sql,當(dāng)設(shè)計到需要增加字段時,可以參考如下辦法:
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é):
這是本系列第二篇,通過我自己碎片化的學(xué)習(xí),我知道在我進行搜索的時候,急需的是一個可用的結(jié)果,無需全面廣泛的學(xué)習(xí)。所以本系列不展開擴展,用最少的圖文幫助急需使用命令的你。當(dāng)然,還是推薦能夠系統(tǒng)的學(xué)習(xí)一下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-03
MySQL中between...and的使用對索引的影響說明
這篇文章主要介紹了MySQL中between...and的使用對索引的影響說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07
詳解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)建定時任務(wù)
事件調(diào)度器(Event Scheduler)是在MySQLv5.1.6中新增的一個功能,它相當(dāng)于一個定時器,可以在指定的時間點執(zhí)行一條SQL語句或一個語句塊,也可以用于在固定間隔重復(fù)執(zhí)行。下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)在MySQL中如何用事件調(diào)度器Event Scheduler創(chuàng)建定時任務(wù)2016-08-08
MySQL 1130異常,無法遠(yuǎn)程登錄解決方案詳解
這篇文章主要介紹了MySQL 1130異常,無法遠(yuǎn)程登錄解決方案詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08

