




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、校對集,collate校對集指的是字符之間的比較關(guān)系!如:a B c 三個(gè)字母如何排序?在 ASCII 碼下的排序?yàn)椋築 a c在mysql命令客戶端下,使用 order by 對結(jié)果排序,看結(jié)果:順序?yàn)?a-B-c 忽略了大小寫!但是這種順序可以被校對集改變:利用 show collation; 語句,可以查看所有的校對集校對集,依賴于字符集校對集:指的是,在某個(gè)字符集下,字符的排序關(guān)系應(yīng)該是什么,稱之為校對集!再創(chuàng)建一個(gè)utf8_bin校對集表,再對 a,B,c 進(jìn)行排序: create table collate_2 (c varchar(10) charset=utf8 co
2、llate=utf8_bin;再插入同樣的三個(gè)字母:insert into collate_2 values('a'),('B'),('c');排序結(jié)果如下:典型的后綴:_bin :二進(jìn)制編碼層面直接比較_ci :忽略大小寫比較(大小寫不敏感)_cs:大小寫第三比較MYSQL數(shù)據(jù)類型(列類型,字段類型)三大類:數(shù)值,字符串,日期時(shí)間數(shù)值整數(shù)型類型字節(jié)最小值(有符號/無符號)最大值(有符號/無符號)tinyint1-128/0127/255smallint2-32768/032767/65535mediumint3-8388608/08388607
3、/16777215int/intege4-2147483648/02147483647/4294967295bigint8-9223372036854775808/09223372036854775807/18446744073709551615如何選擇:通過業(yè)務(wù)邏輯判斷!常見的是 int , tinyint !mysql的整型,有php整型不具備的概念:1:無符號,只能表示整數(shù)或0。那么最大的整數(shù)會很大 默認(rèn)是有符號!可通過整型的 unsigned 選項(xiàng), int unsigned 設(shè)置整型無符號2:顯示寬度 &
4、#160;顯示寬度不決定整數(shù)的范圍,而決定在顯示出該數(shù)之后,如果寬度不夠,則采用前導(dǎo)零補(bǔ)齊。此時(shí)需要 zerofill 來設(shè)置如:create table type_int_3 (num int unsigned zerofill);insert into type_int_3 values (0);insert into type_int_3 values (1000);insert into type_int_3 values (1000000);可見,無符號,默認(rèn)的寬度是10,因此全都使用0來補(bǔ)齊可以設(shè)置整型的顯示寬度! int(M) 即可! M 最大為 255!M的值不決定范圍,只決定
5、顯示寬度!create table type_int_4 (num int(30) unsigned zerofill);insert into type_int_4 values (0);insert into type_int_4 values (1000);insert into type_int_4 values (1000000);注意:如果走出了寬度范圍,則直接顯示!額外的,mysql中,沒有布爾型!但存在 Boolean 這個(gè)關(guān)鍵字,表示 tinyint(1)典型的,0表示假,1表示真 小數(shù)類型類型存儲空間(字節(jié))最小值(理論)最大值
6、(理論)FLOAT4-3.402823466E+383.402823466E+38DOUBLE8-1.7976931348623157E+3081.7976931348623157E+308DECIMAL變長,大致是每9個(gè)數(shù)字,采用4個(gè)字節(jié)存儲。整數(shù)和分?jǐn)?shù)分開計(jì)算M,最大是65D,最大是30默認(rèn)是10,2-(65個(gè)9)(+65個(gè)9)單精度、雙精度默認(rèn)的有效位數(shù):在定義浮點(diǎn)數(shù)時(shí),典型的需要指明其有效位數(shù),和小數(shù)位數(shù)float(M,D);double(M,D);M:所有的有效位數(shù)D:其中的小數(shù)位數(shù)以上兩個(gè)值,決定一個(gè)浮點(diǎn)數(shù)的有效范圍!典型的浮點(diǎn)數(shù):float(10,2);注意:浮點(diǎn)數(shù)是近似值,不是
7、精確值!如果一個(gè)數(shù),很大,接近最大值,可能會出錯(cuò)一旦出現(xiàn)精確數(shù)據(jù)(小數(shù))需要保存,則要用到定點(diǎn)數(shù)。定點(diǎn)數(shù):小數(shù)點(diǎn)是固定的!decimal,與定義浮點(diǎn)數(shù)一樣,也有有效位數(shù)與小數(shù)位數(shù)的概念:decimal(M,D);不是數(shù)的形式存儲,類似于字符串的形式存儲!注意:關(guān)于小數(shù)1:支持科學(xué)計(jì)數(shù)法2:同樣支持 unsigned,無符號3:同樣支持 zerofill 字符串類型類型最大長度備注char255Char(M),M字符數(shù)varchar65535,但需要1-2個(gè)保存信息,同時(shí)由于記錄的限制,因此最大為65532編碼不同字符數(shù)不同:Gbk<=32767Utf8<=
8、21845tinyText,text,mediumText,longTextL + n。L為最大長度28+1, 216+2, 224+3, 232+4定義時(shí),通常不用指定長度,可以自己計(jì)算。enum1、2。枚舉選項(xiàng)量(65535)內(nèi)部存儲是整型表示。字段值只能是某一個(gè)set1、2、3、4、8。元素?cái)?shù)量:64binary,varbinary,blobBinary(char),varbinary(varchar),blob(text) 做類比二進(jìn)制數(shù)據(jù)(字節(jié)而非字符)char,最基本(定長)的字符串類型用于保存,長度固定的內(nèi)容!速度快,但是保存變長數(shù)據(jù)會浪費(fèi)空間varchar,可變長度的字符串用于
9、保存長度可變的數(shù)據(jù)保存變長數(shù)據(jù)時(shí),節(jié)省空間,處理起來麻煩些char(L); varchar(L)L,表示每個(gè)數(shù)據(jù)的最大長度。單位是字符數(shù)(不是字節(jié)數(shù))。L的值不多大都可以,有最大值: 1:mysql一條記錄最大值不能超過65535(255*255)個(gè)字節(jié)(字段的長度加起來,不能超過這個(gè)值) 2:長度單位是字符數(shù),與編碼是相關(guān)的 utf8編碼下一個(gè)字符占3個(gè)字節(jié) &
10、#160; gbk編碼下一個(gè)字符占2個(gè)字節(jié)采用單字節(jié)編碼測試下:Latin1;測試發(fā)現(xiàn),只有一個(gè)字段,而且是單字節(jié)字符集,還是不能是65535,原因是:為什么是65532呢,少了3個(gè)字節(jié): 3:由于 varchar 是變長,需要記錄下真實(shí)的數(shù)據(jù)到底有多長!每個(gè)VARCHAR類型的數(shù)據(jù)還需要額外的1個(gè)或2個(gè)字節(jié)保存真實(shí)數(shù)據(jù)的長度?。ㄈQ于真實(shí)數(shù)據(jù)的長度) 4:整條記錄還需要一個(gè)字節(jié)來保存哪些字段為 null 但是在使用時(shí),varchar如果超過25
11、5就選擇 text 來保存!text,文本,不限長度的字符串該字段,不需要指明長度,而且也不會算入到記錄的總長度內(nèi)!選擇:定長:char變長較短:255個(gè)字符之內(nèi),使用varchar變長較長:使用text枚舉,enum,單選需要在定義枚舉類型時(shí),列出哪些是可能的!在處理時(shí),類似字符串型進(jìn)行操作!意義在于:1:限定值的可能性2:速度快,比普通的字符串速度快 原因是枚舉型是利用整數(shù)進(jìn)行管理的,采用2個(gè)字節(jié)進(jìn)行管理每個(gè)值,都是一個(gè)整數(shù)標(biāo)識,從第一個(gè)選項(xiàng)開始為1,逐一遞增!管理是整數(shù)的形式,速度比普通字符串快!2個(gè)字節(jié),0-65535,因此有 65532
12、個(gè)選項(xiàng)可以使用!集合,set,復(fù)選類似于 enum 枚舉,定義時(shí),也需要指定其已有值!與字符串相比,優(yōu)勢是:1:也是采用整數(shù)進(jìn)行管理的!采用位運(yùn)算,從第一位開始為1,逐一乘22:每個(gè)集合類型8個(gè)字節(jié),64位,因此可以表示64個(gè)元素注意:站在mysql的角度,盡量多用枚舉和集合! 但是站在php操作的角度,盡量少用?。嫒菪圆睿┤掌跁r(shí)間類型datetime,日期時(shí)間。用于保存大范圍的日期時(shí)間! &
13、#160; 在處理時(shí)使用字符串形式進(jìn)行管理create table type_datetime_1 (now datetime);insert into type_datetime_1 values ('1234-12-25 12:32:06');timestamp,時(shí)間戳常用的典型時(shí)間 ,從1970-1-1開始。占用空間少,而且是以整型的形式管理,但是以字符串形式展示create table type_timestamp_1 (now timestamp);insert into type_t
14、imestamp_1 values ('2008-8-8 20:08:08');date,日期如果只記錄日期,不記錄時(shí)間采用 date !year,年在保存年份的時(shí)候。采用一個(gè)字節(jié)保存!因此只能表示 1901-2155 年time,時(shí)間除表示時(shí)刻的概念還可以表示時(shí)間跨度!時(shí)間段的概念!create table type_time_1 (len time);insert into type_time_1 values ('16:17:20');insert into type_time_1 values ('3 16:17:20');總結(jié):1:除了 time ,表示都是時(shí)間點(diǎn)的概念!time 還表示時(shí)間跨度!2:年份的表示&
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新任董事對公司大股東掏空行為的影響研究
- 工業(yè)設(shè)計(jì)創(chuàng)新:輕型貨車新型萬向傳動裝置研究
- 《9的組成》幼兒園大班教案
- 2025年計(jì)算機(jī)網(wǎng)絡(luò)管理師考試題及答案分析
- 2025年內(nèi)容創(chuàng)作與編輯能力考試試題及答案
- 《斑馬》中班美術(shù)教案
- 手工制茶考試題庫及答案
- 十個(gè)明確考試題目及答案
- 沈河期末考試題及答案
- 2025年人口與發(fā)展專業(yè)考試試卷及答案
- 2025年1月遼寧省普通高中學(xué)業(yè)水平合格性考試英語試題(原卷版)
- 二年級下二升三數(shù)學(xué)暑假作業(yè)(人教)
- 期末達(dá)標(biāo)測試卷(含答案)2024-2025學(xué)年人教版七年級數(shù)學(xué)下冊
- 2025年廣安市中考語文試卷真題(含標(biāo)準(zhǔn)答案)
- 云南省昆明市2023-2024學(xué)年高二下學(xué)期期末質(zhì)量檢測數(shù)學(xué)試題(解析版)
- 2025【合同范本】產(chǎn)品銷售代理合同范本
- 2025年蘇教版四年級(下)期末考試數(shù)學(xué)試卷(含答案)
- 酒店定制水合同范本
- 2025年港股通知識測試題
- 早期腫瘤篩查
- 農(nóng)業(yè)托管經(jīng)營協(xié)議書
評論
0/150
提交評論