MySQL是當(dāng)前使用最廣泛的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一。在使用MySQL時(shí),常常需要查詢表的數(shù)據(jù)庫名,下面我們介紹幾種常見的查詢方法。
SHOW TABLES;
使用SHOW TABLES語句可以列出當(dāng)前數(shù)據(jù)庫中的所有表名,如下:
mysql>SHOW TABLES; +----------------------+ | Tables_in_test_db | +----------------------+ | department | | employee | | salary | +----------------------+ 3 rows in set (0.00 sec)
此時(shí)可以看到表的名稱,但是無法直接得到表所在的數(shù)據(jù)庫名稱。
SELECT database();
使用SELECT database()語句可以查詢當(dāng)前連接的數(shù)據(jù)庫名稱,如下:
mysql>SELECT database(); +------------+ | database() | +------------+ | test_db | +------------+ 1 row in set (0.00 sec)
此時(shí)可以看到當(dāng)前連接的數(shù)據(jù)庫名稱,但是還需要進(jìn)一步查詢該數(shù)據(jù)庫下的表名稱。
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'test_db';
使用SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'test_db'語句可以查詢test_db數(shù)據(jù)庫下的所有表的名稱,如下:
mysql>SELECT TABLE_NAME ->FROM INFORMATION_SCHEMA.TABLES ->WHERE TABLE_SCHEMA = 'test_db'; +-------------+ | TABLE_NAME | +-------------+ | department | | employee | | salary | +-------------+ 3 rows in set (0.00 sec)
此時(shí)可以看到test_db數(shù)據(jù)庫下的表名,能夠滿足我們的查詢需求。