SQL server 2008 T-sql 總結

數據庫的實現shell

1.添加數據:insert [into] 表名 (字段1,字段2,···) values (值1,值2,····)     其中,into可選。數據庫

2.修改數據:update 表名 set 字段1=值1,字段2=值2,··· where (條件)編程

3.查詢數據:select 字段1,字段2,···from 表名 where (條件) order by 字段名windows

4.刪除數據:delete from 表名 where (條件)安全

5.數據庫文件由如下3部分組成。(1)主數據文件:*.mdf 。(2)次要數據文件:*.ndf 。(3)日誌文件:*.ldf 。其中,次要數據文件可選,能夠有多個數據文件和日誌文件。服務器

 

6.建立、刪除-------數據庫:網絡

       User mater      ------設置當前數據庫爲master,以便訪問sysdatabases表antd

       Go併發

       If exists (select * from sysdatabases where name=’數據庫名’)ide

              Drop database 數據庫名

       Go   -----數據庫的名稱,最長爲128個字符。

       EXEC xp_cmdshell ‘mkdir   路徑’      ---調用DOS命令建立文件夾

       Create database 數據庫名

       On [primary]  ----關鍵字,指定主文件組中的文件

       (

              [name=邏輯文件名,]

              filename =物理文件名

              [,size=大小]

              [,maxsize={最大容量|unlimited}]

              [,filegrowth=增加量] [,….n]

       )

       Log on    ---指明事務日誌文件的明肯定義。

       (

              name=?,filename=?,size=?,maxsize=?,filegrowth=?

       )

       go

7.建立、刪除---------表

       If exists ( select * from sysobjects where name=’表名’)

              Drop table 表名

       Create table 表名

       (

              字段1     數據類型       列的特徵,

              字段2     數據類型       裂地特徵,

              ····

       )    ----identity(起始值,遞增值)

       Go

8.建立、刪除---約束

常見的約束類型有:

(1)主鍵約束(primary key constraint):要求主鍵列數據的惟一,而且不容許爲空。

(2)惟一約束(unique constraint):要求該列惟一,容許爲空,但只能出現一個空值。

(3)檢查約束(check constraint):某列取值範圍限制,格式限制等。

(4)默認約束(default constraint):某列的默認值。

(5)外鍵約束(foreign key constraint):用於兩表之間創建關係,須要指定引用主表的哪一列。

例如:(1)alter table 表名 add constraint PK_字段 primary key (字段)

        (2)alert table 表名 add constraint UQ_字段 unique ( 字段 )

        (3)alert table 表名 add constraint DF_字段 default (默認值) for 字段

        (4)alert table 表名 add constraint CK_字段 check ( 字段 between 15 and 40 )

        (5)alert table 子表名 add constraint FK_子表字段 foreign key (子表字段) references 主表名(主表字段)

       Alert table 表名 drop constraint 約束名

9.使用SQL語句建立登陸

(1)建立登陸帳戶:(SQL帳戶和Windows帳戶)

              EXEC sp_grandlogin ‘windows  域名\域帳戶   ----windows帳戶

EXEC sp_addlogin  ‘帳戶名’,’密碼’              -----SQL帳戶

(2)建立數據庫用戶:EXEC sp_grantdbaccess ‘登陸帳戶’,’數據庫用戶’

(3)給數據庫用戶受權:GRANT    權限       【ON 表名】       TO  數據庫用戶

10.修改列名 exec sp_rename 'tablename.columnname' 'columnname' 'column'

(exec sp_rename '表名.列名' '列名' 'column')

                            第三章    T-SQL編程

1.局部變臉

       局部變量的名稱必須以標記@做爲前綴。

       聲明局部變量的語法:   DECKARE      @variable_name     DataType

       其中,variable_name爲局部變量的名稱,DataType爲局部變量類型。

       局部變量的賦值方法:使用SET和SELECT語句。

       Set @variable_name = value         或           select @variable_name = value

2.全局變量

       SQL Server中的全部全局變量都使用兩個@標誌做爲前綴。

