I’ve created a new piece of code that allows people to grep through their database tables and fields. I regularily work on databases with more than 50 tables in the database. Each table has anywhere from two to twenty fields in them. To make things even more of a pain in the ass sometimes the fields are mispelled or do not match up.
As a result I created mysql_grep.php
. You can download it from my newly created source directory. Check back often for more code/utilities created by me. Below is an example use of mysql_grep.php
jstump@zebulon:~$ php -q bin/mysql_grep.php -d joestump_net -e photo The following fields match "photo" +-> photos_favorites +-> photoID +-> photos_images +-> photoID The following tables match "photo" +-> photos_albums +-> photos_favorites +-> photos_images
The code does not support connecting to hosts other than localhost
nor does it support changing sockets/ports. Furthermore, the code requires PEAR’s DB. And, finally, the expressions are passed directly to PHP’s ereg()
. This means you should be able to pass "^[A-Z]"
as an expression (remember to quote your complex expressions).
You can run PHP scripts just like perl or shellscripts. Put
#! /usr/bin/php -q
on the first line, and give the script execute permission (chmod +x mysql_grep.php on most GNU systems). Much easier.
Ian, you’re absolutely correct. One thing to note, though, is that the path to your CLI version of
php
might be different. Type “which php” to find the appropriate path first (most likely /usr/bin/php or /usr/local/bin/php).