Ⅰ 關於sql Server 2008創建表時的數據類型!!!!
nchar(n)
包含 n 個字元的固定長度Unicode字元數據。n 的值必須介於1 與 4,000 之間。存儲大小為 n 位元組的兩倍。nchar 在 SQL-92 中的同義詞為 national char 和 national character。
nvarchar(n)
包含 n 個字元的可變長度 Unicode 字元數據。n 的值必須介於 1 與 4,000 之間。位元組的存儲大小是所輸入字元個數的兩倍。所輸入的數據字元長度可以為零。nvarchar 在 SQL-92 中的同義詞為 national char varying 和 national character varying。
注釋
如果沒有在數據定義或變數聲明語句中指定 n,則默認長度為 1。如果沒有使用 CAST 函數指定 n,則默認長度為 30。
如果希望列中所有數據項的大小接近一致,則使用 nchar。
如果希望列中數據項的大小差異很大,則使用 nvarchar。
使用 nchar 或 nvarchar 的對象被賦予資料庫的默認排序規則,除非使用 COLLATE 子句賦予特定的排序規則。
SET ANSI_PADDING OFF 不適用於 nchar 或 nvarchar。SET ANSI_PADDING ON 永遠適用於 nchar 和 nvarchar。
二、char 和 varchar
固定長度 (char) 或可變長度 (varchar) 字元數據類型。
char[(n)]
長度為 n 個位元組的固定長度且非 Unicode 的字元數據。n 必須是一個介於 1 和 8,000 之間的數值。存儲大小為 n 個位元組。char 在 SQL-92 中的同義詞為 character。
varchar[(n)]
長度為 n 個位元組的可變長度且非 Unicode 的字元數據。n 必須是一個介於 1 和 8,000 之間的數值。存儲大小為輸入數據的位元組的實際長度,而不是 n 個位元組。所輸入的數據字元長度可以為零。varchar 在 SQL-92 中的同義詞為 char varying 或 character varying。
注釋
如果沒有在數據定義或變數聲明語句中指定 n,則默認長度為 1。如果沒有使用 CAST 函數指定 n,則默認長度為 30。
將為使用 char 或 varchar 的對象被指派資料庫的默認排序規則,除非用 COLLATE 子句另外指派了特定的排序規則。該排序規則控制用於存儲字元數據的代碼頁。
支持多語言的站點應考慮使用 Unicode nchar 或 nvarchar 數據類型以盡量減少字元轉換問題。如果使用 char 或 varchar:
如果希望列中的數據值大小接近一致,請使用 char。
如果希望列中的數據值大小顯著不同,請使用 varchar。
如果執行 CREATE TABLE 或 ALTER TABLE 時 SET ANSI_PADDING 為 OFF,則一個定義為 NULL 的 char 列將被作為 varchar 處理。
當排序規則代碼頁使用雙位元組字元時,存儲大小仍然為 n 個位元組。根據字元串的不同,n 個位元組的存儲大小可能小於 n 個字元。
總結:
1、 varchar:
可變長度的非 Unicode 數據,最長為 8,000 個字元。
2、nvarchar:
可變長度 Unicode 數據,其最大長度為 4,000 字元。
3、char:
固定長度的非 Unicode 字元數據,最大長度為 8,000 個字元。
4、nchar
固定長度的 Unicode 數據,最大長度為 4,000 個字元。
5、 char和varchar都是字元串類型的
用Unicode編碼的字元串,結果是字元的整數值
Ⅱ SQL中設計表時數據類型問題
create table tia
(userid int identity(1,1),
username varchar(8),
tel varchar(8))
identity(1,1)前者是初始值,後者是遞增量。
這樣可以實現自動編號的功能~
後者使用企業管理器來,創建表時數據類型選int,下面標識選是,然後選擇,標識-》種子值填1,遞增量填1即可~
如果是ACCESS 資料庫的話有直接的數據類型。。。
嘿嘿。。。把分給我嘍!!^_^
Ⅲ 建SQL表時身份證號碼的數據類型最好選什麼
建SQL表時,身份證號碼為固定18位長,對該欄位最好採用char數據類型。
char類型對英文字元佔用1個位元組,對一個漢字佔用2個位元組,而且char存儲定長數據很方便,char欄位上的索引效率極高。
比如:定義char(10),那麼不論你存儲的數據是否達到了10個位元組,都要佔去10個位元組的空間,不夠的字元用空格去填。因為是固定長度,所以速度效率高。
(3)sql創建表數字類型擴展閱讀
比較SQL中的char、varchar、nchar、nvarchar的區別
1、前面加「n」與不加「n」
char、varchar這兩個只能用於單位元組來存儲數據,適合英文,中文會不兼容。常用的漢字需要用兩個位元組來存儲,所以就要使用nchar、nvarchar。
char、varchar因為是單位元組的所以在存儲的時候最大數值可以達到8000,而nchar、nvarchar是最大數值4000。
2、char與varchar的區別
直接舉例子:char(10)就是給予一個固定的空間,不管存儲的內容有沒有到達10個位元組,都佔用10個位元組的空間,同時,varchar(10)和nvarchar(10)的最大空間只能為10位元組,如果不到10位元組就不佔用10位元組。
Ⅳ 創建表的sql語句
創建表的sql語句是CREATE TABLE。
SQL CREATE TABLE是SQL語言的建表語句,用於創建資料庫中的表。基礎語法為:CREATE TABLE table (field1 type [(size)] [NOT NULL] [index1] [, field2 type [(size)] [NOT NULL] [index2] [, ...]] [, CONSTRAINT multifieldindex [, ...]])。
table參數用於指定新建表的名稱。field1,field2用於指定在新表中創建的新欄位的名稱,每創建一個新表必須至少創建一個欄位。type參數用來指定新建欄位的數據類型。size參數用於指定文本及二進制欄位的長度。
NOT NULL是SQL的關鍵字,使用該參數則新記錄的該欄位值必須是有效的數據。在一個欄位上只能使用一次NOT NULL參數,否則會出錯。index1, index2參數是定義單一欄位索引的CONSTRAINT子句。
multifieldindex參數是定義多重欄位索引的CONSTRAINT子句。
數據類型:
1、integer(size):僅容納整數。在括弧內規定數字的最大位數。
2、int(size):僅容納整數。在括弧內規定數字的最大位數。
3、smallint(size):僅容納整數。在括弧內規定數字的最大位數。
4、tinyint(size):僅容納整數。在括弧內規定數字的最大位數。
5、decimal(size,d):容納帶有小數的數字。"size"規定數字的最大位數。"d"規定小數點右側的最大位數。
6、numeric(size,d):容納帶有小數的數字。"size"規定數字的最大位數。"d"規定小數點右側的最大位數。
7、char(size):容納固定長度的字元串。在括弧中規定字元串的長度。
8、varchar(size):容納可變長度的字元串。在括弧中規定字元串的長度。
9、date(yyyymmdd):容納日期。
Ⅳ SQL語句創建表
CREATE TABLE 語句用於創建資料庫中的表。
具體用法為:
CREATE TABLE 表名稱
(
列名稱1 數據類型,
列名稱2 數據類型,
列名稱3 數據類型,
....
)
(5)sql創建表數字類型擴展閱讀:
創建表數據類型:
integer(size) int(size) smallint(size) tinyint(size):僅容納整數。
decimal(size,d) numeric(size,d):容納帶有小數的數字。
char(size):容納固定長度的字元串
varchar(size):容納可變長度的字元串
date(yyyymmdd):容納日期。
參考資料:網路-SQL CREATE TABLE
Ⅵ 怎麼用sql語句創建表
CREATE TABLE 語句用於創建資料庫中的表。
CREATE TABLE 表名稱
(
列名稱1 數據類型,
列名稱2 數據類型,
列名稱3 數據類型,
....
)
數據類型(data_type)規定了列可容納何種數據類型。下面的表格包含了SQL中最常用的數據類型:
數據類型
描述
integer(size)
int(size)
smallint(size)
tinyint(size)
- 僅容納整數。在括弧內規定數字的最大位數。
decimal(size,d)
numeric(size,d)
容納帶有小數的數字。
"size" 規定數字的最大位數。"d" 規定小數點右側的最大位數。
char(size)
容納固定長度的字元串(可容納字母、數字以及特殊字元)。
在括弧中規定字元串的長度。
varchar(size)
容納可變長度的字元串(可容納字母、數字以及特殊的字元)。
在括弧中規定字元串的最大長度。
date(yyyymmdd) 容納日期。
Ⅶ sql server 2000中建表時,裡面的數據類型是什麼意思
所謂數據類型就是以數據的表現方式和存儲方式來劃分的數據的種類。
舉個通俗點的例子:
2010-08-01 10:00:00//這個東西你一看就知道是時間
712//這個是數字七百一十二
weuuytg//這個是一串字元
我想這上面的東西你一看就知道它是什麼。為什麼呢?因為這是規則。
sql定義數據類型也一樣,把符合一定規則的東西定義成一種數據類型,並提供一些方法供你使用。
例如:
"234"和"897"
如果你把上面的東西都當成是一串字元而不是數字,如何做比較呢?
所以你就可以把這樣的數據定義成整型或數值型,這樣就可以進行判斷比較了。
Ⅷ SQL Server資料庫--表--新建表時的數據類型都是什麼意思啊
(1) 整數型
整數包括bigint、int、smallint和tinyint,從標識符的含義就可以看出,它們的表示數范圍逐漸縮小。
l bigint:大整數,數范圍為 -263 (-9223372036854775808)~263-1 (9223372036854775807) ,其精度為19,小數位數為0,長度為8位元組。
l int:整數,數范圍為 -231 (-2,147,483,648) ~231 - 1 (2,147,483,647) ,其精度為10,小數位數為0,長度為4位元組。
l smallint:短整數,數范圍為 -215 (-32768) ~215 - 1 (32767) ,其精度為5,小數位數為0,長度為2位元組。
l tinyint:微短整數,數范圍為 0~255,長度為1位元組,其精度為3,小數位數為0,長度為1位元組。
(2) 精確整數型
精確整數型數據由整數部分和小數部分構成,其所有的數字都是有效位,能夠以完整的精度存儲十進制數。精確整數型包括decimal 和 numeric兩類。從功能上說兩者完全等價,兩者的唯一區別在於decimal不能用於帶有identity關鍵字的列。
聲明精確整數型數據的格式是numeric | decimal(p[,s]),其中p為精度,s為小數位數,s的預設值為0。例如指定某列為精確整數型,精度為6,小數位數為3,即decimal(6,3),那麼若向某記錄的該列賦值56.342689時,該列實際存儲的是56.3427。
decimal和numeric可存儲從 -1038 +1 到 1038 –1 的固定精度和小數位的數字數據,它們的存儲長度隨精度變化而變化,最少為5位元組,最多為17位元組。
l 精度為1~9時,存儲位元組長度為5;
l 精度為10~19時,存儲位元組長度為9;
l 精度為20~28時,存儲位元組長度為13;
l 精度為29~38時,存儲位元組長度為17。
例如若有聲明numeric(8,3),則存儲該類型數據需5位元組,而若有聲明numeric(22,5),則存儲該類型數據需13位元組。
注意:聲明精確整數型數據時,其小數位數必須小於精度;在給精確整數型數據賦值時,必須使所賦數據的整數部分位數不大於列的整數部分的長度。
(3) 浮點型
浮點型也稱近似數值型。顧名思義,這種類型不能提供精確表示數據的精度,使用這種類型來存儲某些數值時,有可能會損失一些精度,所以它可用於處理取值范圍非常大且對精確度要求不是十分高的數值量,如一些統計量。
有兩種近似數值數據類型:float[(n)]和real,兩者通常都使用科學計數法表示數據,即形為:尾數E階數,如5.6432E20,-2.98E10,1.287659E-9等。
l real:使用4位元組存儲數據,表數范圍為-3.40E + 38 到 3.40E + 38,數據精度為7位有效數字。
l float:定義中的n取值范圍是1~53,用於指示其精度和存儲大小。當n在1~24之間時,實際上是定義了一個real型數據,存儲長度為4位元組,精度為7位有效數字;當n在25~53之間時,存儲長度為8位元組,精度為15位有效數字。當預設n時,代表n在25~53之間。float型數據的數范圍為- 1.79E+308 到 1.79E+308。
(4) 貨幣型
SQL Server提供了兩個專門用於處理貨幣的數據類型:money和smallmoney,它們用十進制數表示貨幣值。
l money:數據的數范圍為-263 (-922337203685477.5808)~263-1 (922337203685477.5807) ,其精度為19,小數位數為4,長度為8位元組。money的數的范圍與bigint相同,不同的只是money型有4位小數,實際上,money就是按照整數進行運算的,只是將小數點固定在末4位。
l smallmoney:數范圍為 –231 (-2,147,48.3648) ~231 - 1 (2,147,48.3647) ,其精度為10,小數位數為4,長度為4位元組。可見smallmoney與int的關系就如同money與bigint的關系。
當向表中插入money或smallmoney類型的值時,必須在數據前面加上貨幣表示符號($),並且數據中間不能有逗號(,);若貨幣值為負數,需要在符號$的後面加上負號(-)。例如:$15000.32,$680,$-20000.9088都是正確的貨幣數據表示形式。
(5) 位型
SQL Server中的位(bit)型數據相當於其他語言中的邏輯型數據,它只存儲0和1,長度為一個位元組。但要注意,SQL Server對表中bit類型列的存儲作了優化:如果一個表中有不多於 8 個的bit列,這些列將作為一個位元組存儲,如果表中有 9 到 16 個 bit 列,這些列將作為兩個位元組存儲,更多列的情況依此類推。
當為bit類型數據賦0時,其值為0,而賦非0(如100)時,其值為1。
若表中某列為bit類型數據,那麼該列不允許為空值(有關空值概念本節稍後即做介紹),並且不允許對其建立索引。
(6) 字元型
字元型數據用於存儲字元串,字元串中可包括字母、數字和其它特殊符號(如#、@、&等等)。在輸入字元串時,需將串中的符號用單引號或雙引號括起來,如』abc』、」Abc<Cde」。
SQL Server字元型包括兩類:固定長度 (char) 或可變長度 (varchar) 字元數據類型。
l char[(n)]
定長字元數據類型,其中n定義字元型數據的長度,n在1到8000之間,預設為1。當表中的列定義為char(n)類型時,若實際要存儲的串長度不足n時,則在串的尾部添加空格以達到長度n,所以char(n)的長度為n。例如某列的數據類型為char(20),而輸入的字元串為」ahjm1922」,則存儲的是字元ahjm1922和12個空格。若輸入的字元個數超出了n,則超出的部分被截斷。
l varchar[(n)]
變長字元數據類型,其中n的規定與定長字元型char中n完全相同,但這里n表示的是字元串可達到的最大長度。varchar(n)的長度為輸入的字元串的實際字元個數,而不一定是n。例如,表中某列的數據類型為varchar(100),而輸入的字元串為」ahjm1922」,則存儲的就是字元ahjm1922,其長度為8位元組。
當列中的字元數據值長度接近一致時,例如姓名,此時可使用 char;而當列中的數據值長度顯著不同時,使用varchar較為恰當,可以節省存儲空間。
(7) Unicode字元型
Unicode是「統一字元編碼標准」,用於支持國際上非英語語種的字元數據的存儲和處理。SQL Server的Unicode字元型可以存儲Unicode標准字元集定義的各種字元。
Unicode字元型包括nchar[(n)]和nvarchar[(n)]兩類。nchar是固定長度 Unicode 數據的數據類型,nvarchar 是可變長度 Unicode 數據的數據類型,二者均使用 UNICODE UCS-2 字元集。
l nchar[(n)]:nchar[(n)]為包含n個字元的固定長度 Unicode 字元型數據,n 的值在 1 與 4,000 之間,預設為1。長度為2n位元組。若輸入的字元串長度不足n,將以空白字元補足。
l nvarchar[(n)]:nvarchar[(n)]為最多包含n個字元的可變長度 Unicode 字元型數據,n 的值在 1 與 4,000之間,預設為1。長度是所輸入字元個數的兩倍。
實際上,nchar、nvarchar與char、varchar的使用非常相似,只是字元集不同(前者使用Unicode字元集,後者使用ASCII字元集)。
(8) 文本型
當需要存儲大量的字元數據,如較長的備注、日誌信息等等,字元型數據的最長8000個字元的限制可能使它們不能滿足這種應用需求,此時可使用文本型數據。
文本型包括text和ntext兩類,分別對應ASCII字元和Unicode字元。text類型可以表示最大長度為 231-1 (2,147,483,647) 個字元,其數據的存儲長度為實際字元數個位元組。ntext可表示最大長度為 230 - 1 (1,073,741,823) 個Unicode字元,其數據的存儲長度是實際字元個數的兩倍(以位元組為單位)。
(9) 二進制型
二進制數據類型表示的是位數據流,包括binary(固定長度)和varbinary(可變長度)兩種。
l binary [(n) ]:固定長度的n個位元組二進制數據。n取值范圍為 1 到 8,000,預設為1。binary(n)數據的存儲長度為 n+4 位元組。若輸入的數據長度小於n,則不足部分用0填充;若輸入的數據長度大於n,則多餘部分被截斷。
輸入二進制值時,在數據前面要加上0x,可以用的數字元號為0—9、A—F(字母大小寫均可)。因此,二進制數據有時也被稱為十六進制數據。例如0xFF、0x12A0分別表示值FF和12A0。因為每位元組的數最大為FF,故在「0x」格式的數據每兩位佔1個位元組。
l varbinary [(n) ]:n個位元組變長二進制數據。n取值范圍為 1 到 8,000,預設為1。varbinary(n)數據的存儲長度為實際輸入數據長度+4個位元組。
(10) 日期時間類型
日期時間類型數據用於存儲日期和時間信息,包括datetime和smalldatetime兩類。
l datetime:datetime類型可表示的日期范圍從 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和時間數據,精確度為百分之三秒(3.33 毫秒或 0.00333 秒),例如1到3毫秒的值都表示為0毫秒,4到6毫秒的值都表示為4毫秒。
datetime類型數據長度為8位元組,日期和時間分別使用4個位元組存儲。前4 位元組用於存儲datetime類型數據中距1900 年 1 月 1 日的天數,為正數表示日期在1900年1月1日之後,為負數則表示日期在1900年1月1日之前。後4個位元組用於存儲datetime類型數據中距12:00(24小時制)的毫秒數。
用戶以字元串形式輸入datetime類型數據,系統也以字元串形式輸出datetime類型數據,將用戶輸入到系統以及系統輸出的datetime類型數據的字元串形式稱為datetime類型數據的「外部形式」,而將datetime在系統內的存儲形式稱為「內部形式」,SQL Server負責datetime類型數據的兩種表現形式之間的轉換,包括合法性檢查。
用戶給出datetime類型數據值時,日期部分和時間部分分別給出。
日期部分的表示形式常用的格式如下:
年 月 日 2001 Jan 20、2001 Janary 20
年 日 月 2001 20 Jan
月 日[,]年 Jan 20 2001、Jan 20,2001、Jan 20,01
月 年 日 Jan 2001 20
日 月[,]年 20 Jan 2001、20 Jan,2001
日 年 月 20 2001 Jan
年(4位數) 2001表示2001年1月1日
年月日 20010120、010120
月/日/年 01/20/01、1/20/01、01/20/2001、1/20/2001
月-日-年 01-20-01、1-20-01、01-20-2001、1-20-2001
月.日.年 01.20.01、1.20.01、01.20.2001、1.20.2001
說明:年可用4位或2位表示,月和日可用1位或2位表示。
時間部分常用的表示格式如下:
時:分 10:20、08:05
時:分:秒 20:15:18、20:15:18.2
時:分:秒:毫秒 20:15:18:200
時:分AM|PM 10:10AM、10:10PM
l smalldatetime:smalldatetime類型數據可表示從 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和時間,數據精確到分鍾,即29.998 秒或更低的值向下舍入為最接近的分鍾,29.999 秒或更高的值向上舍入為最接近的分鍾。Smalldatetime類型數據的存儲長度為4位元組,前2個位元組用來存儲smalldatetime類型數據中日期部分距1900年1月1日之後的天數;後2個位元組用來存儲smalldatetime類型數據中時間部分距中午12點的分鍾數。
用戶輸入smalldatetime類型數據的格式與datetime類型數據完全相同,只是它們的內部存儲可能不相同。
(11) 時間戳型
標識符是timestamp。若創建表時定義一個列的數據類型為時間戳類型,那麼每當對該表加入新行或修改已有行時,都由系統自動將一個計數器值加到該列,即將原來的時間戳值加上一個增量。記錄timestamp列的值實際上反映了系統對該記錄修改的相對(相對於其他記錄)順序。一個表只能有一個timestamp 列。Timestamp類型數據的值實際上是二進制格式數據,其長度為8位元組。
(12) 圖象數據類型
標識符是image,它用於存儲圖片、照片等。實際存儲的是可變長度二進制數據,介於 0 與 231-1 (2,147,483,647) 位元組之間。
(13) 其它數據類型
除了上面所介紹的常用數據類型外,SQL Server 2000還提供了其它幾種數據類型:cursor、sql_variant、table和uniqueidentifier。
Cursor:是游標數據類型,用於創建游標變數或定義存儲過程的輸出參數。
Sql_variant:是一種存儲 SQL Server 支持的各種數據類型(除text、ntext、image、timestamp 和 sql_variant 外)值的數據類型。Sql_variant的最大長度可達 8016 位元組。
Table:是用於存儲結果集的數據類型,結果集可以供後續處理。
Uniqueidentifier:是唯一標識符類型。系統將為這種類型的數據產生唯一標識值,它是一個16位元組長的二進制數據。
Ⅸ sql語句 如何創建一個表啊
創建表的SQL語句根據不同的資料庫會有所不同,常見的幾種資料庫創建方式如下:
創建一個表。表名字Persons,第一列Id_P,整數類型;第二列LASTName,字元類型;第三列FirstName,字元類型。
微軟VS SQL 2008 資料庫
(9)sql創建表數字類型擴展閱讀:
結構化查詢語言(Structured Query Language)簡稱SQL,是用於訪問和處理資料庫的標準的計算機語言,同時也是資料庫腳本文件的擴展名。常用的操作:
刪除表-- drop table tabname--這是將表連同表中信息一起刪除但是日誌文件中會有記錄;
刪除資料庫 -- drop database databasename;
刪除數據記錄 -- "delete from 數據表 where 條件表達式"
Ⅹ sql語句創建表
CREATE TABLE 語句用於創建資料庫中的表。
具體用法為:
CREATE TABLE 表名稱
(
列名稱1 數據類型,
列名稱2 數據類型,
列名稱3 數據類型,
....
)
(10)sql創建表數字類型擴展閱讀:
創建表數據類型:
integer(size) int(size) smallint(size) tinyint(size):僅容納整數。
decimal(size,d) numeric(size,d):容納帶有小數的數字。
char(size):容納固定長度的字元串
varchar(size):容納可變長度的字元串
date(yyyymmdd):容納日期。
參考資料:網路-SQL CREATE TABLE