MYSQL實用技術(shù)-MySQL數(shù)據(jù)類型_第1頁
MYSQL實用技術(shù)-MySQL數(shù)據(jù)類型_第2頁
MYSQL實用技術(shù)-MySQL數(shù)據(jù)類型_第3頁
MYSQL實用技術(shù)-MySQL數(shù)據(jù)類型_第4頁
MYSQL實用技術(shù)-MySQL數(shù)據(jù)類型_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、MYSQL實用技術(shù) 數(shù)據(jù)類型種類 數(shù)值列類型 字符串列類型 日期和時間列類型MySQL數(shù)據(jù)類型 數(shù)值型分為整型和浮點型 整型:整型:可以由十進(jìn)制和十六進(jìn)制表示整數(shù)由數(shù)字序列組成,如:1,100。由十六進(jìn)制表示方法:0 x且后面加19和AF 的任意數(shù)字或字母,并且0 x中的X不能大寫。 浮點型浮點型:浮點數(shù)由一個數(shù)字加一個小數(shù)點再加上一個數(shù)字組成。兩個數(shù)字序列不能同時為空。數(shù)據(jù)類型種類 字符串字符串:由單引號或者雙引號括起來的字符或者數(shù)字。如:”abc”,abc10 字符串中要用轉(zhuǎn)義字符才能表示的特殊符號 日期和時間值 是存儲如“2005 -1-1” 或者“12:00:00”這樣的數(shù)值的值。在M

2、ySQL中日期是按”年-月-日”的順序。 NULL值 是一種無類型的值,表示“空,什么也沒有”。 MySQL為除了NULL值外的所有通用數(shù)據(jù)類型提供了列類型。列類型是一種手段,通過這種手段可以描述表的列可以包含什么樣類型的值。 數(shù)值列類型 所有數(shù)值列類型的類型名及其說明和所占的字節(jié)數(shù)見下表:數(shù)值列類型 數(shù)值列類型包括整型和浮點型 說明:TINYINT, SAMLLINT, MEDIUMINT, INT, BIGINT每個數(shù)據(jù)類型的取值范圍不同,故分別可以表示不同的數(shù)值范圍。在定義整型列時,可以指定可選的顯示尺寸M(見上表),M是從1到255的值,它表示顯示列中值的字符數(shù)。 輸入以下語句,觀察結(jié)

3、果Create table data1(TIN TINYINT,SMALL SMALLINT);Describe data1; 觀察結(jié)構(gòu)Create table data2(TIN TINYINT(1),SMALL SMALLINT(2);Describe data2; 觀察結(jié)構(gòu)Insert into data2 values(1,1);Insert into data2 values(128,1);Insert into data2 values(127,1);Insert into data2 values(127,32768);Insert into data2 values(127,3

4、2767);嘗試 例如:INT(4) 意思是指定了一個具有4個字符顯示寬度的INT列。如果定義了一個沒有明確寬度的整數(shù)列,則會分配缺省的寬度,缺省值為每種類型的最長值的長度。 對于每種浮點型,可指定一個最大的顯示尺寸M和小數(shù)位數(shù)D,M的取值應(yīng)該是0-30。正數(shù)位最大為M-D-1,M和D對于DECIMAL是必須的。AUTO_INCREMENT 自動標(biāo)識列,在需要產(chǎn)生唯一標(biāo)志符號或者順序值時候,可用此屬性。值一般從1開始,每行增加1,在插入NULL到一個AUTO_INCREMENT列時,MySQL會插入一個比該列中當(dāng)前最大值大1 的值,一個表中最多能有一個有此屬性的列。對于想使用此屬性的列應(yīng)該定義

5、為NOT NULL,并定義為PRIMARY KEY 或者定義為UNIQUE鍵。舉例:create table t(id int auto_increment not null primary key);UNSIGNED 無符號,此屬性禁用負(fù)值,將數(shù)值的取值范圍從零開始。舉例:create table t(num tinyint , num2 tinyint unsigned);數(shù)值列的完整性約束數(shù)值列的完整性約束NULL和NOT NULL默認(rèn)為NULL,即插入值時沒有在此字段插入值時自動填NULL,如果指定了NOT NULL,則必須在插入值時在此字段添入值,不允許插入NULL值。DEFAULT

6、可以通過此屬性來指定一個缺省值,即如果沒有在此列添加值,那么默認(rèn)添加DEFAULT后指定值。ZEROFILL 前導(dǎo)零填充數(shù)值類型值以達(dá)到列的顯示寬度。舉例:create table test2(num1 int default 1,num2 int zerofill); 字符串列類型所有字符串列類型及其說明和所占的字節(jié)數(shù)見下表: 說明: 對于可變長的字符串類型,其長度取決于實際存放在列中的值的長度。此長度在上表中用L來表示。附加若干額外字節(jié),用來記錄字符串長度,也就是說總長度等于Ln(n1、2、3、4、8) CHAR和VARCHAR類型 CHAR類型和VARCHAR類型長度范圍都是0255之間

7、的大小。他們之間的差別在于MySQL處理存儲的方式: CHAR把這個大小視為值的準(zhǔn)確大小(用空格填補(bǔ)比較短的值)。 VARCHAR類型把它視為最大值并且只使用了存儲字符串實際上需要的字節(jié)數(shù)(增加了一個額外的字節(jié)記錄長度)。因而,較短的值當(dāng)被插入一個語句為VARCHAR類型的字段時,將不會用空格填補(bǔ)(然而,較長的值仍然被截短 )。 BLOB和TEXT類型BLOB是二進(jìn)制大對象,如果想存儲二進(jìn)制數(shù)BLOB將是最佳選擇,而TEXT與之相同,只是BOLOB按照二進(jìn)制編碼排序(區(qū)分大小寫),TEXT按照字符文本模式排序(不區(qū)分大小寫)。 ENUM 和SET類型是特殊的串類型,其列值必須從固定的串集中選擇

8、,二者差別為前者必須是只能選擇其中的一個值,而后者可以多選。(不推薦使用) 字符串列類型的可選屬性BINARY使用此屬性可以使列值作為二進(jìn)制串處理,即看成BLOB類型。NULL 和NOT NULL同數(shù)值型功能相同DEFAULT同數(shù)值型功能相同日期和時間列類型 所有時間和日期列類型的類型名及其說明和所占的字節(jié)數(shù)見下表: 說明: 每個時間和日期列類型都有一個零值,當(dāng)插入非法數(shù)值時就用零值來添加 表示日期時必須先按:年,月,日的順序給出 DATE ,TIME ,DATETIME分別是存儲日期,時間與日期和時間的組合,其格式為“YYYY-MM-DD”,“hh:mm:ss”和“YYYY-MM-DD hh:mm:ss”,對于DATETIME類型,日期和時間部分都需要 TIMESTAMP時間戳列類型以YYYYMMDDhhmmss的格式來表示值,其取值范圍是19700101000000到2037年的某個時間,主要用于記錄更改或創(chuàng)建某個記錄總結(jié):常用數(shù)據(jù)類型分類備注和說明數(shù)據(jù)類型說明二進(jìn)制數(shù)據(jù)類型存儲非子符和文本的數(shù)據(jù)BLOB可用來存儲圖像文本數(shù)據(jù)類型字符數(shù)據(jù)包括任意字母、符號或數(shù)字字符的組合char固定長度的非 Unicode 字符數(shù)據(jù)varchar可變長度非 Unicode 數(shù)據(jù)text存儲長文本信息日期和時間

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論