2005/01/12

[MCDBA]Querying Microsoft SQL Server 2000 with Transact-SQL Workbook - Module1:Introduction to Transact-SQL

SQL = Structured Query Language

符合ANSI-SQL語法才可以跨資料庫共用

T-SQL三種類型:
物件型 Data Definition Language Statements (DDL) :

  • CREATE object_name : 新增物件
  • ALTER object_name : 修改物件
  • DROP object_name : 刪除物件


控制型 Data ControlLanguage Statements (DCL) :

  • GRANT : 授權
  • DENY : 不授權
  • REVOKE : 取消授權,繼承群組的權限

操作型 Data ManipulationLanguage Statements (DML) :

  • SELECT : 搜尋資料
  • INSERT : 新增資料
  • UPDATE : 修改資料
  • DELETE : 刪除資料

註解 Comments

單行註解 In-line Comments:

SELECT productname

, (unitsinstock - unitsonorder) -- Calculates inventory

, supplierID

FROM products

GO

多行註解 Block Comments:

/*

This code retrieves pala pala ....

....

*/

USE Northwind

SELECT * FROM Employees

保留字 Identifiers

  • 第一個字必為字母
  • 物件中有空格或保留字時使用[]或"" : 例如 SELECT * FROM [Blanks In Table Name]
  • @Local : Local變數
  • @@Global : Glocal變數或Function
  • #Local : Local Temp Table
  • ##Global : Global Temp Table
  • % : 1.萬用字元 2.取餘數(Modulo)
  • 名字不要取太長
  • 命名時可看出物件的型態;如:sp_StoredProcedures1, vw_VeiwTable1 ...等
  • 物件名稱儘量唯一,例如有一個Table Name為Customers,則View的名稱就不要再命名為Customers

資料型別 Types of Data

數值:

1.整數:

  • BigInt 8
  • Int 4
  • Smallint 2
  • Tinyint 1 0~255

2.小數:

  • decimal(10,3) : 10位數,3位小數,所以是7位整數+3位小數。
  • numeric : 用法同上。

3.浮點數:

  • float
  • real

P.S.浮點數不可為PK值,因為浮點數的精準度較差。

字串:

  • char(10) : 固定長度
  • nchar(10) : 固定長度,Unicode
  • Varchar(40) : 變動長度 (只能存20個中文字)
  • NVarchar(40) : 變動長度,Unicode (因為是Unicode,所以可以實際存到40個中文字)

日期:

  • datetime
  • smalldatetime : 只存日期

其它:

  • image
  • text

P.S.image及text的長度不受限制,只在欄位內存一個Point,代表實際資料存放的位置;因為是另外存放所以image及text的存取效能較差

軟體工程的重要的指標