MySQL是一種常見的關系型數據庫管理系統,默認使用的數據庫文件后綴名為 .frm、.MYI、.MYD 三種文件,它們分別代表了表結構定義文件、索引文件、數據文件。
.frm 文件是表的定義文件,其中包含了表名、列名、列數據類型、長度等信息,這些信息被描述成為一個稱為數據字典的文件。MySQL可以通過該文件讀取表定義并創建并修改表結構。
CREATE TABLE `user` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL DEFAULT '', `password` char(32) NOT NULL DEFAULT '', `email` varchar(50) NOT NULL DEFAULT '', `is_admin` tinyint(1) NOT NULL DEFAULT '0', `status` tinyint(4) NOT NULL DEFAULT '0', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `delete_time` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
.MYI 文件包含了表的索引信息,索引用于優化查詢效率,可以加速查找數據的速度。當表中的數據發生變化時,數據庫會自動重建索引文件。
.MYD 文件是表的數據文件,其中包含了所有的表記錄和數據內容。只有當數據被修改或插入新數據時,MySQL 才會更新數據文件。在表發生錯誤或損壞時,可能會使用數據文件來恢復數據。
總的來說,.frm、.MYI、.MYD 三種文件共同組成了 MySQL 數據庫,并為 MySQL 提供了基礎數據存儲及操作功能。