青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

MySQL數(shù)據(jù)庫(kù)基礎(chǔ):數(shù)據(jù)類型及列類型

【 服務(wù)器學(xué)院】我們要把現(xiàn)實(shí)世界中的各種信息轉(zhuǎn)換成計(jì)算機(jī)能理解的東西,這些轉(zhuǎn)換后的信息就形成了數(shù)據(jù)。例如,某人的出生日期是“1987年5月23日”,他的身高是170厘米,等等。數(shù)據(jù)不僅包括數(shù)字、字母、文字和其他特殊字符組成的文本形式的數(shù)據(jù),而且還包括圖形、圖像、動(dòng)畫(huà)、影像、聲音等多媒體數(shù)據(jù)。但使用最多、最基本的仍然是文本數(shù)據(jù)。

    1. MySQL的數(shù)據(jù)類型 

    在MySQL中有如下幾種數(shù)據(jù)類型: 

    (1)數(shù)值型 

    數(shù)值是諸如32 或153.4 這樣的值。MySQL 支持科學(xué)表示法,科學(xué)表示法由整數(shù)或浮點(diǎn)數(shù)后跟“e”或“E”、一個(gè)符號(hào)(“+”或“-”)和一個(gè)整數(shù)指數(shù)來(lái)表示。1.24E+12 和23.47e-1 都是合法的科學(xué)表示法表示的數(shù)。而1.24E12 不是合法的,因?yàn)橹笖?shù)前的符號(hào)未給出。 

    浮點(diǎn)數(shù)由整數(shù)部分、一個(gè)小數(shù)點(diǎn)和小數(shù)部分組成。整數(shù)部分和小數(shù)部分可以分別為空,但不能同時(shí)為空。 

    數(shù)值前可放一個(gè)負(fù)號(hào)“-”以表示負(fù)值。 

    (2)字符(串)型 

    字符型(也叫字符串型,簡(jiǎn)稱串)是諸如“Hello, world!”或“一個(gè)饅頭引起的血案”這樣的值,或者是電話號(hào)碼87398413這樣的值。既可用單引號(hào)也可用雙引號(hào)將串值括起來(lái)。
 
    初學(xué)者往往分不清數(shù)值87398143和字符串87398143的區(qū)別。都是數(shù)字啊,怎么一個(gè)要用數(shù)值型,一個(gè)要用字符型呢?關(guān)鍵就在于:數(shù)值型的87398143是要參與計(jì)算的,比如它是金融中的一個(gè)貨款總額;而字符型的87398143是不參與計(jì)算的,只是表示電話號(hào)碼,這樣的還有街道號(hào)碼、門(mén)牌號(hào)碼等等,它們都不參與計(jì)算。 

    (3)日期和時(shí)間型 

    日期和時(shí)間是一些諸如“2006-07-12”或“12:30:43”這樣的值。MySQL還支持日期/時(shí)間的組合,如“2006-07-12 12:30:43”。 

    (4)NULL值 

    NULL表示未知值。比如填寫(xiě)表格中通訊地址不清楚留空不填寫(xiě),這就是NULL值。 

    我們用Create Table語(yǔ)句創(chuàng)建一個(gè)表(參看前面的章節(jié)),這個(gè)表中包含列的定義。例如我們?cè)谇懊鎰?chuàng)建了一個(gè)joke表,這個(gè)表中有content和writer兩個(gè)列:

  

CREATE TABLE
(
content varchar(20) NOT NULL,
writer varchar(10) NULL
)
 

 

   定義一個(gè)列的語(yǔ)法如下:

