sql >> Database >  >> Database Tools >> phpMyAdmin

MySQL-query om een ​​record in de volledige database te doorzoeken

Dit is een enigszins ingewikkeld iets om te doen. En je kunt het echt niet in één stap doen. Ik zal je iets geven om mee te beginnen, en je zult het vanaf daar moeten nemen:

select CONCAT("SELECT * FROM ", TABLE_NAME, " WHERE user_id=1;") FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME="user_id";

Dit levert nu de volgende uitvoer op:

+--------------------------------------------------------------------+
| CONCAT("SELECT * FROM ", TABLE_NAME, " WHERE user_id=1;")          |
+--------------------------------------------------------------------+
| SELECT * FROM table0 WHERE user_id=1;                              |
| SELECT * FROM table1 WHERE user_id=1;                              |

Nu wil je je omdraaien en al die commando's uitvoeren... dus doe het als volgt:

select CONCAT("SELECT * FROM ", TABLE_NAME, " WHERE user_id=1;") FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME="user_id" INTO OUTFILE "some_file_path_and_name";

Dat geeft je een tekstbestand vol met alle commando's die je zoekt.

Bijwerken---

Ik heb de "Voor elk kolombit.." gemist.

select CONCAT("SELECT * FROM ", TABLE_NAME, " WHERE ", COLUMN_NAME, "='WHATEVER';") FROM INFORMATION_SCHEMA.COLUMNS WHERE COLLATION_NAME IS NOT NULL INTO OUTFILE 'somepath';

Hier gebruiken we het feit dat u zei dat u op zoek bent naar een tekenreeks, en dat alle velden van het tekenreekstype een sorteernaam hebben. Vervang WHATEVER door wat u zoekt.




  1. Hoe de datatypes van de resultaten van een SQL bepalen?

  2. externe phpmyadmin kan niet inloggen, maar mysql-client wel

  3. MySql #1243 fout tijdens het uitvoeren via phpMyAdmin

  4. Mysql-query werkt in phpmyadmin maar niet in php (vanwege de datum)