




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、校對集,collate校對集指的是字符之間的比較關系!如:a B c 三個字母如何排序?在 ASCII 碼下的排序為:B a c在mysql命令客戶端下,使用 order by 對結果排序,看結果:順序為 a-B-c 忽略了大小寫!但是這種順序可以被校對集改變:利用 show collation; 語句,可以查看所有的校對集校對集,依賴于字符集校對集:指的是,在某個字符集下,字符的排序關系應該是什么,稱之為校對集!再創(chuàng)建一個utf8_bin校對集表,再對 a,B,c 進行排序:create table collate_2 (c varchar(10) charset=utf8 collate=
2、utf8_bin;再插入同樣的三個字母:insert into collate_2 values(a),(B),(c);排序結果如下:典型的后綴:_bin :二進制編碼層面直接比較_ci :忽略大小寫比較(大小寫不敏感)_cs:大小寫第三比較MYSQL數據類型(列類型,字段類型)三大類:數值,字符串,日期時間數值整數型類型字節(jié)最小值(有符號/無符號)最大值(有符號/無符號)tinyint1-128/0127/255smallint2-32768/032767/65535mediumint3-8388608/08388607/16777215int/intege4-2147483648/0214
3、7483647/4294967295bigint8-9223372036854775808/09223372036854775807/18446744073709551615如何選擇:通過業(yè)務邏輯判斷!常見的是 int , tinyint !mysql的整型,有php整型不具備的概念:1:無符號,只能表示整數或0。那么最大的整數會很大默認是有符號!可通過整型的 unsigned 選項, int unsigned 設置整型無符號2:顯示寬度顯示寬度不決定整數的范圍,而決定在顯示出該數之后,如果寬度不夠,則采用前導零補齊。此時需要 zerofill 來設置如:create table type_i
4、nt_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來補齊可以設置整型的顯示寬度! int(M) 即可! M 最大為 255!M的值不決定范圍,只決定顯示寬度!create table type_int_4 (num int(30) unsigned zerofill);insert into type_int_4
5、values (0);insert into type_int_4 values (1000);insert into type_int_4 values (1000000);注意:如果走出了寬度范圍,則直接顯示!額外的,mysql中,沒有布爾型!但存在 Boolean 這個關鍵字,表示 tinyint(1)典型的,0表示假,1表示真小數類型類型存儲空間(字節(jié))最小值(理論)最大值(理論)FLOAT4-3.402823466E+383.402823466E+38DOUBLE8-1.7976931348623157E+3081.7976931348623157E+308DECIMAL變長,大致是
6、每9個數字,采用4個字節(jié)存儲。整數和分數分開計算M,最大是65D,最大是30默認是10,2-(65個9)(+65個9)單精度、雙精度默認的有效位數:在定義浮點數時,典型的需要指明其有效位數,和小數位數float(M,D);double(M,D);M:所有的有效位數D:其中的小數位數以上兩個值,決定一個浮點數的有效范圍!典型的浮點數:float(10,2);注意:浮點數是近似值,不是精確值!如果一個數,很大,接近最大值,可能會出錯一旦出現精確數據(小數)需要保存,則要用到定點數。定點數:小數點是固定的!decimal,與定義浮點數一樣,也有有效位數與小數位數的概念:decimal(M,D);不是
7、數的形式存儲,類似于字符串的形式存儲!注意:關于小數1:支持科學計數法2:同樣支持 unsigned,無符號3:同樣支持 zerofill字符串類型類型最大長度備注char255Char(M),M字符數varchar65535,但需要1-2個保存信息,同時由于記錄的限制,因此最大為65532編碼不同字符數不同:Gbk<=32767Utf8<=21845tinyText,text,mediumText,longTextL + n。L為最大長度28+1, 216+2, 224+3, 232+4定義時,通常不用指定長度,可以自己計算。enum1、2。枚舉選項量(65535)內部存儲是整型
8、表示。字段值只能是某一個set1、2、3、4、8。元素數量:64binary,varbinary,blobBinary(char),varbinary(varchar),blob(text) 做類比二進制數據(字節(jié)而非字符)char,最基本(定長)的字符串類型用于保存,長度固定的內容!速度快,但是保存變長數據會浪費空間varchar,可變長度的字符串用于保存長度可變的數據保存變長數據時,節(jié)省空間,處理起來麻煩些char(L); varchar(L)L,表示每個數據的最大長度。單位是字符數(不是字節(jié)數)。L的值不多大都可以,有最大值:1:mysql一條記錄最大值不能超過65535(255*255
9、)個字節(jié)(字段的長度加起來,不能超過這個值)2:長度單位是字符數,與編碼是相關的 utf8編碼下一個字符占3個字節(jié) gbk編碼下一個字符占2個字節(jié)采用單字節(jié)編碼測試下:Latin1;測試發(fā)現,只有一個字段,而且是單字節(jié)字符集,還是不能是65535,原因是:為什么是65532呢,少了3個字節(jié):3:由于 varchar 是變長,需要記錄下真實的數據到底有多長!每個VARCHAR類型的數據還需要額外的1個或2個字節(jié)保存真實數據的長度!(取決于真實數據的長度)4:整條記錄還需要一個字節(jié)來保存哪些字段為 null但是在使用時,varchar如果超過255就選擇 text 來保存!text,文本,不限長度
10、的字符串該字段,不需要指明長度,而且也不會算入到記錄的總長度內!選擇:定長:char變長較短:255個字符之內,使用varchar變長較長:使用text枚舉,enum,單選需要在定義枚舉類型時,列出哪些是可能的!在處理時,類似字符串型進行操作!意義在于:1:限定值的可能性2:速度快,比普通的字符串速度快原因是枚舉型是利用整數進行管理的,采用2個字節(jié)進行管理每個值,都是一個整數標識,從第一個選項開始為1,逐一遞增!管理是整數的形式,速度比普通字符串快!2個字節(jié),0-65535,因此有 65532 個選項可以使用!集合,set,復選類似于 enum 枚舉,定義時,也需要指定其已有值!與字符串相比,
11、優(yōu)勢是:1:也是采用整數進行管理的!采用位運算,從第一位開始為1,逐一乘22:每個集合類型8個字節(jié),64位,因此可以表示64個元素注意:站在mysql的角度,盡量多用枚舉和集合! 但是站在php操作的角度,盡量少用?。嫒菪圆睿┤掌跁r間類型datetime,日期時間。用于保存大范圍的日期時間! 在處理時使用字符串形式進行管理create table type_datetime_1 (now datetime);insert into type_datetime_1 values (1234-12-25 12:32:06);timestamp,時間戳常用的典型時間 ,從1970-1-1開始。占用
12、空間少,而且是以整型的形式管理,但是以字符串形式展示create table type_timestamp_1 (now timestamp);insert into type_timestamp_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);ins
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年創(chuàng)新創(chuàng)業(yè)能力評價考試試題及答案
- 2025年財務管理職業(yè)能力建設考試試題及答案
- 2025年創(chuàng)意寫作與文學鑒賞考試試卷及答案
- 2025達州中考數學真題
- 職業(yè)防護知識培訓
- 家鄉(xiāng)的變遷記事與議論文結合(10篇)
- 2025年蘭州危險運輸題庫答案
- 2025年石家莊危險品運輸從業(yè)資格考試題庫完整答案
- 關于未來的議論文7篇
- 2025年湖南出租車上崗證模擬考試0題
- 冠寓運營管理手冊正式版
- 2022年珠海市金灣區(qū)體育教師招聘筆試試題及答案
- GB/T 10610-2009產品幾何技術規(guī)范(GPS)表面結構輪廓法評定表面結構的規(guī)則和方法
- 畢業(yè)離校學生證遺失證明
- 智慧停車技術方案
- 土地整理質量評定表
- 【告知牌】某公司全套重大危險源告知牌(7頁)
- 中考數學復習專題二方程與不等式
- 牛津深圳版七年級下冊英語作文匯總
- 供應商管理庫存VMI的實施
- 公司“師帶徒”實施方案
評論
0/150
提交評論