MySQL是一種開源的數據庫管理系統,使用廣泛。MySQL提供了許多自帶的庫,這些庫在MySQL安裝的時候就已經集成在其中了。
一些常用的MySQL自帶庫如下:
mysql>SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec)
其中,information_schema
庫是MySQL默認的元數據庫,存儲了所有數據庫、表、列、函數、視圖等的元信息。
mysql
庫是MySQL的系統庫,存儲了用戶和權限信息。可以使用GRANT
和REVOKE
命令控制用戶和權限。
performance_schema
庫存儲了MySQL的性能數據。可以通過查詢這個庫中的表來了解MySQL的性能狀況。
sys
庫是MySQL 5.7版本后新增的庫,提供了一些系統級別的視圖,用于監控數據庫的狀態。
除了這些自帶的庫,MySQL還提供了許多可選的存儲引擎,不同的存儲引擎有不同的功能和優缺點。常見的存儲引擎有:
- InnoDB:支持事務、行級鎖和外鍵約束。
- MyISAM:不支持事務和外鍵約束,但是非常快。
- Memory:提供了內存表格,數據被存儲在內存中,可以用于一些高速的臨時表。
mysql>SHOW ENGINES; +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | | MyISAM | YES | MyISAM storage engine | NO | NO | NO | | BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO | | CSV | YES | CSV storage engine | NO | NO | NO | | ARCHIVE | YES | Archive storage engine | NO | NO | NO | | InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES | | PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO | | EXAMPLE | YES | Example storage engine | NO | NO | NO | +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ 9 rows in set (0.00 sec)
通過SHOW ENGINES
命令可以查詢MySQL支持的存儲引擎。