




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、校對集,collate校對集指的是字符之間的比較關(guān)系!如:a B c 三個字母如何排序?在 ASCII 碼下的排序為:B a c在mysql命令客戶端下,使用 order by 對結(jié)果排序,看結(jié)果:順序為 a-B-c 忽略了大小寫!但是這種順序可以被校對集改變:利用 show collation; 語句,可以查看所有的校對集校對集,依賴于字符集校對集:指的是,在某個字符集下,字符的排序關(guān)系應(yīng)該是什么,稱之為校對集!再創(chuàng)建一個utf8_bin校對集表,再對 a,B,c 進行排序: create table collate_2 (c varchar(10) charset=utf8 co
2、llate=utf8_bin;再插入同樣的三個字母:insert into collate_2 values('a'),('B'),('c');排序結(jié)果如下:典型的后綴:_bin :二進制編碼層面直接比較_ci :忽略大小寫比較(大小寫不敏感)_cs:大小寫第三比較MYSQL數(shù)據(jù)類型(列類型,字段類型)三大類:數(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ù)會很大 默認是有符號!可通過整型的 unsigned 選項, int unsigned 設(shè)置整型無符號2:顯示寬度 &
4、#160;顯示寬度不決定整數(shù)的范圍,而決定在顯示出該數(shù)之后,如果寬度不夠,則采用前導(dǎo)零補齊。此時需要 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);可見,無符號,默認的寬度是10,因此全都使用0來補齊可以設(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 這個關(guān)鍵字,表示 tinyint(1)典型的,0表示假,1表示真 小數(shù)類型類型存儲空間(字節(jié))最小值(理論)最大值
6、(理論)FLOAT4-3.402823466E+383.402823466E+38DOUBLE8-1.7976931348623157E+3081.7976931348623157E+308DECIMAL變長,大致是每9個數(shù)字,采用4個字節(jié)存儲。整數(shù)和分數(shù)分開計算M,最大是65D,最大是30默認是10,2-(65個9)(+65個9)單精度、雙精度默認的有效位數(shù):在定義浮點數(shù)時,典型的需要指明其有效位數(shù),和小數(shù)位數(shù)float(M,D);double(M,D);M:所有的有效位數(shù)D:其中的小數(shù)位數(shù)以上兩個值,決定一個浮點數(shù)的有效范圍!典型的浮點數(shù):float(10,2);注意:浮點數(shù)是近似值,不是
7、精確值!如果一個數(shù),很大,接近最大值,可能會出錯一旦出現(xiàn)精確數(shù)據(jù)(小數(shù))需要保存,則要用到定點數(shù)。定點數(shù):小數(shù)點是固定的!decimal,與定義浮點數(shù)一樣,也有有效位數(shù)與小數(shù)位數(shù)的概念:decimal(M,D);不是數(shù)的形式存儲,類似于字符串的形式存儲!注意:關(guān)于小數(shù)1:支持科學(xué)計數(shù)法2:同樣支持 unsigned,無符號3:同樣支持 zerofill 字符串類型類型最大長度備注char255Char(M),M字符數(shù)varchar65535,但需要1-2個保存信息,同時由于記錄的限制,因此最大為65532編碼不同字符數(shù)不同:Gbk<=32767Utf8<=
8、21845tinyText,text,mediumText,longTextL + n。L為最大長度28+1, 216+2, 224+3, 232+4定義時,通常不用指定長度,可以自己計算。enum1、2。枚舉選項量(65535)內(nèi)部存儲是整型表示。字段值只能是某一個set1、2、3、4、8。元素數(shù)量:64binary,varbinary,blobBinary(char),varbinary(varchar),blob(text) 做類比二進制數(shù)據(jù)(字節(jié)而非字符)char,最基本(定長)的字符串類型用于保存,長度固定的內(nèi)容!速度快,但是保存變長數(shù)據(jù)會浪費空間varchar,可變長度的字符串用于
9、保存長度可變的數(shù)據(jù)保存變長數(shù)據(jù)時,節(jié)省空間,處理起來麻煩些char(L); varchar(L)L,表示每個數(shù)據(jù)的最大長度。單位是字符數(shù)(不是字節(jié)數(shù))。L的值不多大都可以,有最大值: 1:mysql一條記錄最大值不能超過65535(255*255)個字節(jié)(字段的長度加起來,不能超過這個值) 2:長度單位是字符數(shù),與編碼是相關(guān)的 utf8編碼下一個字符占3個字節(jié) &
10、#160; gbk編碼下一個字符占2個字節(jié)采用單字節(jié)編碼測試下:Latin1;測試發(fā)現(xiàn),只有一個字段,而且是單字節(jié)字符集,還是不能是65535,原因是:為什么是65532呢,少了3個字節(jié): 3:由于 varchar 是變長,需要記錄下真實的數(shù)據(jù)到底有多長!每個VARCHAR類型的數(shù)據(jù)還需要額外的1個或2個字節(jié)保存真實數(shù)據(jù)的長度!(取決于真實數(shù)據(jù)的長度) 4:整條記錄還需要一個字節(jié)來保存哪些字段為 null 但是在使用時,varchar如果超過25
11、5就選擇 text 來保存!text,文本,不限長度的字符串該字段,不需要指明長度,而且也不會算入到記錄的總長度內(nèi)!選擇:定長:char變長較短:255個字符之內(nèi),使用varchar變長較長:使用text枚舉,enum,單選需要在定義枚舉類型時,列出哪些是可能的!在處理時,類似字符串型進行操作!意義在于:1:限定值的可能性2:速度快,比普通的字符串速度快 原因是枚舉型是利用整數(shù)進行管理的,采用2個字節(jié)進行管理每個值,都是一個整數(shù)標識,從第一個選項開始為1,逐一遞增!管理是整數(shù)的形式,速度比普通字符串快!2個字節(jié),0-65535,因此有 65532
12、個選項可以使用!集合,set,復(fù)選類似于 enum 枚舉,定義時,也需要指定其已有值!與字符串相比,優(yōu)勢是:1:也是采用整數(shù)進行管理的!采用位運算,從第一位開始為1,逐一乘22:每個集合類型8個字節(jié),64位,因此可以表示64個元素注意:站在mysql的角度,盡量多用枚舉和集合! 但是站在php操作的角度,盡量少用?。嫒菪圆睿┤掌跁r間類型datetime,日期時間。用于保存大范圍的日期時間! &
13、#160; 在處理時使用字符串形式進行管理create table type_datetime_1 (now datetime);insert into type_datetime_1 values ('1234-12-25 12:32:06');timestamp,時間戳常用的典型時間 ,從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,日期如果只記錄日期,不記錄時間采用 date !year,年在保存年份的時候。采用一個字節(jié)保存!因此只能表示 1901-2155 年time,時間除表示時刻的概念還可以表示時間跨度!時間段的概念!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 ,表示都是時間點的概念!time 還表示時間跨度!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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育政策的未來走向與挑戰(zhàn)
- 面向未來的智慧城市物聯(lián)網(wǎng)基礎(chǔ)設(shè)施融資策略探討
- 實踐中的智慧教育機器人技術(shù)助力教學(xué)
- 動態(tài)學(xué)習(xí)評估與教育心理學(xué)的結(jié)合
- 教學(xué)機器人在數(shù)學(xué)輔導(dǎo)中的卓越表現(xiàn)
- 銷售技巧培訓(xùn)課件名稱
- 教育大數(shù)據(jù)與教育公平的探索
- 藥店pop海報培訓(xùn)課件
- 面向未來的智能型教學(xué)互動機器人研究
- 教育技術(shù)對辦公效率的革新與提升
- 2025年廣安市中考語文試卷真題(含標準答案)
- 云南省昆明市2023-2024學(xué)年高二下學(xué)期期末質(zhì)量檢測數(shù)學(xué)試題(解析版)
- 2025【合同范本】產(chǎn)品銷售代理合同范本
- 2025年蘇教版四年級(下)期末考試數(shù)學(xué)試卷(含答案)
- 酒店定制水合同范本
- 2025年港股通知識測試題
- 早期腫瘤篩查
- 農(nóng)業(yè)托管經(jīng)營協(xié)議書
- 腫瘤內(nèi)科病案質(zhì)量管理
- 2025年高考語文備考之考綱規(guī)定實詞200文言實詞課內(nèi)出處注解匯編
- 2024年7月黑龍江省普通高中學(xué)業(yè)水平合格性考試生物試卷(含答案)
評論
0/150
提交評論