SQLserver2000 实例管理工具
?
?
?
1、企業管理器是microsoft管理控制臺(Microsoft management console)的一個插件。插件是運行在MMC中的部件、他不能獨立運行,但必須包含著MMC中。企業管理器提供MMC形式的界面。像IIS、MTS也是MMC插件
2、查詢分析器右邊有模板選項卡,可以創建現成的模板,非常方便。查詢分析器的對象選項卡,可以選定制定的數據表查看現成的查詢,插入,修改,刪除語句,更改相關字段即可,非常方便。
3、時間探查器和數據轉換服務DTS(data transformation service)可以在企業管理器中的工具選項卡里打開
4、DTS支持多種異結構之間進行數據導入導出服務,更包括電子表格和文本文件,可以設置立即執行或者過段時間執行
5、sa=system administrator
6、model數據庫是一個系統數據庫,用于SqlServer2000拷貝新的數據庫,設置于model數據庫的一些選項將被用于企業管理器及查詢分析器創建新數據庫時的屬性。數據文件有所屬文件組。。最右邊,而事務文件沒有,事物文件記錄一些數據的修改,方便我們進行回滾,事物文件的空間增長不大。
7、RAID是獨立磁盤用于陣列,是具有多個磁盤的系統。通??梢砸姅祿募?#xff0c;事務日志和程序文件放于不同的磁盤上
8、設置數據磁盤的增長最好按百分比,防止出錯及被迅速用盡
9、SqlServer2000不允許在所有系統數據庫上創建新的數據文件、事物日志和文件組
10、我們可以把不同的用戶表定義在不同的文件組中,這樣可以提高應用程序的效率、我們可以定義一個文件組為默認文件組,代表所有創建的表都將默認到文件組中,如果不定義,表將被定義到PRIMARY中
11、查詢分析器中刪除數據庫'SQLSpaNet'
use master go if exists (select name from master.dbo.sysdatabases where name='SQLSpaNet') drop database [SQLSpaNet] go執行后會出現兩條刪除數據庫文件的提示。所有的數據庫處理,如drop和create都應該在master中執行12、DDL(data definition language)數據庫定義語言
????? DML(data manipulation language)數據處理語言
13、查詢分析器中創建數據庫SQLSpyNet
???
代碼 use mastergo
create database SQLSpyNet
on primary(name='SQLSpyNet_Data',Filename='X:\SQLSpyNet_Data_MDF',size=5mb,filegrowth=10%)
log on(name='SQLSpyNet_Log',Filename='X:\SQLSpyNet_Log_LDF',size=5mb,filegrowth=10%)
go
?go:立即執行代碼
14、表的設計中應該盡量避免null值,有些可以設置默認值防御
15、1/3只能為整形0,如果轉為浮點型相除float(1)/float(3) 結果為0.333..
16、查詢表中重復出現的行
???? select a,b,c from 表名 group by a,b,c having count(*)>1
17、創建表ActivityType
代碼 Create Table ActivityType{
ActivityTypeId int indentity(1,1) not null
//indentity(1,1)標識種子1,1 不允許為空
Constraint PK_ActivityTypeId
'Constraint 主鍵約束
Primary key Clustered,
//Clustered指出磁盤上的數據物理存儲按id順序來
Description varchar(50) not null, Uploaddate datetime notnull Default(getdate()), //default的作用是Uploaddate為空時,插入默認值 age int not null default 18 check(age>=18) // check添加約束,確保輸入年齡大于18歲
}
18、為表table1創建唯一索引
Create unique nonclustered index IDX_table1on table1(name,age)
19、select查詢中應該盡量避免*,因為*會查詢系統表中所有符合條件的列,對于大型項目來說非常影響效率
20、and和or的優先級and高于or
21、select排序
Select MemberID,MemberName,birthday from table1 order by MemberName desc,birthday查詢將先按照membername降序排練
22、插入數據
?
Insert into table1(MemberName,age,birthday)values('張三',18,'1989-1-1')
?
??? SQL中出數字及NULL外其他所有值都要用引號
23、變量的定義
Declare @a int,@b varchar(40),@c datetimeDeclare @a int
Declare @b varchar(40)
?
24、變量的賦值
?
Declare @a intset @a=1
/'第一種賦值方法*/
Select @a=1
/'第二種賦值方法*/
set @a=(select RId from table1 where c=1)
25、IF...ELSE
Declare @a datetimeset @a=getdate
IF @a=getdate
print 'it is today'
else
print 'it is not today'
/*print 打印出字*/
26、convert(char(2),1)將1從INT轉換為長度為2的字符
27、break語句
Declare @a intset @a=1
while @a<10
begin
print 'now is'+convert(char(2),@a)
if @a=7
begin
print 'it's good'
break
end
end
?28、試圖的作用和表一樣,試圖其實就是一個虛擬表。也可以進行插入,刪除,更新,查詢等操作
?????? 創建試圖
Create VIEW VIEW_BT ASselect a.line1,b.line2,a.line3 from
table1 a
inner join table2 b
a.RId=b.RId
inner join table3 c
a.RId=c.RId
??? inner join將兩個表集合到一些,只顯示2個表完全匹配的數據
??? left outer join 將返回from表中所有的數據,鏈接表中可能會出現null,如果連接表中有兩個符合條件的數據,from表中同一數據將會出現兩次
??? right outer join?將返回鏈接表中所有的數據,from表中可能會出現null
??? full outer join 將返回所有數據,很少用到
29、試圖的缺點
???? 試圖的select語句不能運用order by 語句
???? 不能像試圖傳遞動態參數來改變查詢的結果
???? 只有試圖參照單個表時才能基于視圖進行更新
?30、存儲過程的創建
Create Procedure SpyMemberInsert@a int,
@b varchar(10),
@c char(1)=null
as
declare @d int
insert into table1 (e,f,g)
values(@a,@b,@c)
31、執行存儲過程
EXEC SpyMemberInster 1,'好',null32、觸發器
?一個表中可以有多個觸發器觸發相同的事件
33、刪除對象
數據庫對象建議不要直接修改、先刪除再創建,把create改成drop即可
34、函數分為確定性函數和非確定性函數,非確定性函數即使參數相同也有可能得到不同的結果
35、函數
代碼 /*1、convert函數*//*把數字22轉為數據類型為varchar(10)的字符串*/
convert(varchar(10),22)
/*轉換結果'22'*/
convert(varchar(10),22,1) /*這里多了一個格式參數1*/
CAST函數的作用跟convert一樣,不過cast函數參數較少,他沒有類型參數
/*2、count函數*/
/*count函數是一個聚合函數,如果只對null值進行count,將返回0*/
select count(a) from table1 /*統計所有a的數量*/
select count(distinct a) from table1 /*統計具有唯一的a的數量*/
/*3、SUM函數*/
select sum(a) from table1 /*求出a列的和*/
select sum(distinct a) from table1 /*求出唯一的a值列的和*/
/*4、Avg函數*/
select Avg(a) from table1 /*求出a列的平均值*/
?36、stuff函數
37、定義一個格式化日期函數
代碼 Create Function DateFormater(@datc datetime,@datesperator char(1))
return varchar(20)
as
begin
declare @returnstr varchar(20)
set @returnstr=convert(varchar(2),day(@date))+@datesperator+datename(month,@date)+@datesperator+convert(varchar(4),year(@date))
return(@returndate)
end
38、datename函數
39、調用自定義函數
/*調用自定義函數需要加上前綴dbo.*/Select dbo.dateformatter(dob,'-') as dbc
from person
40、規則
Create rule aas
@b<dateadd(year,-16,getdate())
/*規則建立*/
EXEC sp_bindrule 'a','Personage'
/*規則綁定,現在personage列符合a規則*/
41、默認值
Create default a as 'unknown'/*創建默認值*/
EXEC sp_defaultbind 'a','b'
/*綁定默認值,將默認值a綁定到列b*/
go
42、創建用戶自定義數據類型
43、事務
代碼 /*假如符合條件的b=3*/Select a,b,c from table1 where a=4
/*b=3*/
begin transaction
update table1 set b='4' where a=4
Select a,b,c from table1 where a=4
/*b=4*/
rollback transaction
/*回滾,撤銷此事務所做的修改*/
Select a,b,c from table1 where a=4
/*b=3*/
?44、鎖
45、捕獲錯誤
?運用@@ERROR語句,如果一切運行正常返回0
IF @@ERROR<>0begin
--perform some action
end
?
代碼 ALTER PRCEDURE PersonBadGuylnsert@Firstn加e VARCHAR(50),
@Surname vARCHAR [50),
@DOB DATETIHE =NuLL
@KnovnAs VARCHAR(25)=NULL,
@ISActive BIT =l
DECLARE @LocalError
Begin TRANsACti0N
INSERT INto Person (firstname,surname,dob)
VALuS (@Firstname,@Surnname,@Dob)
5ET @LocaLError =@@ERROR
DECLARB @PersonID INT
Set @PersonID =IDeNT_cuRRENT('Person')
INSERY INto badGuy (PersoniD,Knownas,IsActlve
vALUeS [@PersonID,@KnownAs,oIsActive)
set @Localerror =@LocalError 十@@ERROR
IF @LocalError=O
BEGIN
COmmIT tRANSACtloN
PRINt 'you have succe5sh]11y idded
and thelr Bad guy detall s'
BEGIN
roLLBACKtRANSACTl0N
PRINT '00ps an error'
END
?
轉載于:https://www.cnblogs.com/opper/archive/2010/01/13/1646850.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的SQLserver2000 实例管理工具的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信用卡销卡步骤流程 不使用的卡最好及早销
- 下一篇: 无法载入 mysql 扩展