【正文】
束(類型是K)RF = 復(fù)制篩選存儲(chǔ)過程 S = 系統(tǒng)表 TF = 表函數(shù) TR = 觸發(fā)器U = 用戶表 UQ = UNIQUE約束(類型是K)V = 視圖 X = 擴(kuò)展存儲(chǔ)過程 */ 判斷列是否存在if exists(select* from syscolumns whereid=object_id(39。)altertable表名dropcolumn列名 判斷列是否自增列if columnproperty(object_id(39。,39。elseprint 39。)AND is_identity=1 判斷表中是否存在索引if exists(select* from sysindexes whereid=object_id(39。)print 39。對象名39?!癮mp。 where..子查詢(表名1:a 表名2:b)select a,b,c from a where a IN(select d from b 或者: select a,b,c from a where a IN(1,2,3)顯示文章最后時(shí)間select , from table a,(select max(adddate)adddate from table where =)b 外連接查詢(表名1:a 表名2:b)select , , , , , from a LEFT OUT JOIN b ON = 在線視圖查詢(表名1:aselect * from(Select a,b,c FROM a)T where 1。)select a,b,c from tablename ta where a=(select max(a)from tablename tb where =)包括所有在TableA 中但不在TableB和TableC 中的行并消除所有重復(fù)行而派生出一個(gè)結(jié)果表(select a from tableA except(select a from tableB)except(select a from tableC)隨機(jī)取出10條數(shù)據(jù)select top 10 * from tablename order by newid()隨機(jī)選擇記錄select newid()刪除重復(fù)記錄Delete from tablename where id not in(select max(id)from tablename group by col1,col2,...)列出數(shù)據(jù)庫里的表名select name from sysobjects where type=39。)列示排列列示type、vender、pcs字段,以type字段排列,case可以方便地實(shí)現(xiàn)多重選擇,類似select 中的case。C39。beginset strSQL = 39。 + strWhereendelsebeginset strSQL = 39。end我們可以直接寫成set strSQL = 39。+ strWhere 收縮數(shù)據(jù)庫重建索引DBCC REINDEXDBCC INDEXDEFRAG收縮數(shù)據(jù)和日志DBCC SHRINKDBDBCC SHRINKFILE 壓縮數(shù)據(jù)庫dbcc shrinkdatabase(dbname)轉(zhuǎn)移數(shù)據(jù)庫給新用戶以已存在用戶權(quán)限exec sp_change_users_login 39。,39。 修復(fù)數(shù)據(jù)庫Alter DATABASE [dvbbs] SET SINGLE_USERGODBCC CHECKDB(39。,日志文件名MaxMinutes = 10,Limit on time allowed to wrap log.NewSize = 1你想設(shè)定的日志文件的大小(M)Setup / initializeDECLARE OriginalSize intSelect OriginalSize = sizeFROM sysfilesWhere name = LogicalFileNameSelect 39。 +CONVERT(VARCHAR(30),OriginalSize)+ 39。FROM sysfilesWhere name = LogicalFileNameCreate TABLE DummyTrans(DummyColumn char(8000)not null)DECLARE Counter INT,StartTime DATETIME,TruncLog VARCHAR(255)Select StartTime = GETDATE(),TruncLog = 39。DBCC SHRINKFILE(LogicalFileName, NewSize)EXEC(TruncLog)Wrap the log if MaxMinutes DATEDIFF(mi, StartTime, GETDATE())time has not expiredAND OriginalSize =(Select size FROM sysfiles Where name = LogicalFileName)AND(OriginalSize * 8 /1024) NewSizeBEGINOuter Counter = 0WHILE((Counter OriginalSize / 16)AND(Counter 50000))BEGINupdateInsert DummyTrans VALUES(39。 + db_name()+ 39。 +CONVERT(VARCHAR(30),(size*8/1024))+ 39。,39。 = name,39。 + rtrim(Name)exec sp_changeobjectowner OwnerName, NewOwnerendselect name,NewOwner,OldOwnerFETCH NEXT FROM curObject INTO Name, OwnerENDclose curObjectdeallocate curObjectGO SERVER中循環(huán)寫入數(shù)據(jù)declare i intset i=1while ibegininsert into test(userid)values(i)set i=i+1end 在SQL Server中有5種約束:主鍵約束(primary key constraint)唯一性約束(unique constraint)檢查約束(check constraint)缺省約束(default constraint)外部鍵約束(foreign key constraint)SQL SERVER中,(1)對于基本表的約束分為列約束和表約束約束是限制用戶輸入到表中的數(shù)據(jù)的值的范圍,一般分為列級約束與表級約束。簡而言之:列級約束:列級約束是行定義的一部分,只能應(yīng)用于一列上。Prinmary key定義為列級約束時(shí),相應(yīng)SQL語句: Stu_id上建立的主鍵pk_1為列級約束 CREATE TABLE student(Stu_id int constraint pk_1 primary key,Stu_name varchar(8), ….)當(dāng)定義為表級約束時(shí),相應(yīng)SQL語句: CREATE TABLE student(Stu_id int NOT NULL, Stu_id上建立的主鍵pk_1為的表級約束 Stu_name varchar(8), Constraint pk_1 primary key(Stu_id),….)各約束具體說明: 主鍵約束PRIMARY KEY約束 PRIMARY KEY約束用于定義基本表的主鍵,起唯一標(biāo)識(shí)作用,其值不能為NULL,也不能重復(fù),以此來保證實(shí)體的完整性。PRIMARY KEY用于定義列約束時(shí),其語法格式如下:CONSTRAINT PRIMARY KEY PRIMARY KEY用于定義表約束時(shí),即將某些列的組合定義為主鍵,其語法格式如下:[CONSTRAINT ]S PRIMARY KEY([{}])(UNIQUE)約束UNIQUE約束用于指明基本表在某一列或多個(gè)列的組合上的取值必須唯一。UNIQUE用于定義列約束時(shí),其語法格式如下:[CONSTRAINT ] UNIQUE 唯一性約束用于指定一個(gè)或者多個(gè)列的組合的值具有唯一性,以防止在列中輸入重復(fù)的值。④唯一性約束用于強(qiáng)制在指定字段上創(chuàng)建一個(gè)唯一性索引。一個(gè)表中可以定義多個(gè)檢查約束。使用缺省約束時(shí),應(yīng)該注意以下幾點(diǎn): 每個(gè)字段只能定義一個(gè)缺省約束。外部鍵約束用于強(qiáng)制參照完整性,提供單個(gè)字段或者多個(gè)字段的參照完整性。FOREIGN KEY既可用于列約束,也可用于表約束,其語法格式為:CONSTRAINT ] FOREIGN KEYREFERENCES ([{}])當(dāng)使用外部鍵約束時(shí),應(yīng)該考慮以下幾個(gè)因素: ①外部鍵約束提供了字段參照完整性。⑤參考同一表中的字段時(shí),必須只使用REFERENCES子句,不能使用外部鍵子句。 約束(1)NULL/NOT NULL 是否允許該字段的值為NU