Sql記錄:判斷表或字段是否存在



首先我們需要了解`information_schema`這個庫:

`information_schema`中保存着關於MySQL服務器所維護的所有其他數據庫的信息。如數據庫名,數據庫的表,表欄的數據類型與訪問權限等。其內有數個只讀表,它們實際上是視圖,而不是基本表,因此,你將無法看到與之相關的任何文件。

 

出於“判斷表或字段是否存在”的需求這里着重介紹其中的`TABLES`和`COLUMNS`兩張表:

TABLES表:提供了關於數據庫中的表的信息(包括視圖)。詳細表述了某個表屬於哪個schema,表類型,表引擎,創建時間等信息。

 

 

COLUMNS表:提供了表中的列信息。詳細表述了某張表的所有列以及每個列的信息。

 

 


 

好了,上SQL: 

判斷表是否存在:

SELECT COUNT(*) as ct FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '庫名' AND TABLE_NAME = '表名'; 

判斷字段是否存在:

SELECT COUNT(*) AS ct FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '庫名' AND TABLE_NAME = '表名' AND COLUMN_NAME = '字段名';

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM