判断表是否存在sql
❶ 用sql语句判断数据表是否存在
ACCESS没用过,不过MSSQL数据都会有系统表的里面存了所以表的信息。可以SELECT系统表再判断是否有。
❷ 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 = 扩展存储过程
❸ sql 中如何查询这个表是否存在,并删除重建
下面的 SQL 是, 如果 STOCK 这个表不存在,那么创建之。
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[STOCK]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[STOCK](
[STOCK_CODE] [varchar](10) NOT NULL,
[STOCK_NAME] [varchar](50) NOT NULL
)
END
GO
如果是判断 表存在
那么 前面的
IF NOT EXISTS
修改为
IF EXISTS
删除,重建的 SQL ,就写在那个 BEGIN END 里面。
-----
DROP TABLE 不能用于除去由 FOREIGN KEY 约束引用的表。必须先除去引用的 FOREIGN KEY 约束或引用的表。
偷懒的办法,就是 如果表存在, 那么删除掉
这样的操作, 多执行几次
最后统一 建表
这么处理的结果就是
第一次处理, 所有没有 FOREIGN KEY 约束引用的表 与 引用的 FOREIGN KEY 约束或引用的表 被删除了.
第二次处理, 某些原来不能删除的表,由于 引用的 FOREIGN KEY 约束或引用的表 被删除了, 现在可以删除了.
麻烦在于:
如果数据库体系太复杂
比如:
学校 是 系的 FOREIGN KEY
系 是 班级的 FOREIGN KEY
班级 是 学生的 FOREIGN KEY
学生是 考试成绩的 FOREIGN KEY
这种情况下, 就麻烦了
❹ sql语句 判断表是否存在
IF EXISTS(SELECT name FROM [sysobjects] WHERE name = '表名')
PRINT '该表存在'
ELSE
PRINT '该表不存在'。
❺ 如何用SQL语句来判断已知表是否存在
IFEXISTS(SELECTnameFROM[sysobjects]WHEREname='表名')
PRINT'该表存在'
ELSE
PRINT'该表不存在'
❻ sql 判断表是否存在
if object_id('表名') is null --这里判断表是否存在 存在就非空 不存在即为空
……