我是点点小萱,这个问题我来回答。
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。
以上就是小编的回答了,纯属个人观点,如有不足之处,欢迎点评、建议。
我是点点小萱。
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有