col_name col_typy [col_attributes] 
[general_attributes]
 

 

   其中列名由col_name 給出。列名可最多包含64個(gè)字符,字符包括字母、數(shù)字、下劃線及美元符號(hào)。列名可以名字中合法的任何符號(hào)(包括數(shù)字)開(kāi)頭。但列名不能完全由數(shù)字組成,因?yàn)槟菢涌赡苁蛊渑c數(shù)據(jù)分不開(kāi)。MySQL保留諸如SELECT、DELETE和CREATE這樣的詞,這些詞不能用做列名,但是函數(shù)名(如POS 和MIN)是可以使用的。 

    列類型col_type表示列可存儲(chǔ)的特定值。列類型說(shuō)明符還能表示存放在列中的值的最大長(zhǎng)度。對(duì)于某些類型,可用一個(gè)數(shù)值明確地說(shuō)明其長(zhǎng)度。而另外一些值,其長(zhǎng)度由類型名蘊(yùn)含。例如,CHAR(10) 明確指定了10個(gè)字符的長(zhǎng)度,而TINYBLOB值隱含最大長(zhǎng)度為255個(gè)字符。有的類型說(shuō)明符允許指定最大的顯示寬度(即顯示值時(shí)使用多少個(gè)字符)。浮點(diǎn)類型允許指定小數(shù)位數(shù),所以能控制浮點(diǎn)數(shù)的精度值為多少。 

    可以在列類型之后指定可選的類型說(shuō)明屬性,以及指定更多的常見(jiàn)屬性。屬性起修飾類型的作用,并更改其處理列值的方式,屬性有以下類型: 

    (1)專用屬性用于指定列。例如,UNSIGNED 屬性只針對(duì)整型,而B(niǎo)INARY屬性只用于CHAR 和VARCHAR。 

    (2)通用屬性除少數(shù)列之外可用于任意列。可以指定NULL 或NOT NULL 以表示某個(gè)列是否能夠存放NULL。還可以用DEFAULT,def_value 來(lái)表示在創(chuàng)建一個(gè)新行但未明確給出該列的值時(shí),該列可賦予值def_value。def_value 必須為一個(gè)常量;它不能是表達(dá)式,也不能引用其他列。不能對(duì)BLOB 或TEXT 列指定缺省值。 

    如果想給出多個(gè)列的專用屬性,可按任意順序指定它們,只要它們跟在列類型之后、通用屬性之前即可。類似地,如果需要給出多個(gè)通用屬性,也可按任意順序給出它們,只要將它們放在列類型和可能給出的列專用屬性之后即可。 

[NextPage]        2. MySQL的列(字段)類型

    數(shù)據(jù)庫(kù)中的每個(gè)表都是由一個(gè)或多個(gè)列(字段)構(gòu)成的。在用CREATE TABLE語(yǔ)句創(chuàng)建一個(gè)表時(shí),要為每列(字段)指定一個(gè)類型。列(字段)的類型比數(shù)據(jù)類型更為細(xì)化,它精確地描述了給定表列(字段)可能包含的值的種類,如是否帶小數(shù)、是否文字很多。

    2.1數(shù)值列類型

    MySQL有整數(shù)和浮點(diǎn)數(shù)值的列類型,如表1所示。整數(shù)列類型可以有符號(hào)也可無(wú)符號(hào)。有一種特殊的屬性允許整數(shù)列值自動(dòng)生成,這對(duì)需要唯一序列或標(biāo)識(shí)號(hào)的應(yīng)用系統(tǒng)來(lái)說(shuō)是非常有用的。

類型

說(shuō)明

TINYINT 非常小的整數(shù) SMALLINT 較小整數(shù) MEDIUMINT 中等大小整數(shù) INT 標(biāo)準(zhǔn)整數(shù) BIGINT 較大整數(shù) FLOAT 單精度浮點(diǎn)數(shù) DOUBLE 雙精度浮點(diǎn)數(shù) DECIMAL 一個(gè)串的浮點(diǎn)數(shù)

 

表1:數(shù)值列類型

    每種數(shù)值類型的名稱和取值范圍如表2所示。

類型說(shuō)明

取值范圍

TINYINT[(M)] 有符號(hào)值:-128 到127(- 27 到27 - 1)
無(wú)符號(hào)值:0到255(0 到28 - 1)
SMALLINT[(M)] 有符號(hào)值:-32768 到32767(- 215 到215 - 1)
無(wú)符號(hào)值:0到65535(0 到21 6 - 1)
MEDIUMINT[(M)] 有符號(hào)值:-8388608 到8388607(- 22 3 到22 3 - 1 )
無(wú)符號(hào)值:0到16777215(0 到22 4 - 1)
INT[(M)] 有符號(hào)值:-2147683648 到2147683647(- 231 到231- 1)
無(wú)符號(hào)值:0到4294967295(0 到232 - 1)
BIGINT[(M)] 有符號(hào)值:-9223372036854775808 到9223373036854775807(- 263到263-1)

