命令提示字元,輸入下列其中一個命令:
net start mysql
net stop mysql
---
[my memo]
---
SQL資料類型(SQL Data Type)
1. 數字類型(Numeric Types)
類型
|
型別
|
範圍
|
位元數
|
備註
|
精確數值
(整數)
|
bit
|
0、1、null
|
1 byte
|
字串值true和false可以轉換成bit值,即true會轉換成1;而false會轉換成0。
|
tinyint
|
0~28-1 (0~255)
|
1 byte
|
"F", "M"
| |
smallint
|
-215~215-1 (-32,768~32,767)
|
2 bytes
|
"男","女"
| |
int
(/integer)
|
-231~231-1 (-2,147,483,648~2,147,483,647)
|
4 bytes
| ||
bigint
|
-263~263-1
|
8 bytes
| ||
精確數值
(小數)
|
numeric[(p[,s])]
|
-1038+1~1038-1
|
5~17 bytes
|
|
decimal[(p[,s])]
|
-1038+1~1038-1
|
5~17 bytes
| ||
精確數值
(貨幣)
|
money
|
-263~263-1 小數4位
(-922,337,203,685,477.5808 到922,337,203,685,477.5807)
|
8 bytes
| |
smallmoney
|
-231~231-1 小數4位
(-214748.3648~214748.3647)
|
4 bytes
| ||
近似數值
(小數)
|
float[(n)]
|
–3.40E38~–1.18E-38、0、1.18E-38~3.40E38
|
n:1~24à4 byte
n:25~53à8 byte
|
|
real
|
–1.79E308~–2.23E-308、0、2.23E-308~1.79E308
|
4 bytes
|
同於 float(24)
|
※注意:
(1) 需要精確數值行為時請勿使用float和real這些資料類型,例如財務應用程式、牽涉到四捨五入的作業或者進行相等檢查作業時。
(2) 避免在 WHERE 子句的搜尋條件中使用 float 或 real 資料行,尤其是 = 與<> 運算子。最好將 float 和 real 資料行限制為 > 或 < 比較。
2. 文字類型(Character Types)
類型
|
型別
|
範圍
|
位元數
|
備註
|
非Unicode
|
char(size)
|
固定長度1~8000字元,區分全半型
|
1字元 1 bytes
|
例如:在char(5)之下,abc與abcde會以"abc空白空白"與"abcde”等方式儲存。
|
varchar(size)
|
變動長度1~8000字元,區分全半型
|
1字元 1 bytes
|
例如:在varchar(5)之下,abc與abcde會以"abc"與"abcde”等方式儲存。
| |
varchar(max)
|
1~231-1字元
|
0 ~ 2 GB
| ||
Unicode
|
nchar(size)
|
固定長度1~4000字元,不區分全半型,為Unicode編碼
|
1字元 2 bytes
| |
nvarchar(size)
|
變動長度1~4000字元,不區分全半型,為Unicode編碼
|
1字元 2 bytes
| ||
nvarchar(max)
|
1~231-1字元,為Unicode編碼
|
0 ~ 2 GB
|
※注意:
(1) 在未來的Microsoft SQL Server版本中,將移除ntext、text和image等資料類型。請避免在新的開發工作中使用這些資料類型,並修改目前在使用這些資料類型的應用程式,建護改用nvarchar(max)、varchar(max)和varbinary(max)。
3. 日期和時間類型(Date and Time Types)
類型
|
型別
|
範圍
|
位元數
|
備註
|
日期和
時間類型 |
datetime
|
1753/01/01 00:00:00.000 到9999/12/31 23:59:59.999
(精確度:0.00333秒) |
8 bytes
|
例如:
2008-11-27 08:08:08.888 |
smalldatetime
|
1900/01/01 00:00 到2079/06/06 23:59
(精確度:1分) |
4 bytes
|
例如:
2008-11-24 15:11 | |
datetime2(size)
|
0001/01/01 00:00:00.0000000 到9999/12/31 23:59:59.9999999
(精確度:n:0~7,10-n秒) |
6~8 bytes
|
格式:
YYYY-MM-DD HH:MI:SS.NNNNNNN | |
date
|
0001/01/01 ~ 9999/12/31 (精確度:1天)
|
3 bytes
|
格式:YYYY-MM-DD
| |
time(size)
|
00:00:00.0000000到23:59:59.9999999
(精確度:n:0~7,10-n秒) |
3~5 bytes
|
格式:HH:MI:SS.NNNNNNN
| |
datetimeoffset(size)
|
0001/01/01 00:00:00.0000000 ~ 9999/12/31 23:59:59.9999999
(以UTC為單位) |
8~10 bytes
|
格式:
YYYY-MM-DD HH:MI:SS.NNNNNNN+|-HH:MI |
4. 二進位資料類型(Binary Types)
類型
|
型別
|
範圍
|
位元數
|
備註
|
二進位
資料 |
binary(size)
|
固定長度1~8000 bytes
|
固定長度 8000 bytes,不足自動補上 0x00
|
使用於「資料行資料項目的大小不一致」時。
|
varbinary(size)
|
變動長度1~8000 bytes
|
變動長度
|
使用於「資料行資料項目的大小變化相當大」時。
| |
varbinary(max)
|
1~231-1 bytes
|
0 ~ 2 GB
|
使用於「資料行資料項目超過8,000位元組」。
| |
地理位置空間資料
|
geometry
|
利用CLR實作資料類型,適用平面座標系統的資料
| ||
geography
|
利用CLR實作資料類型,適用經緯度座標系統的資料
|
※注意:
(1) 在儲存如安全性識別碼(SID)、全域唯一識別碼(GUID)或可以儲存成十六進位縮寫的複數時,就可以使用「二進位資料」。
(2) 當資料定義或變數宣告陳述式中沒有指定size時,預設為1。當size不是利用CAST函數來指定時,預設為30。
5. 其他類型(Other Types)
型別
|
範圍
|
位元數
|
備註
|
xml
|
xml資料
|
0 ~ 2 GB
|
可以使用xml資料類型方法(如:query()、value()、exist()、modify()、nodes())來查詢儲存在xml類型之變數或資料行中的XML執行個體。
|
uniqueidentifier
|
全域唯一識別碼(GUID)
|
16 bytes
|
|
timestamp
|
資料庫內自動產生唯一的二進位值,用於指出資料庫中發生資料修改的「相對順序」。
|
8 bytes
| |
hierarchyid
|
利用CLR實作資料類型,用於管理具有階層式結構的資料及資料表。
|
※注意:
(1) 請勿在「索引鍵」中使用timestamp資料行 (尤其是主索引鍵),因為每次修改資料列時,timestamp值就會變更。
(2) 若要記錄資料表中發生資料修改的時間,請使用datetime2或smalldatetime資料類型來記錄事件和觸發程序,以便在發生修改時,自動更新這些值。
(3) timestamp是 rowversion資料類型的同義字。在 DDL 陳述式中,請盡可能利用rowversion來取代timestamp。
(4) timestamp語法已被取代。未來的Microsoft SQL Server版本將移除這項功能。請避免在新的開發工作中使用這項功能,並修改目前使用這項功能的應用程式。