alter table <表名> alter column <字段名> 新類型名(長度)
舉例: alter table T_CustomerFile alter MobilePhoneNumber nvarchar(50)
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[T_ABC]') AND type in (N'U')) DROP TABLE [dbo].[T_ABC]
varchar(n)
長度爲 n 個字節的可變長度且非 Unicode 的字符數據。n 必須是一個介於 1 和 8,000 之間的數值。存儲大小爲輸入數據的字節的實際長度,而不是 n 個字節。
nvarchar(n)
包含 n 個字符的可變長度 Unicode 字符數據。n 的值必須介於 1 與 4,000 之間。字節的存儲大小是所輸入字符個數的兩倍。數據庫
如字段值只是英文可選擇varchar,而字段值存在較多的雙字節(中文等)字符時用nvarchar數據庫設計
char的長度是不可變的,而varchar的長度是可變的。char的存取數度比varchar要快得多,由於其長度固定,方便程序的存儲與查找;char爲此付出的是空間的代價,由於其長度固定,因此不免會有多餘的空格佔位符佔據空間,可謂是以空間換取時間效率,而varchar是以空間效率爲首位的大數據
nchar的長度是不可變的,Unicode字符數據。spa
char,varchar | 最多8000個英文,4000個漢字 |
nchar,nvarchar | 可存儲4000個字符,不管英文仍是漢字 |
TEXT.net
text存儲可變長度的非Unicode數據,最大長度爲2^31-1(2,147,483,647)個字符。設計
ntext
可變長度 Unicode 數據的最大長度爲 2^30 - 1 (1,073,741,823) 個字符。存儲大小是所輸入字符個數的兩倍(以字節爲單位)。ntext 在 SQL-92 中的同義詞是 national text。code
若是數據量很是大,又能100%肯定長度且保存只是ansi字符,那麼使用char
能肯定長度又不必定是ansi字符或者,那麼使用nchar
對於超大數據,如文章內容,使用nText
其餘的通用nvarcharblog
DECIMAL
(P,D)
表示列能夠存儲D
位小數的P
位數。十進制列的實際範圍取決於精度和刻度。get
剩餘數字 | 位 |
---|---|
0 | 0 |
1–2 | 1 |
3–4 | 2 |
5–6 | 3 |
7-9 | 4 |
例如:DECIMAL(19,9)
對於小數部分具備9
位數字,對於整數部分具備19
位-9位 = 10
位數字,小數部分須要4
個字節。 整數部分對於前9
位數字須要4
個字節,1
個剩餘字節須要1
個字節。DECIMAL(19,9)
列總共須要9
個字節。it
業務比較簡單的數據庫設計,使用PowerDesigner就夠了。
點擊新建新模型->Categories->Infomation->Physical Data,便可開啓數據庫表結構設計之旅。
設計好的數據庫表結構,雙擊在「Table Properties」標籤頁下,有一個「Preview」的標籤,打開,便可看到對應數據庫表設計的SQL語句。直接複製到MSSQLServer、Oracle或其餘數據庫的執行窗口,執行便可建立。
若是業務相對複雜,可使用astah professional版原本進行業務和數據庫設計,在astah的主界面的tools->ER Diagram->Export Sql... 能夠導出對應的SQL語句。
參考