MSSQL中資料庫是否存在等操作方法總結

2021-10-23 12:27:08 字數 1693 閱讀 8683

select *  from master.dbo.sysdatabases
select count(*) from master.dbo.sysdatabases where name='資料庫名'
create database [eisconnk3] on  primary 

( name = n'資料庫名', filename = n'路徑\資料庫名.mdf' , size = 25600kb , maxsize = unlimited, filegrowth = 1024kb )

log on

( name = n'資料庫名_log', filename = n'路徑\資料庫名_log.ldf' , size = 199296kb , maxsize = 2048gb , filegrowth = 10%)

go

drop database 資料庫名
在資料庫內建立的每個物件(約束、預設值、日誌、規則、儲存過程等)在表中佔一行。只有在 tempdb 內,每個臨時物件才在該表中佔一行。

sysobjects 表結構只列舉部分

列名資料型別

描述name

sysname

物件名,常用列

idint

物件標識號

xtype

char(2)

物件型別。常用列。xtype可以是下列物件型別中的一種:c=check約束d=預設值或default約束f=foreignkey約束l=日誌fn=標量函式 if=內嵌表函式 p=儲存過程 pk=primarykey約束(型別是k) rf=複製篩選儲存過程 s=系統表 tf=表函式 tr=觸發器 u=使用者表 uq=unique約束(型別是k) v=檢視 x=擴充套件儲存過程

parent_obj

int父物件的物件標識號(例如,對於觸發器或約束,該標識號為表id)。

crdate

datetime

物件的建立日期。

schema_ver

int版本號,該版本號在每次表的架構更改時都增加。

stats_schema_ver

int保留。僅限內部使用。

type

char(2)

物件型別。可以是下列值之一: c=check約束 d=預設值或default約束f=foreignkey約束 fn=標量函式if=內嵌表函式 k=primarykey或unique約束 l=日誌p=儲存過程r=規則 rf=複製篩選儲存過程 s=系統表 tf=表函式tr=觸發器u=使用者表v=檢視x=擴充套件儲存過程

sysstat

smallint

內部狀態資訊

category

int用於發布、約束和標識

select * from sysobjects where xtype='u' and name='表名'
create table tablename(

fieldname1 varchar(20)

fieldname2 int……)

drop table tablenam

資料庫中是否存在某錶 表是否存在某欄位

判斷資料庫中是否存在某錶以及表書否存在某字段的sql語句 檢查資料庫是否存在表 1.0 select from sys.tables where name 流程例項表 2.0 select from dbo.sysobjects where id object id n 流程例項表 and obje...

insert時判斷資料庫中是否存在

在做使用者模組或其他模組要求資料庫唯一性的時候在插入資料需要先判斷一下資料庫中是否已經存在 直接看案例 這條sql 最基礎的插入語句,insert into user name,password values admin,123456 下面將它改造成插入判斷是否存在 insert into user...

判斷資料在資料庫中是否已存在

今天下午和同事發生因為判斷資料是否在資料庫中已存在產生分歧.簡易 如下 觀點一,先取出資料庫中已存在id存入記憶體,再進行判斷 資料太多情況,記憶體 datetable dt excutesql select id from table list為資料集,已經去重 foreach var item ...