我是點點小萱,這個問題我來回答。
MySQLMySQL是一個關系型數據庫管理系統。因為MySQL是開放源碼的,所以一般的中小型網站的開發都選擇將MySQL作為網站數據庫,這樣可以大大降低總體擁有的成本。
那么下面來看看,MySQL中,是怎么判斷數據庫中表或者字段是否存在的。
查看表是否存在總共有3種方法:
先進入到要查看表的某個數據庫
①查看數據庫所有的表:
SHOW TABLES;
這個會列出所有的數據庫表名。
②根據數據庫名稱查看表是否存在
SHOW TABLES LIKE 'table_name';
③通過MySql自帶的數據庫information_schema查看表
SELECT COUNT(*) FROM information_schema.TABLES WHERE table_name = 'table_name';
注意:另外我們在創建表的時候,會經常用到這樣的一句sql:
drop table if exists table_name;
如果存在表則先刪除該表。
查看表中某個字段是否存在有3種方法:
①describe命令查看表的詳細設計
describe table_name;
該語句會列出表中所有的字段信息。
②describe命令查詢具體列(字段)的信息
describe table_name column;
表中某列的具體信息。
③通過"show comnus"命令來查看數據庫中表的列名:
show columns from database_name.table_name
或者show columns form table_name from database_name
OracleOracle是一個關系數據庫管理系統。Oracle數據庫可移植性好、使用方便、功能強大,使用于各個領域的大、中、小、微機環境,在數據庫領域一直處于領先地位。
查看表是否存在有2種方法:
①查看當前登錄用戶中的所有表中是否存在該表
select count(*) from user_tables where table_name =upper('table_name');
注意表名區分大小寫,如果參數不限制,那這里就必須要加上函數。
②查詢某個用戶下的表中是否存在該表
select count(*) from all_tables where owner = UPPER('用戶') and table_name = upper('table_name');
這個語句可以在當前用戶下查詢其他用戶下的表信息。
查看表中某個字段是否存在有2種方法:
①通過獲取表中的字段來判斷
select * from user_tab_columns where table_name='表名' order by column_name;
會列出該表中所有的字段信息。
②直接根據字段名稱來查詢
select count(*) from user_tab_columns where table_name= '表名' and column_name= '字段名';
如果存在count的值就是1,如果不存在就是0。
PostgreSqlPostgreSql是一個對象關系型數據庫管理系統。它支持大部分的SQL標準語法,并且支持復雜查詢、外鍵、觸發器、視圖、事務完整性、多版本并發控制等特性。
查看表是否存在有2種方法:
①使用pg_class系統表來查找
select count(*) from pg_class where relname = 'table_name';
②
information_schema.tables
來查找select count(*) from information_schema.tables where table_schema='public' and table_type='BASE TABLE' and table_name='table_name';
查看表中某個字段是否存在有2種方法:
①通過獲取表中所有的字段來判斷
select column_name,data_type,character_maximum_length,numeric_precision,
numeric_scale from information_schema.COLUMNS WHERE table_schema = 'public' and table_name = 'table_name' GROUP BY column_name,data_type,character_maximum_length,numeric_precision,numeric_scale;
會列出該表中所有的字段信息。
②直接根據字段名稱來查詢
select count(*) from information_schema.columns WHERE table_schema = 'table_schema' and table_name = 'table_name' and column_name = 'column_name';
如果存在count的值就是1,如果不存在就是0。
以上就是小編的回答了,純屬個人觀點,如有不足之處,歡迎點評、建議。
我是點點小萱。