這種表示允許多個數據庫級的語句在其實現中十分簡單CREATE DATABASE db_name在數據目錄中創建一個db_name空目錄具有只允許MySQL服務器用戶(運行服務器的Unix用戶)的屬主和模式這等價於下列手工在服務器主機上創建數據庫
%mkdir DATADIR/db_name
%chmod DADADIR/db_name
用一個空目錄表示一個新數據庫的最簡單方法與其它數據庫甚至為一個空數據庫創建大量的控制文件或系統文件正好相反
DROP DATABASE語句實現同樣簡單DROP DATABASE db_name刪除數據庫中的db_name目錄和所有表文件這幾乎與下列命令一樣
%rm rf DATADIR/db_name
(差別是服務器只刪除具有已知用於表的後綴名的文件如果你在數據庫目錄創建了其它文件則服務器保留它們而且目錄本身不被刪除
SHOW DATABASE基本上不做什麼只是列出位於數據目錄中的目錄名有些數據庫系統保持一個主表用於維護所有數據庫但在MySQL無此構件由於賦予數據目錄結構的簡潔性數據庫列表隱含在數據目錄的內容中而且這樣的表不必有額外的開銷
數據庫表的表示
每個數據庫在數據庫目錄中有個文件一個樣式(描述文件)一個數據文件和一個索引文件每個文件的基本名是表名文件名擴展名代表文件類型擴展名如下表數據和索引文件的擴展名指出表使用老式IASM索引或新式MyISAM索引
表 MySQL文件類型
文件類型 文件名擴展名 文件內容
樣式文件 frm 描述表的結構(它的列列類型索引等)
[] [] [] [] [] [] [] [] [] []
From:http://tw.wingwit.com/Article/program/MySQL/201311/29760.html