目錄4 日期型別
5 列舉和集合型別
不同的儲存引擎對應著不同的對資料的處理機制
mysql主要的儲存引擎
myisam
memory
blackhole
用**測試不同引擎的區別
# 檢視所有的儲存引擎
# 不同的儲存引擎在儲存表的時候 異同點
結果:
對每個表新增乙個資料可以看到除了blackhole引擎,其他表的資料都還在,這裡要注意,memory的資料只是存在記憶體中了,重啟一下服務資料就丟失了
建立表的完整語法
# 基本語法
create table 表名(
欄位1 型別(寬度(可不寫)) 約束條件,
欄位1 型別(寬度(可不寫)) 約束條件,
欄位1 型別(寬度(可不寫)) 約束條件
)
注意:
約束條件舉例:create table t6(id int,name char not null); not null表示這個欄位的資料不能插入null
寬度和約束條件的關係
前引:嚴格模式
模糊查詢
修改嚴格型別
舉例
# 不同的整形型別最大的區別就是能取到的範圍,如果超出這個範圍只會存最大範圍(非嚴格模式下)
# 以上的5中整形型別能取的範圍依次增大,所以我們通常用int能應付大部分情況
# 例子:tinyint
如果我們建立了乙個tinyint型別的字段,他的範圍是-128~127,超出這個範圍就會報錯
# 特殊約束,unsigned約束可以讓該字段的範圍只有正數,會把負號內的位數全都帶到正數中,也就是說
create table t6(id tinyint usigned);
# 這裡的id的範圍不再是-128~127 而是0~255
# 長度:整形內的長度不表示限制位數
# 例子:
id int(8)
# 如果數字沒超出8位,預設用空格填充至8位(顯示的時候會自動去除)
# 如果超出了8位,有幾位存幾位,但是還是遵循該型別的最大範圍
# 我們可以用zerofill約束讓空格變成0顯示出來
create table t7(in int(8) zerofill);
舉例
# 儲存限制(不寫的預設值)
create table t10(id float(255,30));
create table t11(id double(255,30));
create table t12(id decimal(65,30));
# 插入資料驗證區別
insert into t10 values(1.111111111111111111111111111111);
insert into t11 values(1.111111111111111111111111111111);
insert into t12 values(1.111111111111111111111111111111);
總結:精度從小到大:float具體場景用不同的精度
3.1 型別
varchar 變長
3.2 舉例驗證區別
可以用length關鍵字來分析內含幾個字元,
修改sql_mode = 'strict_trans_tables,pad_char_to_full_length';
在重啟服務後,這個修改能讓mysql不做自動剔除操作
得到的結果是,同樣只插入了乙個字元的資料,varchar的長度是1,char的長度是4
3.3 對比優缺點
varchar
總結:兩者各有好處,都有用處
分類
create table student(
now_year year,
now_data date,
now_datatime datetime,
now_time time
);insert into student values("2020","2020-5-4","2020-5-4 11:11:11","11:11:11");
具體使用create table user(
gender enum('male','female','others'),
hobby set('read','dbj','hecha')
insert into user values('male','read,hecha');
前乙個是列舉,可以在3個中選乙個,後乙個是集合,可以多選,也可以單選
但是這兩種都不能選自己沒有的!
紀中遊記 Day4 5
真的神似的模擬賽 午飯下午 晚自習糙漢在等雨 day4 新鮮感盡退後以一種綿延的倦怠感,早上起得很晚,讓zhaner去幫我帶了乙個八寶粥。現在是day5 zhaner 感覺是幾萬年以前的事情了 當把時間的尺度放大,短暫的回憶裡的事情卻變得更漫長了。day5 乙個全新的早上。在一陣渺遠的 中醒來,舒緩...
2020 4 22學習筆記day45
wait notify notifyall方法都是object中的方法,任何物件都可以呼叫到這個方法。但是只能在加鎖的 塊中,使用 當做鎖的物件 來呼叫wait notify notifyall方法。其他情況,如果不是在加鎖的 塊中,或者不是使用 當做鎖的物件 來呼叫wait notify noti...
Go 實現 Web 框架 Day4 5 學習筆記
極客兔兔大佬的 七天用go從零實現系列 day4 分組控制,day5 中介軟體 學習筆記 內容位址 開發目的 將路由分組進行控制,在不同的組加不同的定製化功能,也可以全域性定製功能。開發步驟 部分實現解讀 增強功能的函式的實現 與之前定義的請求處理函式一樣,可以使用切片來統一維護,方便管理 全域性增...