Skip to content

Database Enumeration

INFORMATION_SCHEMA Tables

c
mysql> **`SELECT table_name, table_type, engine`**
    -> **`FROM information_schema.tables`**
    -> **`WHERE table_schema = 'db5'`**
    -> **`ORDER BY table_name DESC;`**
+------------+------------+--------+
| table_name | table_type | engine |
+------------+------------+--------+
| v56        | VIEW       | NULL   |
| v3         | VIEW       | NULL   |
| v2         | VIEW       | NULL   |
| v          | VIEW       | NULL   |
| tables     | BASE TABLE | MyISAM |
| t7         | BASE TABLE | MyISAM |
| t3         | BASE TABLE | MyISAM |
| t2         | BASE TABLE | MyISAM |
| t          | BASE TABLE | MyISAM |
| pk         | BASE TABLE | InnoDB |
| loop       | BASE TABLE | MyISAM |
| kurs       | BASE TABLE | MyISAM |
| k          | BASE TABLE | MyISAM |
| into       | BASE TABLE | MyISAM |
| goto       | BASE TABLE | MyISAM |
| fk2        | BASE TABLE | InnoDB |
| fk         | BASE TABLE | InnoDB |
+------------+------------+--------+
17 rows in set (0.01 sec)

The INFORMATION_SCHEMA SCHEMATA Table

c
SELECT SCHEMA_NAME AS `Database`
  FROM INFORMATION_SCHEMA.SCHEMATA
  [WHERE SCHEMA_NAME LIKE '_`wild`_']

SHOW DATABASES
  [LIKE '_`wild`_']

The INFORMATION_SCHEMA TABLES Table

c
SELECT table_name FROM INFORMATION_SCHEMA.TABLES
  WHERE table_schema = '_`db_name`_'
  [AND table_name LIKE '_`wild`_']

SHOW TABLES
  FROM _`db_name`_
  [LIKE '_`wild`_']

The INFORMATION_SCHEMA COLUMNS Table

c
SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT
  FROM INFORMATION_SCHEMA.COLUMNS
  WHERE table_name = '_`tbl_name`_'
  [AND table_schema = '_`db_name`_']
  [AND column_name LIKE '_`wild`_']

SHOW COLUMNS
  FROM _`tbl_name`_
  [FROM _`db_name`_]
  [LIKE '_`wild`_']

The INFORMATION_SCHEMA STATISTICS Table

c
SELECT * FROM INFORMATION_SCHEMA.STATISTICS
  WHERE table_name = '_`tbl_name`_'
  AND table_schema = '_`db_name`_'

SHOW INDEX
  FROM _`tbl_name`_
  FROM _`db_name`_

The INFORMATION_SCHEMA USER_PRIVILEGES Table

c
SELECT USER()
SELECT CURRENT_USER()
SELECT user from mysql.user

The INFORMATION_SCHEMA TABLE_PRIVILEGES Table

c
SELECT ... FROM INFORMATION_SCHEMA.TABLE_PRIVILEGES

SHOW GRANTS ...

The INFORMATION_SCHEMA COLUMN_PRIVILEGES Table

c
SELECT ... FROM INFORMATION_SCHEMA.COLUMN_PRIVILEGES

SHOW GRANTS ...

The INFORMATION_SCHEMA CHARACTER_SETS Table

c
SELECT * FROM INFORMATION_SCHEMA.CHARACTER_SETS
  [WHERE CHARACTER_SET_NAME LIKE '_`wild`_']

SHOW CHARACTER SET
  [LIKE '_`wild`_']

The INFORMATION_SCHEMA COLLATIONS Table

c
SELECT COLLATION_NAME FROM INFORMATION_SCHEMA.COLLATIONS
  [WHERE COLLATION_NAME LIKE '_`wild`_']

SHOW COLLATION
  [LIKE '_`wild`_']