如何建立TABLE和欄位型態說明

建立TABEL有兩種方式

1.透過MS SQL Management Studio

2.透過下指令的方式



先說明第一種方式,對於指令比較不熟悉的話,推薦用此方式即可。

首先開啟Management Studio,登入後,展開資料表,如下圖




接著游標指到資料表按右鍵


然後填入欄位名稱(以英文+數字為主),設定資料類型(等等會說明)


設定完成後,按儲存,會跳出視窗輸入此資料表名稱,再按確定即可完成。


這是第一種方式,透過介面產生,比較簡單直覺。

第二種方式是用指令:

CREATE TABLE [dbo].[Table_test](
[TESTID] [nchar](10) NOT NULL,
[TESTNAME] [nchar](10) NOT NULL
)

CREATE TABLE 代表要建立一個資料表,後面接你要的資料表名稱

接著用()括號,裡面呈列所要的欄位名稱,和資料類型,用","逗號分隔

開啟查詢視窗,執行以上語法,即可產生一個名為Table_test的資料表,包含兩個欄位(TESTID、TESTNAME)

以上是建立資料表方式。



再來說明一下常用的SQL 資料型態


我這邊只介紹幾種我比較常用的型態


1.nvarchar、varchar、nchar、char

前面有var的代表示可變動長度,不是固定。

前面有n的代表儲存會佔 2 byte

再來,char、varchar,只能儲存英文和數字

nchar、nvarchar可儲存非英文和數字以外的字元


2.decimal 和 numeric 這兩種是具有固定有效位數和小數位數的數值資料類型,常用在記錄金額。

因此有需要紀錄金額用來計算,通常我都會用這類型的型態。


3.int
整數型態。範圍介於2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647)

確認儲存的會是整數,或者有時候只是要註記0代表甚麼 1代表甚麼,也會以此型態紀錄。



4.datetime
時間型態,詳細記錄日期+時間,以 24 小時制為基礎的當日時間和小數秒數。

只要是時間,除非有特別註明只需存年月日,否則我自己都設定此型態,

一方面時間可以記錄比較細,另一方面萬一有需要,MS SQL也提供很多函式可以針對時間

轉換成字串,很方便。


5.ntext
MSDN說明:用來儲存非 Unicode 字元和 Unicode 字元及二進位資料的固定和可變長度資料
類型。
但我個人解讀就是,當有需要紀錄大量資料,長度超過255,我會用此型態來記錄。


以上是幾個常用的資料型態,其他部分可參考MSDN



補充說明:

建立TABLE時,通常需要指定一個欄位(或多個)是KEY。

KEY的用意是確保資料是唯一性;若一個TABLE只設定某個欄位是KEY,

例如  ORDER這個資料表裡面的order_id是KEY,代表這個資料表若有一個

order_id值是A20170629000001,那麼A20170629000001就只會存在ORDER裡面一筆資料而已

且設定為KEY的欄位不允許為null喔!!!!

多個欄位設定為KEY代表組合鍵,

例如  設定order_id、customer,若customer值是鴻海,代表鴻海可以有多筆order_id存在資料表內。


設定KEY的方式一樣有兩種,可透過建立資料表的介面時指定;

或者用指令方式也可以。

可參考以下說明

SQL KEY

留言