怎么判断sql数据库是否存在,存在删除
发布网友
发布时间:2022-04-26 07:18
我来回答
共3个回答
懂视网
时间:2022-04-30 07:46
在实际工作中会遇到通过SQL查询数据库是否存在的情况,下面一些语句可以提供一些帮助,本文的语句是在SQL08R2中测试的
1,查询当前数据库服务器所有数据库
select * From master.dbo.sysdatabases
2,查询数据库是否存在
select count(*) From master.dbo.sysdatabases where name=‘数据库名‘
3,查询某数据库中所有用户表
select * from sysobjects where xtype=‘U‘
‘U’代表用户表
C = CHECK 约束 D = 默认值或 DEFAULT 约束 F = FOREIGN KEY 约束 L = 日志 FN = 标量函数
IF = 内嵌表函数 P = 存储过程 PK = PRIMARY KEY 约束(类型是 K) RF = 复制筛选存储过程
S = 系统表 TF = 表函数 TR = 触发器 U = 用户表 UQ = UNIQUE 约束(类型是 K)
V = 视图 X = 扩展存储过程
4 查询数据库中某一个表是否存在
select count(*) from 数据名.dbo.sysobjects where id = object_id(‘数据库名.dbo.表名‘)
参考资料:
http://www.cnblogs.com/atree/p/SQL-Server-sysobjects.html
http://www.cnblogs.com/puresoul/archive/2010/03/21/1691004.html
http://blog.csdn.net/fuyouche/article/details/8039197
SQL查询数据库是否存在
标签:
热心网友
时间:2022-04-30 04:54
判断数据库,如果存在则删除:
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
END
扩展资料
判断储存过程,如果存在则删除
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
热心网友
时间:2022-04-30 06:12
如何判断数据库是否存在 执行下列的SQL,获得一张表,根据表的行数来判断。
select * from master..sysdatabases where name=N'所查询的数据库名'
if exists(select * from master.dbo.sysdatabases where name = 'yexinwinners')
begin
drop database yexinwinners
print 'yexinwinners己存在,己被删除'
end
else
begin
create database yexinwinners
on primary
(
name = yexinwinners_mdf,
filename = 'c:\yexinwinners.mdf',
size = 10mb,
maxsize = 50mb,
filegrowth = 25%
)
log on
(
name = yexinwinners_ldf,
filename = 'c:\yexinwinners.ldf',
size = 10mb,
maxsize = 50mb,
filegrowth = 25%
)
print 'yexinwinners 数据库创建成功'
end
怎么判断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 m...
如何判断SQL中某个数据库是否存在
2. object_id('test_db')如果无法获取对象ID(null),则说明此对象不存在;常用 if object_id('test_db') is null 或者 if (select object_id('test_db')) is null 3. db_id('test_db')如果不能获取数据库ID,则说明name所表示的数据库不存在;实际上此种方法也是在sysdatabases中查找...
SQL中查询某个表是否存在的几种方法
在创建表之前,我们通常会先确认数据库中是否已存在该表。比如,若要创建名为User_TagTbl的表,我们会先检查该表是否存在,如果已经存在,则会选择删除该表。除了使用if exists语句之外,我们还可以采用其他方法来检查数据库中是否存在某个表。以下是一些常用的检查方法:
如何使用sql语句判断一个数据库是否已经存在
1.数据库 if exists(select 1 from master..dbo.sysdatabases where name='example')print 'DataBase existed'else print 'Database not existed'2.表 IF Exists(Select 1 From sysObjects Where Name ='表名' And Type In ('S','U'))Print 'Exists Table'Else Print 'Not Exists Table'...
如何判断数据库中是否存在某个数据
在SQL Server数据库编程时,常常需要判断一个数据库是否已经存在,如果不存在则创建此数据库。常用的方法有以下三种:1. select * From master.dbo.sysdatabases where name='test_db'如果不存在查询结果,则说明name所表示的数据库不存在 2. object_id('test_db')如果无法获取对象ID(null),则说明...
SQL 插入之前怎么判断数据库已经存在
具体语法如下:insert into B_table (f1,f2,f3...,D)select F1,F2,F3,...C from A_table where C not in (select D from b_table);此句实现的就是A中C列不在B中D列的数据都写入B中,但效率低。如果可能,建议在A中增加一个标志位,标志是否已经写入过B,而且此标志位要做索引。
浅谈SQL判断是否存在_Mssql数据库教程
--- --判断要创建的存储过程名是否存在 ifexists(select*fromdbo.sysobjectswhereid=object_id(N’[dbo].[存储过程名]’)andOBJECTPROPERTY(id,N’IsProcedure’)=1)--删除存储过程 dropprocedure[dbo].[存储过程名]GO --- --判断要创建的视图名是否存在 ifexists(select*...
delphi 检查sql数据库是否已存在
【判断数据库是否存在】语法如下:if exists (select * from sys.databases where name = '数据库名')--drop database [数据库名]
在SQL2008数据库中 判断如果数据库存在就删除 如果不存在就创建 语法是...
go if exists(select * from sysdatabases where name='test')drop database test go create database test go use test create table Table1 (大名,varchar(20),年龄 int,地址 varchar(50))insert into table1 values('王朝',20,'江苏盐城')insert into table1 values('马汉',20,'江苏...
vb中如何sql语句判断数据库是否存在列。。
select * from syscolumns where name='kk' and id=object_id('abc'),返回记录大于零说明存在,否则不存在。