無(wú)符號(hào)值:0到18446744073709551615(0到264 – 1)
FLOAT[(M, D)] 最小非零值:±1.175494351E - 38 DOUBLE[(M,D)] 最小非零值:±2.2250738585072014E - 308 DECIMAL (M, D) 可變;其值的范圍依賴于M 和D

 


表2:數(shù)值列類型的取值范圍

    各種類型值所需的存儲(chǔ)量如表3所示。

類型說(shuō)明

存儲(chǔ)需求

TINYINT[(M)] 1字節(jié) SMALLINT[(M)] 2字節(jié) MEDIUMINT[(M)] 3字節(jié) INT[(M)] 4字節(jié) BIGINT[(M)] 8字節(jié) FLOAT[(M, D)] 4字節(jié) DOUBLE[(M, D)] 8字節(jié) DECIMAL (M, D) M字節(jié)(MySQL < 3.23),M+2字節(jié)(MySQL > 3.23 )

 

表3:數(shù)值列類型的存儲(chǔ)需求

[NextPage]  

MySQL提供了五種整型: TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT。INT為INTEGER的縮寫(xiě)。這些類型在可表示的取值范圍上是不同的。整數(shù)列可定義為UNSIGNED從而禁用負(fù)值;這使列的取值范圍為0以上。各種類型的存儲(chǔ)量需求也是不同的。取值范圍較大的類型所需的存儲(chǔ)量較大。

    MySQL 提供三種浮點(diǎn)類型: FLOAT、DOUBLE和DECIMAL。與整型不同,浮點(diǎn)類型不能是UNSIGNED的,其取值范圍也與整型不同,這種不同不僅在于這些類型有最大值,而且還有最小非零值。最小值提供了相應(yīng)類型精度的一種度量,這對(duì)于記錄科學(xué)數(shù)據(jù)來(lái)說(shuō)是非常重要的(當(dāng)然,也有負(fù)的最大和最小值)。 

    在選擇了某種數(shù)值類型時(shí),應(yīng)該考慮所要表示的值的范圍,只需選擇能覆蓋要取值的范圍的最小類型即可。選擇較大類型會(huì)對(duì)空間造成浪費(fèi),使表不必要地增大,處理起來(lái)沒(méi)有選擇較小類型那樣有效。對(duì)于整型值,如果數(shù)據(jù)取值范圍較小,如人員年齡或兄弟姐妹數(shù),則TINYINT最合適。MEDIUMINT能夠表示數(shù)百萬(wàn)的值并且可用于更多類型的值,但存儲(chǔ)代價(jià)較大。BIGINT在全部整型中取值范圍最大,而且需要的存儲(chǔ)空間是表示范圍次大的整型INT類型的兩倍,因此只在確實(shí)需要時(shí)才用。對(duì)于浮點(diǎn)值,DOUBLE占用FLOAT的兩倍空間。除非特別需要高精度或范圍極大的值,一般應(yīng)使用只用一半存儲(chǔ)代價(jià)的FLOAT型來(lái)表示數(shù)據(jù)。 

    在定義整型列時(shí),可以指定可選的顯示尺寸M。如果這樣,M應(yīng)該是一個(gè)1 到255的整數(shù)。它表示用來(lái)顯示列中值的字符數(shù)。例如,MEDIUMINT(4)指定了一個(gè)具有4個(gè)字符顯示寬度的MEDIUMINT列。如果定義了一個(gè)沒(méi)有明確寬度的整數(shù)列,將會(huì)自動(dòng)分配給它一個(gè)缺省的寬度。缺省值為每種類型的“最長(zhǎng)”值的長(zhǎng)度。如果某個(gè)特定值的可打印表示需要不止M個(gè)字符,則顯示完全的值;不會(huì)將值截?cái)嘁赃m合M個(gè)字符。 

    對(duì)每種浮點(diǎn)類型,可指定一個(gè)最大的顯示尺寸M 和小數(shù)位數(shù)D。M 的值應(yīng)該取1 到255。D的值可為0 到3 0,但是不應(yīng)大于M - 2(如果熟悉ODBC 術(shù)語(yǔ),就會(huì)知道M 和D 對(duì)應(yīng)于ODBC 概念的“精度”和“小數(shù)點(diǎn)位數(shù)”)。M和D對(duì)FLOAT和DOUBLE 都是可選的,但對(duì)于DECIMAL是必須的。在選項(xiàng)M 和D時(shí),如果省略了它們,則使用缺省值。


    2.2字符串列類型

    MySQL提供了幾種存放字符數(shù)據(jù)的串類型,其類型如下:

