2017-09-13 6 views
0

を私は使用しています:のMySQL:からすべてのテーブルを返します「を選択tables_names ...」

SELECT table_name AS tables FROM information_schema.tables WHERE table_name LIKE 'address_%' 

が...データベース内のすべてのテーブルのリストを取得します。私はむしろ「SHOW TABLESを」よりも、この方法を使用することをお勧めして、次を参照してください。

mysql: SHOW TABLES - define column name

を...私は(TABLESを示すことはできません上記のAS句、、)欄に名前を付けることができますよう。私がしようとすると、次のいずれかにすべてのテーブル(「アドレス_」で始まるものだけではなく)を取得するSELECTステートメントを変更した場合

tables 
address_13e625c01bea04b1d311 
address_147e32243c710542fb43 
address_3b046272656fa61d7550 
address_4f83b2740fc4f038775a 
etc. 

:予想通り

、これは私に次のような出力を提供します

SELECT table_name AS tables FROM information_schema.tables WHERE table_name LIKE '%' 

SELECT table_name AS tables FROM information_schema.tables WHERE table_name LIKE '' 

SELECT table_name AS tables FROM information_schema.tables 

これらのすべての戻り:

tables 
CHARACTER_SETS 
CLIENT_STATISTICS 
COLLATIONS 
COLLATION_CHARACTER_SET_APPLICABILITY 
COLUMNS 
COLUMN_PRIVILEGES 
etc. 

私は、これらの値が何であるかを知りません(データベースの属性を見て)、それは確かにデータベースのテーブルのリストではありません(上記の 'address_'はそこにもありません)。

誰でも「SELECT table_name ...」というステートメントを知っていますか?列に名前を付けたいのですが(なぜ 'SHOW TABLES'を使用できないのですか)、テーブルの完全なリストを取得する必要があります。与えられたデータベース?

+0

テーブルが含まれているものを見るためにinformation_schema.tables' SELECT * FROM '使用いただきありがとうございます。次に、適用するフィルターを決定することができます。 –

+0

私は 'SELECT table_name AS tables from FROM information_schema'と言うでしょう。 – hackela

+0

興味のあるtable_schema(データベース)だけを見るようにクエリを制限したいかもしれません。 –

答えて

0

ありがとうございます。これらに基づいて

、私は私の答え、しまった:

SELECT TABLE_NAME AS 'table' FROM information_schema.tables where TABLE_name like '%' 

これはちょうどという名前の列のテーブルで、テーブル名を返します。

はすべて

関連する問題