Database Searcher is like a search engine for your database. It will search all columns for all tables over multiple databases. It will return a summary of matches, the generated SQL and the detailed matches per table. It will also search the schema by the table names or column names. Database Searcher supports Firebird, MS Access, MySQL, Oracle, PostgreSQL, SqLite, SQL Server, VistaDB Version 5 and VistaDB Version 6.
Plus Button
Click the button with the plus symbol to add a connection.
Delete Button
Click the button with the red X to delete a connection.
Search Term
Enter the text, integer, real number, or date to search by. When entering text, you can specify partial matches using the % character.
Example: John% will match John, Johnson, Johns
Example: %John% will match St. John, John, Johnson, Johns
Example: %John will match St. John and John but not Johnson or Johns
When searching for a phone number or postal code, make sure to click the Force String Search
To Search Term
When searching for an integer, real number, or a date this is the end of the range. Example, enter 1000.00 to 999999.99 and a Match Table Name of Orders to search for orders with more than 1000.
From Date & To Date
Standard database practice is to have Create Dates and Update Dates in tables. Records that fall within this date range will be matched.
Primary Key Search
When checked only columns defined as the primary key will be searched. This is useful when you know the primary key value but cannot figure out what table it is.
Force String Search
When searching for things that are most likely stored as a text in the database click this option. A rule of thumb that database administrators use is that if the number can be added, store it as a number otherwise store it as text. In other words, you normally would not add two phone numbers together so it is most likely stored in the database as text. This would apply to fields like postal codes, social security numbers, phone numbers, etc.
Schema Search
This is useful for understanding your database table names and column names. It is also useful for figuring out where all the phone numbers are stored. Example: %phone%
Ignore Max Table Rows
When a table has more records than the value entered it will not be searched at all. The default is ten million which will typically time out searching on a table this large.
Top Result
By default a maximum of 100 matches will be returned per table.
Max Column Length
When searching on text fields it will skip fields longer than a default of 8000 characters.
Match Table Names
This is a comma delimited list of tables to match. If blank it will search all tables. Example using partial matching and multiple tables:
%Customer%,%Invoice%,%Order%
Exclude Table Names
This is useful for excluding large log tables that are less than the Ignore Max Table Rows.
Example: %log%
Match Column Names
If you know the name of the column you are matching enter it here. For example, trying to match all id fields
Example: Id,%_id,%guid
Databases
This is a list of database on the server. If the database is specified in the connection it will be automatically selected.
The first tab will have the summary of matches with the generated SQL. When matching data there will be a tab for each table.
Copy SQL to Clipboard
This will copy all the SQL statements that returned matches.
Export to SQL
This will export the matches summary and the matched results for each table.
Clear Schema Cache
The schema is saved locally to speed up searches. By default it is cleared daily on the first run. Clicking the clear cache will allow searches on tables or columns that were added during the day.
Reset to Defaults
This will clear the cache, all settings, and connection strings and reset the advanced options to the default.
Cancel
Stops the Search after the current table has finished searching