Getting Server Metadata
9.13.1 Problem
You want to the MySQL server to tell you about itself.
9.13.2 Solution
Several SELECT and SHOW statements return information about the server.
9.13.3 Discussion
MySQL offers several SQL statements that provide you with information about the server itself and about your current client connection. A few that you may find useful are listed here. To obtain the information provided by any of them, issue the query, then process the result set to retrieve the query output. Both SHOW statements allow a LIKE 'pattern' clause for limiting the results only to those rows matching the pattern.
Statement |
Information produced by statement |
---|---|
SELECT VERSION( ) |
Server version string |
SELECT DATABASE( ) |
Current database name (empty if none) |
SELECT USER( ) |
Current username |
SHOW STATUS |
Server status indicators |
SHOW VARIABLES |
Server configuration variables |
These queries are all MySQL-specific. If you're working in Java, JDBC provides several database-independent methods for obtaining server metadata, some of which provide the same information as some of the preceding statements. Use your connection object to obtain the database metadata, then invoke the appropriate methods to get the information in which you're interested. You should consult a JDBC reference for a complete list, but here are a few representative examples:
DatabaseMetaData md = conn.getMetaData ( );
// can also get this with SELECT VERSION( )
System.out.println ("Product version: " + md.getDatabaseProductVersion ( ));
// this is similar to SELECT USER( ) but doesn't include the hostname
System.out.println ("Username: " + md.getUserName ( ));
Категории