如何判斷資料庫,表或字段是否存在

2021-09-06 22:38:08 字數 1580 閱讀 4046

在新增新的資料庫,表或字段的時候,新增之前一般都會檢查是否已經存在,這樣做的好處是保證指令碼的穩定性,再次執行的時候也不會報錯了。

有兩種方法,一種是使用內建的函式,另外一種是查詢系統表,總結的sql指令碼如下。

1

usemaster;2go

34--判斷資料庫是否存在5--

方法1:使用函式db_id6if

db_id('

testdb

') is

notnull

drop

database

testdb;78

--方法2:查詢系統表9if

exists(select

*from sys.sysdatabases where name=n'

testdb

') drop

database

testdb;

1011

usetestdb;

12go

1314

--判斷資料表是否存在

15--

方法1:使用函式object_id

16if

object_id('

dbo.test

','u

') is

notnull

drop

table

dbo.test;

1718

--方法2:查詢系統表

19if

exists(select

*from sys.syscolumns where

object_id('

dbo.test

')) drop

table

dbo.test;

2021

--判斷字段是否存在

22--

方法1:使用函式col_length

23if

col_length('

dbo.test

',n'

userid

') is

null

24alter

table dbo.test add item1 nvarchar(max) null;25

26--

方法2:查詢系統表

27if

exists(select

*from sys.syscolumns where id=

object_id('

dbo.test

') and name=n'

userid')

28print

'userid已存在'29

else

30print

'userid不存在'31

32--

重新整理檢視,因為新增或刪除列時可能會影響到檢視

33if

object_id('

dbo.vieworderintegral

','u

') is

notnull

34exec sp_refreshview n'

dbo.vieworderintegral

';

mysql判斷資料庫或表是否存在

1 判斷資料庫存在,則刪除 drop database if exists db name 2 判斷資料表存在,則刪除 drop table if exists table name 注 db name,table name可用 1鍵旁邊那個鍵 號引起來,也可不引起來.1 如果單純顯示是否存在資料庫...

如何判斷資料庫是否存在

在建立資料庫時,經常要判斷伺服器中是否存在某個資料庫,然後再決定是不是要進行下一步操作。以下是一些簡單地示例,希望會有用。2 ifexists select from master.dbo.sysdatabases where name skybusiness 3 begin4 drop datab...

Sql記錄 判斷表或字段是否存在

首先我們需要了解 information schema 這個庫 information schema 中儲存著關於mysql伺服器所維護的所有其他資料庫的資訊。如資料庫名,資料庫的表,表欄的資料型別與訪問許可權等。其內有數個唯讀表,它們實際上是檢視,而不是基本表,因此,你將無法看到與之相關的任何檔案...