它是一個軟件,由Microsoft從RDBMS指定實現開發; html
它也是一個ORDBMS;sql
它依賴於平臺(運行在Windows系統平臺上);數據庫
它是基於GUI和命令的軟件;編程
它支持SQL(SEQUEL)語言的IBM產品,非程序性,通用數據庫不區分大小寫的語言;瀏覽器
經過SQL Server分析服務(SSAS)分析數據;安全
經過SQL Server Reporting Services (SSRS)生成報告;服務器
經過SQL Server集成服務(SSIS)進行ETL操做;
函數
SQL Server是由微軟開發的關係型數據庫系統。oop
Transact-SQL(T-SQL)是SQL的擴展,它在 SQL Server 中使用。Transact-SQL緊密集成到SQL語言中,但它增長了編程結構,部分技術有區別於原始 SQL 語句。性能
在這個教程SQL Server中,咱們將學習基本知識,如如何檢索和操做數據。而後再轉到更高級的主題,好比如何建立表,登陸,用戶,函數和存儲過程。
經過這個教程的學習,您應該以本身一個學習方式和態度,熟練撐握SQL Server和Transact-SQL。
學習和閱讀本SQL Server教程沒有特別的前提條件。大部分時候還得自覺,多思考和練習。本教程是做爲進入到更高級內容的一個很容易理解和學習SQL Server的基礎教程,經過本系列教程文章的學習後,您的 SQL Server 的水平爲 「熟練」,要成數據管理員級別,可能要還須要必定的時間積累和應用經歷。
如今,讓咱們開始吧!
或直接跳轉到SQL Server主題:
函數- 按字母分類 | SQL Server (Transact-SQL) 按字母順序函數列表 |
函數 - 按功能分類 | SQL Server (Transact-SQL) 按分類函數列表 |
主鍵 | 建立,修改,刪除,啓用和禁用主鍵 |
外鍵 | 建立,修改,刪除,啓用和禁用外鍵 |
惟一約束 | 建立,添加和刪除惟一約束 |
檢查約束 | 建立,修改,刪除,啓用和禁用檢查約束 |
索引 | 建立,重命名和刪除索引(性能調優) |
授予或撤銷權限 | 授予或撤銷權限(許可) |
修改密碼 | 用戶/登陸更改密碼 |
登陸 | 用於鏈接到SQL Server實例(建立,修改,刪除)的標識 |
用戶 | 登陸到SQL Server(建立,刪除)的數據庫用戶 |
函數 | 建立和刪除函數(功能) |
存儲過程 | 建立和刪除存儲過程 |
字面量(常量) | 字符串,整數,小數和日期時間字面量 |
聲明變量 | 聲明變量和設置變量 |
循環和條件語句 | WHILE Loop, IF...ELSE語句 |
序列(自動編呈) | 建立或刪除序列 |
SQL註釋 | 在SQL語句中如何建立使用註釋 |
SQL Server比較運算符
比較運算符 | 比較運算符如:=, <>, !=, >, < 等等 |
SQL Server查詢類型
SELECT語句 | 從表中檢索記錄 |
SELECT TOP語句 | 從表中檢索,並限制結果記錄數 |
SELECT INTO語句 | 從另外一個表的列和數據來建立新的表 |
INSERT語句 | 插入記錄到一個表中 |
UPDATE語句 | 更新一個表中的記錄數據 |
DELETE語句 | 從表中刪除記錄數據 |
DELETE TOP語句 | 刪除記錄並限制刪除數量 |
TRUNCATE TABLE語句 | 從表中刪除全部記錄(無回滾) |
UNION操做符 | 合併2個或更多的結果集(刪除重複) |
UNION ALL操做符 | 合併2個或更多的結果集(包括重複) |
INTERSECT操做符 | 2個結果集的交集 |
EXCEPT操做符 | 一個結果集減去另外一結果集的結果(差集) |
子查詢 | 在查詢中使用另外一個查詢 |
PIVOT子句 | 建立一個交叉表查詢 |
鏈接表 | 內部和外部鏈接 |
別名-ALIASES | 爲列或表建立一個臨時名稱 |
DISTINCT子句 | 檢索惟一記錄 |
FROM子句 | 列出表和聯接信息 |
WHERE子句 | 過濾結果 |
ORDER BY子句 | 排序查詢結果 |
GROUP BY子句 | 一個或多個列分組 |
HAVING子句 | 限制返回的行組 |
COUNT函數 | 返回表達式的數量 |
SUM函數 | 返回表達式的總和 |
MIN函數 | 返回表達式的最小值 |
MAX函數 | 返回表達式的最大值 |
AVG函數 | 返回表達式的平均值 |
AND條件 | 要知足2以上的條件 |
OR條件 | 知足任意條件 |
AND和OR | 結合AND和OR條件 |
LIKE條件 | 在WHERE子句使用通配符 |
IN條件 | 替代多個OR條件 |
NOT條件 | 否認一個條件 |
IS NULL條件 | 測試一個NULL值 |
IS NOT NULL條件 | 測試NOT NULL值 |
BETWEEN條件 | 範圍內檢索(含) |
EXISTS條件 | 若是子查詢返回至少一行則條件知足 |
CREATE TABLE | 建立一個表 |
SELECT INTO | 由一個表的定義和數據來建立新表 |
ALTER TABLE | 添加,修改或刪除表中的列;重命名錶 |
DROP TABLE | 刪除表 |
LOCAL TEMP TABLES | 臨時表是模塊中的不一樣和嵌入式SQL程序 |
GLOBAL TEMP TABLES | SQL會話的全局臨時表 |
VIEW | 虛擬表(其餘表的視圖) |
數據類型 | SQL Server (Transact-SQL)的數據類型 |
版本 | 年份 | 代碼名稱 |
---|---|---|
6.0 | 1995 | SQL95 |
6.5 | 1996 | Hydra |
7.0 | 1998 | Sphinx |
8.0 (2000) | 2000 | Shiloh |
9.0 (2005) | 2005 | Yukon |
10.0 (2008) | 2008 | Katmai |
10.5 (2008 R2) | 2010 | Kilimanjaro |
11.0 (2012) | 2012 | Denali |
12 (2014) | 2014 | Hekaton (initially), SQL 14 (current) |
SQL Server 工做是在客戶端 - 服務器體系結構上,所以它支持兩種類型的組件 - (a)工做站和(b)服務器。
工做站組件是安裝在每一個設備/SQL服務器操做的機器。這些僅僅是與服務器組件交互的接口。例如:SSMS, SSCM, Profiler, BIDS, SQLEM等;
服務器組件安裝在集中式服務器上。這些都是服務。例如:SQL Server中,SQL Server代理,SSIS,SSAS,SSRS,SQL瀏覽器,SQL Server全文搜索等;
一個實例它是SQL Server的安裝;
一個實例是同一軟件的徹底相同的副本;
若是安裝'N'次,那麼'N'個實例將會被建立;
在 SQL Server 中有兩種類型的實例:一個是默認,另一個命名的;
在一臺服務器只支持一個默認的實例;
在一個服務器上支持多個命名實例;
默認實例將使用服務器名稱做爲實例名稱;
默認實例服務名稱是:MSSQLSERVER;
在 SQL Server 2000 版本中支持多達 16 個實例;
在 SQL Server 2005 以上的版本中支持多達 50 個實例;
實例的優勢
可在一臺機器上安裝不一樣的版本;
可下降成本;
可單獨維護生產,開發和測試環境;
可減小臨時數據庫問題;
可分離安全權限;