1. 查找数据库中具有某个字段的表
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.columns WHERE COLUMN_NAME='test' and TABLE_SCHEMA='testDB';
其中“test”的内容填写你想要查找的字段,“testDB”填写你的数据库名称,其他内容照写。
最后的TABLE_SCHEMA限定了查找的数据库,只有一个数据库可以不加,否则有可能跑去别的库获取。
2. 查找某个表存在于哪个(哪些)数据库中
SELECT DISTINCT t.TABLE_NAME, n.SCHEMA_NAME FROM INFORMATION_SCHEMA.tables t, INFORMATION_SCHEMA.schemata n WHERE t.TABLE_NAME = 'table_test' ;
将“table_test”替换你想查找的表即可
3. 从select结果中选出其中的两列
SELECT t.test1, t.test2 FROM (SELECT test1, test2, count(test2) AS count FROM table_test
GROUP BY test1, test2 HAVING count > 50) t
以上述为例,用第二个select作为一个新的表,然后选择其中的字段即可。
4. 判断数据库中是否存在某个表
SELECT DISTINCT t.table_name, n.SCHEMA_NAME FROM information_schema.TABLES t, information_schema.SCHEMATA n WHERE t.table_name = 'table_name' AND n.SCHEMA_NAME = 'database_name';