sql语句 判断表是不是存在

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql语句 判断表是不是存在相关的知识,希望对你有一定的参考价值。

用户表在当前数据库的系统表中,可使用以下语句进行查找:
select Name,ID from sysobjects where xtype=\'U\'

若是将xtype=\'U\'换成xtype=\'V\'就可以查出来所有视图
xtype参数大概有以下种类:
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
FN = 标量函数
IF = 内嵌表函数
K = PRIMARY KEY 或 UNIQUE 约束
L = 日志
P = 存储过程
R = 规则
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
V = 视图
X = 扩展存储过程
参考技术A

IF EXISTS(SELECT name FROM [sysobjects] WHERE name = '表名')

PRINT '该表存在'

ELSE

PRINT '该表不存在'。

    SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

    SQL语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言作为数据输入与管理的接口。SQL语言语句可以嵌套,这使他具有极大的灵活性和强大的功能。

参考技术B --判断临时表是否存在 
if exists(select * from tempdb.sysobjects where id=object_id('tempdb..#TEMP_TBL'))
    print '存在'
else
    print 不存在'
--判断数据表是否存在
if object_id(N'tablename',N'U') is not null
    print '存在'
else
    print '不存在

参考技术C IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id('table_Name') AND OBJECTPROPERTY(id, 'IsUserTable') = 1)
DROP TABLE table_Name
参考技术D IF EXISTS ( SELECT  *
            FROM    sys.objects
            WHERE   object_id=OBJECT_ID(N'[dbo].[xxxx]') AND
                    type IN (N'U') )
  --DROP TABLE [dbo].[xxxx];

以上是关于sql语句 判断表是不是存在的主要内容,如果未能解决你的问题,请参考以下文章

sql 语句查询判断是不是为空并关联

sql server的sql语句怎么判断一个字段是不是为空

SQL 语句判断记录是否存在

mysql通过sql语句判断某个字段是不是存在

判断表中是否存在记录的SQL语句

SQL求助:想创建一个表,但在创建前先判断是不是存在。如存在就删除它,不存在就创建。