類型名

說(shuō)明

CHAR 定長(zhǎng)字符串 VARCHAR 可變長(zhǎng)字符串 TINYBLOB 非常小的BLOB(二進(jìn)制大對(duì)象) BLOB 小BLOB MEDIUMBLOB 中等的BLOB LONGBLOB 大BLOB TINYTEXT 非常小的文本串 TEXT 小文本串 MEDIUMTEXT 中等文本串 LONGTEXT 大文本串 ENUM 枚舉;列可賦予某個(gè)枚舉成員 SET 集合;列可賦予多個(gè)集合成員

 

表4:字符串列類型

    下表給出了MySQL 定義串值列的類型,以及每種類型的最大尺寸和存儲(chǔ)需求。對(duì)于可變長(zhǎng)的列類型,各行的值所占的存儲(chǔ)量是不同的,這取決于實(shí)際存放在列中的值的長(zhǎng)度。這個(gè)長(zhǎng)度在表中用L 表示。

類型說(shuō)明

最大尺寸

存儲(chǔ)需求

CHAR( M) M 字節(jié) M 字節(jié) VARCHAR(M) M 字節(jié) L + 1字節(jié) TINYBLOB, TINYTEXT 28- 1字節(jié) L + 1字節(jié) BLOB, TEXT 216 - 1 字節(jié) L + 2字節(jié) MEDIUMBLOB, MEDIUMTEXT 224- 1字節(jié) L + 3字節(jié) LONGBLOB, LONGTEXT 232- 1字節(jié) L + 4字節(jié) ENUM(“value1”, “value2”, ...) 65535 個(gè)成員 1 或2字節(jié) SET (“value1”, “value2”, ...) 64個(gè)成員 1、2、3、4 或8字節(jié)

 

表5:串列類型最大尺寸及存儲(chǔ)需求

    L 以外所需的額外字節(jié)為存放該值的長(zhǎng)度所需的字節(jié)數(shù)。MySQL 通過(guò)存儲(chǔ)值的內(nèi)容及其長(zhǎng)度來(lái)處理可變長(zhǎng)度的值。這些額外的字節(jié)是無(wú)符號(hào)整數(shù)。請(qǐng)注意,可變長(zhǎng)類型的最大長(zhǎng)度、此類型所需的額外字節(jié)數(shù)以及占用相同字節(jié)數(shù)的無(wú)符號(hào)整數(shù)之間的對(duì)應(yīng)關(guān)系。例如,MEDIUMBLOB 值可能最多224 - 1字節(jié)長(zhǎng)并需要3 個(gè)字節(jié)記錄其結(jié)果。3 個(gè)字節(jié)的整數(shù)類型MEDIUMINT 的最大無(wú)符號(hào)值為224 - 1。這并非偶然。

[NextPage]        2.3日期時(shí)間列類型

    MySQL 提供了幾種時(shí)間值的列類型,它們分別是: DATE、DATETIME、TIME、TIMESTAMP和YEAR。下表給出了MySQL 為定義存儲(chǔ)日期和時(shí)間值所提供的這些類型,并給出了每種類型的合法取值范圍。

類型名

說(shuō)明