常見的全局變量:@@ ERROR   最後一個T-SQL錯誤的錯誤號

                            @@IDENTTY       最後一次插入的標誌值

                            @@LANAGUAGE 當前使用的語言的名稱

                            @@MAX_CONNECTIONS         能夠建立的同時鏈接的最大數目

                            @@ROWCOUNT         受上一個SQL語句影響的行數

                            @@SERVERNAME      本地服務器的名稱

                            @@SERVICENAME     該計算機上的SQL服務器的名稱

                            @@TIMETICKS          當前計算機上美克度的微秒數

                            @@TRANSCOUNT      當前連接打開的事務數

                            @@VERSION              SQL Server的版本信息

3.輸出語句 (用於輸出顯示處理的數據結果)

       語法:print 局部變量或字符串         -----        select 局部變量    as  自定義列名

       例如:print ‘當前錯誤號:+CONVERT(varhcaar(20),@@ERROR)’

4.邏輯控制語句

       (1)   if`(條件)         語句或語句塊       else         語句或語句塊

       (2)   while(條件)    語句或語句塊       [ break ]

       (3)   CASE多分支語句

              Case  when 條件1      then        結果1

                       When 條件2     then        結果2

                            【else     其餘結果】

              END

                                   第五章    事務·索引和視圖

1、事務

事務是做爲單個邏輯工做單元執行的一系列操做。一個邏輯單元必須有4個屬性,即原子性(Atomicity)、一致性(Consitency)、隔離性(Isolation)及持久性(Durability),這些特性一般簡稱爲ACID.

(1)       原子性:食物是一個完整的操做。事物的各元素是不可分的(原子的)。事務中的全部元素必須做爲一個總體提交或回滾。若是食物中的任何元素失敗,則整個是武將失敗。

(2)       一致性:當事務完成時,數據必須處於一致狀態。也就是說,在事務開始以前,數據庫中存儲的數據處於一致狀態。在正在進行的事務中,數據可能處於不一致狀態。然而,當事務成功完成時,數據必須再次回到已知的一致狀態。

(3)       隔離性:對數據進行修改的全部併發事務是彼此隔離的,這代表事務是必須是獨立的,他不該以任何方式依賴於或影響其餘事務。

(4)       持久性:事務完成後,它對於系統的影響是永久的。

(5)       1 開始事務:begin transaction。2.提交事務:commit transaction。3.回滾(撤銷)事務:roolback transaction。

(6)       事務的分類有如下3種:顯示事務、隱式事務、自動提交事務。

2、索引

語法:    create      [ unique ]              [ clustered | nonclustered ]    index       index_name

              on           table_name     [ column_name [ ,column_name ] 、、、 ]

              [      with               filllfactor=X    ]

其中,unique指定惟一索引,可選。CLUSTERED、NONCLUSTERED指的是彙集索引仍是非彙集索引,可選。FILLFACTOR表示填充因子,指定一個0~100的值,該值指示索引頁填滿的空間所佔的百分比。

創建索引的標準:該列用於頻繁搜索;該列用於對數據進行排序。

規則:彙集索引決定表中數據的存儲順序。一個表只能有一個彙集索引,這是由於彙集索引決定數據的物理存儲順序。非彙集索引指定表的邏輯順序。所以,一個表能夠有多個(最多249個)費彙集索引。

3、視圖

語法:    create      view              view_name     AS   < select 語句 >

好處:(1)對最終用戶的好處:結果更容易理解;得到數據容易。

       (2)對開發人員的好處:限制數據檢索容易;維護應用程序更方便。

                                   第六章    存儲過程

1.存儲過程是一組預編譯的SQL語句。存儲過程能夠包含數據操做語句、邏輯控制語句和調用函數等。

語法:create  proc[edure]    存儲過程名

              【    {@參數1       數據類型} 【=默認值】 【OUTPUT】,  】

              AS                        SQL語句

優勢:(1)容許模塊化開發;(2)容許更快地執行;(3)減小網絡流量;(4)可做爲安全機制使用。

2.RAISERROR語句用來向用戶報告錯誤。

相關文章
相關標籤/搜索