MySQL Metadata,mysqlmetadata
http://www.devart.com/dotconnect/mysql/docs/MetaData.html
In this overload first parameter is name of a collection, and second parameter is the array of restrictions to be applied when querying information. These restrictions specify which subset of the collection will be returned. The restrictions can include, for example, the database name (in this case, only collection elements belonging to this database will be returned) or the mask for the name of collection elements (only the elements satisfying this mask will be returned). The quantity and description of restrictions allowed for each metadata collection are represented in the table here. Their number can also be obtained from the return of the GetSchema() method. If the second parameter is null/Nothing, it is ignored.
Instead of specifying
the metadata collection name as a string constant, you may use members of
System.Data.DbMetaDataCollectionNames and Devart.Data.MySql.MySqlMetadataCollectionNames
as the first GetSchema argument values. The members of these classes are the
string fields, each field stores the corresponding metadata collection name. It
is recommended to use these fields rather than manually input the collection
names manually as the string constants because in case of using these fields,
you will find misspellings at compile-time, and intellisense will show you all
the available metadata collection names.
GetSchema Method Reference
The
following table provides detailed information on metadata collections that can
be retrieved using the GetSchema method, and restrictions that can be applied
for them. If the restriction name is not specified, a default value is used. For
example, the default values for the database, table, and collection element name
restrictions are "mysql", "user", and "%" accordingly. Note that the Database
property of the connection string does not affect the GetSchema method, and the
database restriction should be specified any time you are interested in some
database other than "mysql". Some collections may be not supported in older
server versions. If you try to get metadata for unsupported collection you will
get exception with message "Collection not defined".
Collection Name | Number of restrictions | Remarks |
Arguments
2
Returns list of arguments for stored procedures and
functions on the server.
Restrict it by database name and procedure
name.
Columns
3
Returns list of columns, their type and some extra
information.
GetSchema("Columns") returns list of columns in the table "user"
in database "mysql".
Restricted by database name, GetSchema returns columns
of table "user" if it can be found in the database.
The second restriction
is name of a table that GetSchema method should search in.
At last, you can
set column name pattern as described in "Tables" collection.
Databases
1
Lists all databases on the server.
When restricted by
name mask, returns all databases that match the mask.
DatasourceInformation
0
Returns information about the data source.
DataTypes
0
Returns information about data types supported by the data
source.
ForeignKeys
3
Returns list of foreign keys in the database.
The first
restriction for this collection is name of a database.
The second
restriction is table name mask.
The third restriction is the key pattern.
ForeignKeyColumns
2
Returns list of columns used by foreign keys in the
database.
Restrict it with database name and table name.
Functions
2
Returns list of stored functions on the
server.
Restrict it by database name and function name.
IndexColumns
4
Returns list of indexed columns in the database, their
type and some extra information.
Restrict it with database name, table name,
index name pattern, and column name pattern.
Indexes
3
Returns list of indexes and their details.
The first
restriction is database name
The second restriction is table name
The
last restriction is the index name pattern.
MetaDataCollections
0
Returns this list. Same as using GetSchema() method
without parameters.
PrimaryKeys
2
Returns list of columns that participate in primary
keys.
The first restriction for this collection is name of a database.
The second restriction is table name.
The last restriction is the key
name pattern.
Procedures
2
Returns list of stored procedures on the
server.
Restrict it by database name and procedure name.
ReservedWords
0
Lists all reserved words used in the server.
Restrictions
0
Returns list of possible restrictions and their default
values for the metadata collections.
Tables
2
GetSchema("Tables") returns list of tables in "mysql"
database.
The first restriction for this collection is name of a database. If
specified, the method returns all tables within the database.
The second
restriction is table name mask. You can use wildcards '%' (any number of
characters) and '_' (one character) to retrieve names of tables that match the
mask.
Triggers
2
Returns list of triggers in a database.
The first
restriction for this collection is database name pattern.
The second
restriction is trigger name pattern.
UDFs
1
Returns information about user-defined functions on the
server.
You can specify name of the function as restriction.
UniqueKeys
2
Returns list of columns that participate in unique
keys.
The first restriction for this collection is name of a database.
The second restriction is table name.
The last restriction is the key
name pattern.
UserPrivileges
1
Lists all users and their privileges on the
server.
When restricted by username, returns information about specific
user.
Users
1
Lists all users on the server.
When restricted by
username, returns information about specific user.
ViewColumns
3
Returns list of columns used by views in the
database.
Restrict it with database name, table name and column
name.
Views
2
GetSchema("Views") returns list of views in "mysql"
database.
The first restriction for this collection is name of a database.
The second restriction is view name mask.