一、什么叫數(shù)據(jù)類型邢锯?
人們能夠非常容易地區(qū)分數(shù)字與字符,可是計算機并不會搀别。除非是你明確地告訴它丹擎,1是數(shù)字,“漢”是文本歇父,不然它始終沒法分辨1和‘漢’的區(qū)別蒂培。因而,在每一個計算機語言里都界定了數(shù)據(jù)類型榜苫,實際上便是對常見的各種各樣的數(shù)據(jù)類型進行了明確的區(qū)分护戳。你要讓計算機計算數(shù)值,就傳輸數(shù)字給它垂睬,你要讓它處理文本媳荒,就傳字符串類型給他們抗悍。
在SQL中,數(shù)據(jù)類型是一個標簽钳枕,是一個有利于SQL掌握每列中期望儲存什么類型的數(shù)據(jù)的手冊,它也標志了SQL怎樣與儲存的數(shù)據(jù)進行交互疟暖。SQL中常見的數(shù)據(jù)類型有多種俐巴,本文便介紹一下SQL中基本的數(shù)據(jù)類型欣舵。
更多SQL數(shù)據(jù)類型定義請見:樹懶學堂_一站式數(shù)據(jù)知識平臺_SQL 通用數(shù)據(jù)類型/?樹懶學堂_一站式數(shù)據(jù)知識中心_SQL DB 數(shù)據(jù)類型
二缘圈、SQL 常見數(shù)據(jù)類型
1.字符型數(shù)據(jù):
char\varchar\text——這幾類數(shù)據(jù)類型是用于儲存字符串的糟把,他們的區(qū)別在于:
char 固定長度存儲數(shù)據(jù)
varcahr 按變長存儲數(shù)據(jù)
text 當你需要存儲非常大量的字符串時使用
nchar遣疯、nvarchar缠犀、ntext——這幾個是用來儲存字符串的辨液,與上面的對應是相同的滔迈。唯一的區(qū)別是這三類都選用Unicode編號燎悍,一般在做國際化的網(wǎng)站時應用间涵。
2.時間日期型數(shù)據(jù)
datetime勾哩、smalldatetime——他們都是用以儲存日期和時間信息思劳,其區(qū)別在于:
datetime:存放1/1/1753-12/31/9999的時間數(shù)據(jù),精確到0.001s
smalldatetime: 存放1/1/1900-6/6/2079的時間威兜,精確到秒
3.整型數(shù)據(jù)
bigint椒舵、int笔宿、smallint泼橘、tinyint——這四個數(shù)據(jù)類型是用以存儲整數(shù)的迈勋,其區(qū)別在于:
bigint 從 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型數(shù)據(jù)(所有數(shù)字)靡菇。
int 從 -2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) 的整型數(shù)據(jù)(所有數(shù)字)镰官。
smallint 從 -2^15 (-32,768) 到 2^15 – 1 (32,767) 的整數(shù)數(shù)據(jù)。
tinyint 從 0 到 255 的整數(shù)數(shù)據(jù)狈网。
三拓哺、SQL通用數(shù)據(jù)類型:
數(shù)據(jù)庫表中的每一個列都規(guī)定有名字和數(shù)據(jù)類型士鸥。SQL開發(fā)者務必在建立SQL表時聲明表格中的每一個列即將儲存的數(shù)據(jù)類型烤礁。
下邊的表格列舉了SQL中通用的數(shù)據(jù)類型:
四勤众、SQL數(shù)據(jù)類型快速參考手冊
但是總的來說们颜,不同數(shù)據(jù)庫對數(shù)據(jù)類型的界定是不一樣的。下邊的表格顯示了各種不同數(shù)據(jù)庫里面一些數(shù)據(jù)類型的通用名稱:
注意:在不一樣的數(shù)據(jù)庫文件,同一種數(shù)據(jù)類型很可能有不一樣的叫法则拷。即便叫法是一樣的煌茬,其占用內(nèi)存大小和另外一些細節(jié)也可能不同邻眷。