mysql 體重 型別 身高 mysql 資料型別

2021-10-12 14:54:11 字數 4554 閱讀 9917

儲存引擎

日常生活中檔案格式有很多中,並且針對不同的檔案格式會有對應不同儲存方式和處理機制

針對不同的資料應該有對應的不同的處理機制來儲存

儲存引擎就是不同的處理機制

mysql主要儲存引擎

-innodb

mysql5.5版本及之後預設的儲存引擎

儲存資料更加的安全-myisam

是mysql5.5版本之前預設的儲存引擎

速度要比innodb更快 但是資料安全-memory

記憶體引擎(資料全部存放在記憶體中) 斷電資料丟失-blackhole

無論存什麼,都立刻消失(黑洞)

#檢視所有的儲存引擎

show engines;#不同的儲存引擎在儲存表的時候 異同點

create table t1(id int) engine=innodb;

create table t2(id int) engine=myisam;

create table t3(id int) engine=blackhole;

create table t4(id int) engine=memory;#存資料

insert into t1 values(1);

insert into t2 values(1);

insert into t3 values(1);

insert into t4 values(1);

建立表的完整語法

#語法create table 表名(

欄位名1 型別(寬度) 約束條件,

欄位名2 型別(寬度) 約束條件,

欄位名3 型別(寬度) 約束條件

)#注意

1在同一張表中欄位名不能重複2寬度和約束條件是可選的而欄位名和字段型別是必須的

約束條件寫的話 也支援寫多個

欄位名1 型別(寬度) 約束條件1 約束條件2...,3最後一行不能有逗號#寬度

一般情況下指的是對儲存資料的限制

create table t7(name char); 預設寬度是1

insert into t7 values('jason');

insert into t7 values(null); 關鍵字null

針對不同的版本會出現不同的效果5.6版本預設沒有開啟嚴格模式 規定只能存乙個字元你給了多個字元,那麼我會自動幫你擷取5.7版本及以上或者開啟了嚴格模式 那麼規定只能存幾個 就不能超,一旦超出範圍立刻報錯 data too long for....

mysql5.7之後的版本預設都是開啟嚴格模式的

使用資料庫的準則:

能盡量少的讓資料庫幹活就盡量少 不要給資料庫增加額外的壓力#約束條件 null not null不能插入null

create table t8(id int,name char notnull);"""寬度和約束條件到底是什麼關係

寬度是用來限制資料的儲存

約束條件是在寬度的基礎之上增加的額外的約束

基本資料型別

整型分類

tinyint smallint meduimint int bigint

作用:儲存年齡、等級、id、號碼...

以tinyint

是否有符號

預設情況下是帶符號的

超出會如何

超出限制只存最大可接受值#約束條件之unsigned 無符號

create table t10(id tinyint unsigned);#int預設也是帶符號的#整型預設情況下都是帶有符號的

"""特例:只有整型括號裡面的數字不是表示限制位數

id int(8)

如果數字沒有超出8位 那麼預設用空格填充至8位

如果數字超出了8位 那麼有幾位就存幾位(但是還是要遵守最大範圍)"""

#用0填充至8位

create table t13(id int(8) unsigned zerofill);#總結:

針對整型字段 括號內無需指定寬度 因為它預設的寬度以及足夠顯示所有的資料了

嚴格模式

#如何檢視嚴格模式

show variables like "%mode";

模糊匹配/查詢

關鍵字 like%:匹配任意多個字元

_:匹配任意單個字元#修改嚴格模式

set session 只在當前視窗有效

setglobal全域性有效

setglobal sql_mode = 'strict_trans_tables';

修改完之後 重新進入服務端即可

浮點型分類

float、double、decimal

作用:身高、體重、薪資...

#儲存限制

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

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

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

#精確度驗證

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

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

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

insert into t15 values(1.111111111111111111111111111111);

insert into t16 values(1.111111111111111111111111111111);

insert into t17 values(1.111111111111111111111111111111);

得到的結果精度越來越高

float< double

字元型別

分類"""char

定長char(4) 資料超過四個字元直接報錯 不夠四個字元空格補全

varchar

變長varchar(4) 資料超過四個字元直接報錯 不夠有幾個存幾個"""

#介紹乙個小方法 char_length統計字段長度

select char_length(name) fromt18;"""首先可以肯定的是 char硬碟上存的絕對是真正的資料 帶有空格的

但是在顯示的時候mysql會自動將多餘的空格剔除"""

#再次修改sql_mode 讓mysql不要做自動剔除操作

set global sql_mode='strict_trans_tables,pad_char_to_full_length';

char與varchar對比

"""char

缺點:浪費空間

優點:訪問都很簡單

直接按照固定的字元訪問資料即可

jason egon alex wusir tank

存按照五個字元存 取也直接按照五個字元取

varchar

優點:節省空間

缺點:訪問較為麻煩

1bytes+jason 1bytes+egon 1bytes+alex 1bytes+tank

存的時候需要製作報頭

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

時間型別

分類date:年月日 2020-5-4

datetime:年月日時分秒 2020-5-4 11:11:11

time:時分秒11:11:11

year:2020

create table student(

id int,

name varchar(16),

born_year year,

birth date,

study_time time,

reg_time datetime

insert into student values(1,'egon','1880','1880-11-11','11:11:11','2020-11-11 11:11:11');

列舉與集合型別

分類"""列舉(enum) 多選一

集合(set) 多選多"""

具體使用

create table user(

id int,

name char(16),

gender enum('male','female','others')

insert into user values(1,'jason','male'); 正常

insert into user values(2,'egon','***xooo'); 報錯#列舉字段 後期在存資料的時候只能從列舉裡面選擇乙個儲存

create table teacher(

id int,

name char(16),

gender enum('male','female','others'),

hobby set('read','dbj','hecha')

insert into teacher values(1,'jason','male','read'); 正常

insert into teacher values(2,'egon','female','dbj,hecha'); 正常

insert into teacher values(3,'tank','others','生蠔'); 報錯#集合可以只寫乙個 但是不能寫沒有列舉的

165體重 身高165標準體重是多少斤女生

每個時期,人們對於美的標準是不一樣的。比如在唐朝以胖為美,而近現代人們都是以瘦為美。但是近年來,女性對自己的身材要求變得越來越苛刻,很多女性明明已經達到了健康的體重標準,卻還是想繼續 有一些女性的 目標實在是過於瘦,簡直能夠達到一種病態的地步。那麼身高165的女性到底標準體重在多少合適呢?讓我們接下...

Python輸入身高體重並計算BMI

當前計算bmi的程式中height,weight都是固定值,請將程式更改為從鍵盤獲取輸入,再計算 bmi。先輸入身高 單位 公尺 然後輸入體重 單位 公斤 然後再計算並輸出 bmi 值。在 python 中,可以通過input 指令獲取鍵盤輸入的內容,直至遇到回車,下面的 獲取輸入,並儲存到變數na...

根據身高體重計算BMI指數

bmi指數即身體質量指數,是目前國際常用的衡量人體胖瘦程度以及是否健康的乙個標準。bmi指數計算公式如下 體質指數 bmi 體重 kg 身高2 m2 根據要求編寫程式,實現根據輸入的身高體重計算bmi值的功能。import math height float input 請輸入您的身高 cm wei...