嚴格模式 浮點型 字元型別 日期型別

2022-02-15 05:03:39 字數 2175 閱讀 9794

char() 寬度預設為1 新增資料的時候他會自動擷取1位來 存   (能盡量少幹活就少幹活 )  

還有一種情況就是 他會自動報錯 我們應該給他報錯

檢視 嚴格模式  show variables like"%mode%";     只要是帶mode的都給我查出來

%匹配任意多個字元

_匹配任意乙個字元

兩種方式

set session  臨時有效 只在你當前操作視窗有效

set session sql_mode='strict_trans_tables';

set global 全域性有效 終身有效

set global sql_mode='strict_trans_tabl es'  設定完之後需要退出客戶端 從新進入

浮點型float(255,30) 總共255位 小數部分佔30位

double(255,30) 總共255位 小數部分佔30位

decimal(65,30) 總共65位 小數部分佔30位

create table t12(id float(255,30));

create table t13(id double(255,30));

create table t14(id decimal(65,30));

insert into t12 values(1.111111111111111111111111111111);

insert into t13 values(1.111111111111111111111111111111);

insert into t14 values(1.111111111111111111111111111111);

精確度float < double < decimal

分為兩類  char (4)  最大 四個字元 超出 直接報錯 少了用空格填充

varchar(4)  最大 四個字元 超出 直接報錯 少了有幾個存幾個 (節省空間)

char_length() 檢視長度   select char_length(name) from t16; 

mysql在儲存char型別欄位的時候 硬碟上確確實實存的是固定長度的資料

但是再取出來的那一瞬間 mysql會自動將填充的空格去除

可以通過嚴格模式 來修改該機制 讓其不做自動去除處理

# 如果不想讓mysql幫你做自動去除末尾空格的操作,需要再新增乙個模式

char與varchar的區別

char定長

1.浪費空間

2.訪問速度快

varchar變長

1.節省空間

2.訪問速度慢(較於char比較慢)

存的時候 需要給資料講乙個記錄長度的報頭

取的時候 需要先讀取報頭才能讀取真實資料

char(4)                   varchar(4)

取的時候方便           取的時候比較繁瑣了 無法知道資料到底多長

直接按固定的長度取即可

浮點型資料型別

double 和 float 資料型別都是浮點型,在從記憶體中取出來後,即便之前的賦值是個 整型的資料型別,把浮點型取出來後都會變成實數的小數,比如賦值為0,取出來後就是0.0了 float var f 0 double var d 0 system.out.println var f 0.0 sy...

php手冊 筆記 型別 浮點型

1.除了字串型別之外,其它的所有型別轉換為浮點型時,都是先轉換為整型,然後再轉換為浮點型的 2.floor 0.1 0.7 10 返回的是7 為什麼echo 0.1 0.7 10返回的是8呢?也就是對浮點數的運算結果一定要注意使用限制小數點的位數,比如使用floor round 0.1 0.7 1 ...

基本型別 實型 浮點型

與數學中的實數的概念差不多,在乙個值的後面加上乙個小數點,該值就成為乙個浮點值,c語言中浮點型別有float double和long double 類似於科學記數法,稱為指數記數法或e記數法,e後面的數字代表數10的指數 整數沒有小數部分,浮點數有小數部分,表示的具體數字的個數相同 浮點數可以表示的...