SQL语句判断数据库、表、字段是否存在

一、数据库

(1)查询系统中-->存放所有数据库信息的信息表(sysdatabases)

语句:

 select * from master.dbo.sysdatabases 

 where name='databasename'

①返回rs(有关于这个数据库的所有信息,返回值是数据库结果集)    java程序中运行一下 rs.next()便可。

②数据库可以子查询一下    if(.....) is not null

(2)if db_id('databasename') is not null

     drop database 
      go

     create


(3)exec sp_hlepdb databasename

二、表

(1)select count(*) from sysobjects where id = object_id('数据库名.Owner.表名')

   if exists (select count(*) from sysobjects where id = object_id('数据库名.Owner.表名'))

     print '存在'
   else
     print '不存在'

三、字段
  if exists 
(select * from syscolumns where name='colname1' and id=object_id('数据库名.Owner.表名'))

    print '存在'
  else
    print '不存在'
  (代表表tablename1中存在colname1字段 )
例:
  select * from syscolumns where name='Test' and id=object_id('dbo.test')


你可能感兴趣的:(SQL,Server数据库)