9.13 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.
|
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 ( ));
|