1、本章目標
儲存引擎
資料型別(重點)
2、儲存引擎
在關係型資料庫中,資料儲存在表中,表由行和列組成。
開發中,可能需要各種不同的表,有的表簡單,有的表複雜,有的表讀取快,有的讀取資料慢,有的表更新快等。
根據對資料的不同的處理需求,使用不同的儲存引擎,可以將mysql資料庫的效能發揮到最大。
查詢mysql資料庫中的儲存引擎:show engines;
mysql5.5 預設使用的儲存引擎是:innodb
myisam:
mysql預設資料庫引擎,不支援事務、外來鍵,速度快,用於無事務要求或者select、insert為主的場景。
會建立3個檔案.frm(儲存表定義),.myd(mydata,儲存資料),.myi(myindex,儲存引擎)。
支援3中儲存格式,靜態(固定長度)表,動態表,壓縮表。
靜態表是預設格式,固定長度速度快,但是佔空間大。記錄長度不夠時會用空格填充,讀取資料時會清除空格,存在吃尾部空格的情況。
動態表包含變長字段,記錄不是固定長度,占用空間少,但是頻繁更新和刪除會產生隨便,需要定期整理,並且在出現故障時恢復比較困難。
壓縮表由mysiampack工具建立,空間小。
innodb:
提供了具有提交、回滾、崩潰恢復能力的事務安全,但是會占用更多空間用以儲存資料和索引。
支援外來鍵,建立外來鍵的時候,要求父表必須有對應的碎銀,子表在建立索引的時候也會自動建立對應的索引。
儲存表和索引有兩種方式,
使用共享表空間儲存,表結構儲存在.frm檔案中,資料和索引在innodb_data_home_dir和innodb_data_file_path定義的表空間中,可以是多個檔案。
使用多表空間儲存,表結構儲存在.frm檔案中,每個表的資料和索引單獨儲存在.ibd中。
3、資料型別
日期date 2019-3-20
datetime 2019-3-20 10:27:37
timestamp 時間戳,類datetime相似
數值整型(整數)
int浮點型(小數)
float
double
decimal(有效位,精度) decimal(5,2)
字串char(n) 固定
varchar(n) 可變
char(10)和varchar(10) 同時 儲存 'abc',前者占用10個字元空間,後者佔3個字元空間
text
詳細請參照:
4、屬性
主鍵:primary key
標識列(自增):auto_increment
唯一:unique
預設:default
非空:not null
外來鍵:foreign key 外建名(欄位名) references 主表(字段)
檢查:check,mysql沒有實現check約束的功能,若要實現,可以使用後面學習的觸發器
第二章 初識MySQL
關係型資料庫 rdbms,relational database management system 目前internet上流行的 構架方式是lamp linux apache mysql php 啟動 停止mysql伺服器 系統伺服器和命令提示符 dos 服務命令開啟windows服務管理器。cm...
第二章總結
學了c 後,我對第二章做出了總結,了解了以下幾點 1 cin語句,cout語句的使用 2 資料型別和他們各自的資料範圍及程式設計應用 3 定義常量與變數的格式及它們的含義 4 字元變數的運算和getchar,putchar的使用 5 算數運算子的含義,在實際問題程式設計中的應用 6 在賦值語句中 是...
第二章 總結
1 include標頭檔案 using namespace std int main 以上為必寫項 2 cout 輸出功能及插入運算子 int 整型,而且常用於定義字元未知量,賦值 a 97 a 65 0 48 3 1 符號常量格式 型別名 const 常量名或者const 型別名 常量名,常量名一...