DATE “YYYY-MM-DD”格式表示的日期值 TIME “hh:mm:ss”格式表示的時(shí)間值 DATETIME “YYYY-MM-DD hh:mm:ss”格式 TIMESTAMP “YYYYMMDDhhmmss”格式表示的時(shí)間戳值 YEAR “YYYY”格式的年份值

 

表6:日期時(shí)間列類型

類型名

取值范圍

存儲(chǔ)需求

DATE “1000-01-01”到“9999-12-31” 3字節(jié) TIME “-838:59:59”到“838:59:59” 3字節(jié) DATETIME “1000-01-01 00:00:00” 到“9999-12-31 23:59:59” 8字節(jié) TIMESTAMP 19700101000000 到2037 年的某個(gè)時(shí)刻 4字節(jié) YEAR 1901 到2155 1字節(jié)

 

表7: 日前時(shí)間列類型的取值范圍和存儲(chǔ)需求

    下面舉個(gè)例子:

CREATE TABLE student
(
Name varchar(20) NOT NULL,
Chinese TINYINT(3),
Maths TINYINT(3),
English TINYINT(3),
Birthday DATE
)

 

    這個(gè)例子創(chuàng)建一個(gè)student表,這個(gè)表中有name字段,字符類型列,不允許NULL(空值)。有Chinese、Maths和English三個(gè)整數(shù)類型列。還有個(gè)Birthday日期類型列。

posted on 2007-04-24 21:03 PeakGao 閱讀(632) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 數(shù)據(jù)庫(kù)開(kāi)發(fā)

<2007年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

導(dǎo)航

統(tǒng)計(jì)

常用鏈接

留言簿(9)

隨筆分類(67)

隨筆檔案(65)

