❶ sql server 如何查询某张表是否存在
select * from 表名。查询分析器会告诉你这个表在不在的
❷ 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语句问题 如何查询出此表是否存在,如表名: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 '
方法一更安全,
❹ 用SQL语句判断数据表是否存在
Select Count(*) AS Qty FROM MSysObjects Where ((MSysObjects.Name) Like '表名'); --ACCESS适用判断表存在
❺ 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 来判断, 某个表, 是否存在。
❻ sql语句 判断表数据是否存在另一个表中
工具/材料:Management Studio。
1、首先在桌面上,点击“Management Studio”图标。
❼ 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 * FROM master.dbo.sysdatabases WHERE dbid=db_ID('dbname')))
DROP DATABASE dbname
如果提示:删除数据库时提示数据库正在被使用,无法删除(Cannot drop database databasename because it is currently in use),使用:
IF (EXISTS(SELECT * FROM master.dbo.sysdatabases WHERE dbid=db_ID('dbname')))
BEGIN
USE master
ALTER DATABASE dbname
SET single_user
WITH ROLLBACK IMMEDIATE
DROP DATABASE dbname
(8)sql检查表是否存在扩展阅读
判断储存过程,如果存在则删除
IF (EXISTS(SELECT * FROM sysobjects WHERE name='procerename' AND type='P'))
DROP PROCEDURE procerename
判断触发器,如果存在则删除
IF (EXISTS(SELECT * FROM sysobjects WHERE id=object_id(N'[dbo].[triggername]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1))
DROP TRIGGER triggername
判断用户函数是否存在,如果存在则删除
此处type有两种: 'TF'- Table-Value Function 表值函数 'FN'- Scalar-Value Function 标量值函数
IF (EXISTS(SELECT * FROM sysobjects WHERE id=object_id(N'[dbo].[userfunction]') AND (type='FN' OR type='TF')))
DROP FUNCTION userfunction
❾ 怎样可以检测SQL数据库中某个表是否存在
在sql数据库中有一个sysobjects表,记录当前所有的表名可以用Query(SQL语句)SELECT * FROM sysobjectsWHERE '表名' = Name或用Table打开,用Locate找一下