当前位置:首页 » 编程语言 » sql查表是否存在
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql查表是否存在

发布时间: 2022-10-25 20:51:09

❶ 用sql语句判断数据表是否存在

Select Count(*) AS Qty FROM MSysObjects Where ((MSysObjects.Name) Like '表名'); --ACCESS适用判断表存在

❷ SQL查询表是否存在的两种方法

SQL学习之查询技巧查询表是否存在的两种方法
方法一 判断系统对象是否存在DECLARE@DbTableFileName VARCHAR(100)
SET @DbTableFileName = 'tx'
IF objectproperty(object_id(@DbTableFileName),'IsUserTable') IS NOT NULL
PRINT 'EXISTS 'ELSEPRINT 'NOT EXISTS '
IF object_id(@DbTableFileName) IS NOT NULL
PRINT 'EXISTS 'ELSEPRINT 'NOT EXISTS '
IF EXISTS (SELECT Object_id(@DbTableFileName))
PRINT 'EXISTS 'ELSEPRINT 'NOT EXISTS '
方法二 通过查询系统表DECLARE@DbTableFileName VARCHAR(100)
SET @DbTableFileName = 'tx'
IF EXISTS (SELECT 1
FROM sysobjects
WHERE name = @DbTableFileName
AND TYPE = 'u')
方法一更安全,

❸ SQL语句问题 如何查询出此表是否存在,如表名:tableName

SQL学习之查询技巧 查询表是否存在的两种方法
方法一 判断系统对象是否存在

DECLARE
@DbTableFileName VARCHAR(100)

SET @DbTableFileName = 'tx'

IF objectproperty(object_id(@DbTableFileName),'IsUserTable') IS NOT NULL
PRINT 'EXISTS '
ELSE
PRINT 'NOT EXISTS '

IF object_id(@DbTableFileName) IS NOT NULL
PRINT 'EXISTS '
ELSE
PRINT 'NOT EXISTS '

IF EXISTS (SELECT Object_id(@DbTableFileName))
PRINT 'EXISTS '
ELSE
PRINT 'NOT EXISTS '

方法二 通过查询系统表

DECLARE
@DbTableFileName VARCHAR(100)

SET @DbTableFileName = 'tx'

IF EXISTS (SELECT 1
FROM sysobjects
WHERE name = @DbTableFileName
AND TYPE = 'u')
PRINT 'EXISTS '
ELSE
PRINT 'NOT EXISTS '

方法一更安全,

❹ sqlsugar判断表是否存在

查询系统字典表all_tables,判断表是否存在。
systemobjects表中保存着数据库的所有表、视图和存贮过程等的信息,检索这个系统表即可得到是否存在。此方法还适用于检查视图和存贮过程,相应的标志要改为IsView(视图/查询)或者IsProcere(存贮过程),table_name处为view_name或procere_name。

❺ 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中怎么判断数据库里是否存在一张表

'select * from '+tableName+' where 1=0'

❼ 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检查表是否存在

你是什么数据库, 检查表是否存在呀?


SQL Server 2005 以上版本数据库的话


1>selecttop10namefromsys.tables
2>go
name

------------------------------------------
BLOCK_TYPE_LINK
STOCK
STOCK_BLOCK_LINK
STOCK_DAY
SALE_REPORT
tb
TestSara
TestWhyypp
TestTDWS
TestWZY


(10行受影响)


你看看行不行?

就是通过 查询sys.tables 来判断, 某个表, 是否存在。