搜索

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            老司机67194精品线观看| 亚洲一区二区精品| 久久se精品一区二区| 亚洲精品一二| 男人的天堂亚洲| 免费亚洲一区二区| 久久久人成影片一区二区三区| 欧美一级专区免费大片| 欧美在线视频免费观看| 欧美在线视频日韩| 久久亚洲一区二区| 欧美高清视频一区二区三区在线观看| 玖玖国产精品视频| 亚洲精品小视频在线观看| 亚洲黄色在线观看| 日韩午夜精品| 久久精品国产96久久久香蕉| 久久精品一区蜜桃臀影院 | 欧美日韩久久不卡| 欧美午夜视频在线| 亚洲国产裸拍裸体视频在线观看乱了中文| 国产在线视频不卡二| 夜夜嗨av一区二区三区网页 | 国产精品自在线| 一区在线观看视频| 久久av最新网址| 亚洲精品极品| 欧美a级理论片| 欧美一区亚洲| 欧美视频精品在线| 最新国产乱人伦偷精品免费网站| 日韩一级在线观看| 老**午夜毛片一区二区三区| 亚洲性感激情| 欧美日韩一区二区在线播放| 亚洲免费黄色| 亚洲激情偷拍| 国产精品v片在线观看不卡| 亚洲精品精选| 欧美激情亚洲一区| 欧美国产亚洲另类动漫| 亚洲激情一区| 亚洲美女福利视频网站| 欧美日韩国产高清视频| 亚洲视频axxx| 亚洲欧美综合另类中字| 国内精品久久国产| 欧美国产日本高清在线| 欧美精品免费在线| 欧美一级艳片视频免费观看| 久久国产高清| 国产精品99久久久久久人| 99香蕉国产精品偷在线观看| 国产日韩精品在线| 亚洲国产精品999| 欧美日韩亚洲一区二区| 久久久久久久久久码影片| 免费成人高清| 久久久精品国产99久久精品芒果| 久久中文字幕导航| 欧美在线亚洲一区| 欧美国产亚洲视频| 欧美日韩精品免费观看视频完整| 亚洲影院在线观看| 蜜桃视频一区| 久久综合色88| 国产精品成人一区二区| 欧美高清在线一区| 国产亚洲亚洲| 小黄鸭精品aⅴ导航网站入口| 亚洲国产成人不卡| 久久福利视频导航| 欧美亚洲免费高清在线观看| 欧美日韩国产在线| 亚洲国产婷婷香蕉久久久久久99| 国产日韩免费| 久久福利影视| 毛片基地黄久久久久久天堂| 国产精品国产三级国产专播品爱网 | 亚洲精品国产精品乱码不99按摩| 国产一区二区三区久久精品| 午夜在线精品偷拍| 久久综合999| 日韩视频一区二区三区在线播放免费观看| 久久se精品一区精品二区| 久久国产精彩视频| 精品69视频一区二区三区| 美国成人毛片| 日韩一级精品| 欧美成人免费在线| 99精品99久久久久久宅男| 欧美新色视频| 麻豆精品91| 亚洲狠狠婷婷| 欧美视频中文一区二区三区在线观看| 制服丝袜亚洲播放| 美脚丝袜一区二区三区在线观看| 99精品欧美一区| 国产亚洲精品v| 国产精品入口日韩视频大尺度| 久久九九热免费视频| 一本色道久久综合一区| 久久露脸国产精品| 亚洲欧美色一区| 日韩一区二区福利| 亚洲第一在线综合在线| 国产美女精品| 国产欧美日韩另类视频免费观看| 欧美日韩精品三区| 欧美jizz19性欧美| 久久久久久久综合日本| 午夜亚洲精品| 午夜精品一区二区三区在线播放| 最新成人av在线| 欧美寡妇偷汉性猛交| 久久人体大胆视频| 久久久999成人| 欧美sm极限捆绑bd| 欧美成人有码| 亚洲人体偷拍| 亚洲视频福利| 久久不射2019中文字幕| 欧美在线视频免费观看| 久久人人爽国产| 欧美成人免费全部| 欧美人成在线视频| 国产欧美精品在线播放| 尤物yw午夜国产精品视频明星| 亚洲人体偷拍| 亚洲男人的天堂在线aⅴ视频| 午夜精品久久久久久久蜜桃app| 欧美在线精品一区| 欧美黄色一区| 久久九九国产精品| 欧美国产专区| 中文一区二区| 午夜亚洲影视| 欧美日韩小视频| 亚洲国产另类精品专区| 新片速递亚洲合集欧美合集| 欧美国产成人在线| 久久精品国语| 国产精品va在线播放| 亚洲每日在线| 亚洲国产精品视频| 美脚丝袜一区二区三区在线观看| 欧美视频久久| 亚洲综合日韩中文字幕v在线| 亚洲国产欧美一区| 免费观看成人鲁鲁鲁鲁鲁视频| 国产九九精品视频| 亚洲午夜久久久久久久久电影网| 亚洲高清电影| 欧美国产日韩精品| 亚洲精品在线观看免费| 亚洲第一狼人社区| 欧美激情一区二区三区四区| 亚洲高清免费| 亚洲欧洲一区二区三区| 欧美久久一级| 亚洲欧美在线一区| 午夜精品理论片| 国产一级久久| 亚洲电影一级黄| 欧美系列亚洲系列| 久久成人在线| 欧美va亚洲va香蕉在线| 亚洲裸体视频| 亚洲综合精品四区| 在线观看国产日韩| 99国产精品国产精品久久| 国产精品剧情在线亚洲| 老巨人导航500精品| 欧美成年人在线观看| 亚洲视频网在线直播| 欧美一区免费视频| 亚洲精品国久久99热| 亚洲欧美激情精品一区二区| 亚洲国产精品一区制服丝袜| 亚洲第一精品福利| 一区二区三区国产精品| 激情久久久久久久| 一本久久a久久免费精品不卡| 狠狠久久五月精品中文字幕| 99视频精品全部免费在线| 影院欧美亚洲| 久久精品国产久精国产爱| 亚洲自拍偷拍一区| 欧美日韩激情网| 亚洲国产影院| 亚洲精品一线二线三线无人区| 久久久999| 免费欧美高清视频| 狠狠干成人综合网| 久久久最新网址| 开心色5月久久精品| 在线成人av| 欧美精品午夜视频| 日韩亚洲综合在线| 亚洲免费影院|