日常生活中檔案格式有很多中,並且針對不同的檔案格式會有對應不同儲存方式和處理機制(txt,pdf,word,mp4...)
針對不同的資料應該有對應的不同的處理機制來儲存
儲存引擎就是不同的處理機制
mysql主要儲存引擎
"""
# 檢視所有的儲存引擎
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...,
create table t5(id); 報錯
3 最後一行不能有逗號
create table t6(
id int,
name char,
); 報錯
"""補充"""
# 寬度
一般情況下指的是對儲存資料的限制
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 not null);
"""寬度和約束條件到底是什麼關係
寬度是用來限制資料的儲存
約束條件是在寬度的基礎之上增加的額外的約束
"""
整型
"""
以tinyint
是否有符號
預設情況下是帶符號的
超出會如何
超出限制只存最大可接受值
"""create table t9(id tinyint);
insert into t9 values(-129),(256);
# 約束條件之unsigned 無符號
create table t10(id tinyint unsigned);
create table t11(id int);
# int預設也是帶符號的
# 整型預設情況下都是帶有符號的
# 針對整型 括號內的寬度到底是幹嘛的
create table t12(id int(8));
insert into t12 values(123456789);
"""特例:只有整型括號裡面的數字不是表示限制位數
id int(8)
如果數字沒有超出8位 那麼預設用空格填充至8位
如果數字超出了8位 那麼有幾位就存幾位(但是還是要遵守最大範圍)
"""create table t13(id int(8) unsigned zerofill);
# 用0填充至8位
# 總結:
針對整型字段 括號內無需指定寬度 因為它預設的寬度以及足夠顯示所有的資料了
# 如何檢視嚴格模式
show variables like "%mode";
模糊匹配/查詢
關鍵字 like
%:匹配任意多個字元
_:匹配任意單個字元
# 修改嚴格模式
set session 只在當前視窗有效
set global 全域性有效
set global sql_mode = 'strict_trans_tables';
修改完之後 重新進入服務端即可
mysql 基本資料型別 MySQL基本資料型別
char 和 varchar 型別 char 型別用於定長字串,並且必須在圓括號內用乙個大小修飾符來定義。這個大小修飾符的範圍從 0 255。比指定長度大的值將被截短,而比指定長度小的值將會用空格作填補。char 型別可以使用 binary 修飾符。當用於比較運算時,這個修飾符使 char 以二進位...
MySql 基本資料型別
型別 大小描述 char length length位元組 定長字段,長度為0 255個位元組 varchar length string長度 1位元組 變長字段,在mysql5.03以前,長度為0 255個位元組,在5.0.3以後,最大長度為65535位元組。乙個utf8字元佔3個位元組 乙個gb...
MySQL 基本資料型別
mysql是乙個關係型資料庫管理系統,由瑞典mysql ab 公司開發,目前屬於 oracle 旗下產品。mysql 是最流行的關係型資料庫管理系統之一,在 web 應用方面,mysql是最好的 rdbms relational database management system,關聯式資料庫管理...