MYSQL學習筆記 第三講 資料型別

2021-06-15 09:23:23 字數 2393 閱讀 8931

第三講:資料型別

1.列型別

①數值型:ⅰ.整數型:tinyint(1個位元組)、smallint(2個位元組)、mediumint(3個位元組)、int(4個位元組)、bigint(8個位元組);

ⅱ小數型:float(4個位元組)、double(8個位元組)、decimal(8個位元組);

②日期時間型:year(yyyy)、timestamp、time(hh:mm:ss)、date(yyyy-mm-dd)、datetime;

③字串型:set(集合型別,不定項選擇)、enum(列舉型別,單項選擇)、blob(二進位制資料)、text、varchar、char;

2.數值型-整數型

①可以使用unsigned來標識是否有符號(不寫就認為有符號);

②定義顯示寬度,通過規定資料的顯示寬度,達到統一顯示的寬度;

注:型別(m) m表示顯示資料的最小寬度,需要使用前導零填充達到目的,稱之為zerofill;

例:alter table tbl_int add c tinyint(2) zerofill;

也存在布林bool型別,但就是tinyint(1)別名;

3.數值型-小數型

①浮點數:小數點可變化

float(單精度):預設精度為6位左右;

double(雙精度):預設精度為16位左右;

注:支援控制數值的範圍,type(m,d) m所有數值的位數,不包括小數點和符號;d允許小數字數

支援科學計數法:1.234 x 10^3  <==>  1.234e3

②定點數

decimal(m,d) m表示總位數,預設為10;d表示小數範圍,預設為2;

③小數支援zerofill

④支援無符號unsigned

4.時間型別

①datetime(年月日時分秒):yyyy-mm-dd hh:mm:ss

注:支援任意分隔符的日期,但不建議使用特殊的分隔符,使邏輯不清晰

支援零值,表示當前沒有規定,例:2013-04-0 表示4月整個月(邏輯想法)

②date(年月日):yyyy-mm-dd

③timestamp(時間戳):格式痛datetime,儲存時是整數,但是表示時是日期時間型別

注:檢索列時,+0可以檢索時間戳

5.字串型別

①char(m) 固定長度

varchar(m) 可變長度,需要乙個位元組儲存總長度

注:m允許的字串長度

m在varchar中的表示是允許最大的長度,char內表示嚴格限定的長度

m表示的是字元數,而不是位元組數,但總的長度使用還是位元組數

②真實的varchar長度:總長度65535,實際最大值為65532

注:varchar特點:當型別資料超過255個字元時,採用2個位元組表示長度  65535 - 2 = 65533

整條記錄需要額外的自己,用於儲存當前欄位的null值,除非所有的字段都不是null,才可以省略;

乙個記錄,不論有多少字段存在null。都使用統一的乙個位元組來表示,而不是每個字段乙個位元組;

③text

文字(大小2^16),有很多兄弟型別:tinytext,longtext表示的字串長度不一樣

6.列型別-如何選擇

①盡量精確

②考慮應用語言處理

③考慮相容性

Cmake學習第三講

三 總結 原始檔 include libhelloslam.h 這是原始檔usehello.cpp 使用 libhelloslam.h 中的 printhello 函式 intmain int argc,char ar 標頭檔案 這是乙個標頭檔案libhelloslam.h ifndef libhe...

機器學習第三講

第三講 分類 1.數學知識回顧 點到平面距離 梯度下降法 隨機梯度下降法 學習率的取值要逐步降低 最大似然估計 2.分類介紹 另一種典型的有監督學習問題 標籤 模型 值 y為離散值 實際應用舉例 新聞主題分類 科技 教育 社會 體育?疾病診斷 根據病人肺部影像,診斷是否患 covid 19肺炎 市場...

類和物件第三講

類和物件第三講 還是先來繼續介紹建構函式,今天想談談帶引數的建構函式。例 求乙個長寬高分別為 1 12 25,30。2 15,30,21.的長方體的體積。include using namespace std class box box box int h1,int w1,int l1 void b...