Indonesia Website Awards
Indonesia Website Awards

What is INFORMATION SCHEMA database? INFORMATION_SCHEMA is a database contained in MySQL / MariaDB where it has provided access to the metadata database, all information about the MySQL / MariaDB Server such as database names, tables, columns, data types, access rights and so on are contained therein.

INFORMATION_SCHEMA is very useful for a developer, because with it we can find out many things we need to build or manage databases. Before I give an example of its use, here I am a list of the tables contained in the information schema. Use this query to display:

USE INFORMATION_SCHEMA;
SHOW TABLES;

the following list is displayed

 

 

Tables_in_information_schema
CHARACTER_SETS
COLLATIONS
COLLATION_CHARACTER_SET_APPLICABILITY
COLUMNS
COLUMN_PRIVILEGES
ENGINES
EVENTS
FILES
GLOBAL_STATUS
GLOBAL_VARIABLES
KEY_COLUMN_USAGE
OPTIMIZER_TRACE
PARAMETERS
PARTITIONS
PLUGINS
PROCESSLIST
PROFILING
REFERENTIAL_CONSTRAINTS
ROUTINES
SCHEMATA
SCHEMA_PRIVILEGES
SESSION_STATUS
SESSION_VARIABLES
SQL_FILTER_INFO
STATISTICS
TABLES
TABLESPACES
TABLE_CONSTRAINTS
TABLE_PRIVILEGES
TRIGGERS
USER_PRIVILEGES
VIEWS
INNODB_LOCKS
INNODB_TRX
INNODB_SYS_DATAFILES
INNODB_METRICS
INNODB_SYS_TABLESTATS
INNODB_CMP
METADATA_LOCK_INFO
INNODB_CMP_RESET
INNODB_CMP_PER_INDEX
INNODB_CMPMEM_RESET
INNODB_FT_DELETED
INNODB_BUFFER_PAGE_LRU
INNODB_LOCK_WAITS
INNODB_SYS_COLUMNS
INNODB_SYS_INDEXES
INNODB_FT_DEFAULT_STOPWORD
INNODB_SYS_FIELDS
INNODB_CMP_PER_INDEX_RESET
INNODB_BUFFER_PAGE
INNODB_CMPMEM
THREAD_GROUP_STATUS
INNODB_FT_BEING_DELETED
INNODB_SYS_TABLESPACES
INNODB_FT_INDEX_CACHE
INNODB_SYS_FOREIGN_COLS
INNODB_SYS_TABLES
INNODB_BUFFER_POOL_STATS
INNODB_FT_CONFIG
INNODB_SYS_FOREIGN
INNODB_FT_INDEX_TABLE

 

Also Read : Tips for Create MySQL/MariaDB User Database

 

Please explore each of the tables yourself because I haven’t explored the contents of each of these tables myself. There are several tables from INFORMATION_SCHEMA that I have used and the following are examples of utilizing INFORMATION_SCHEMA that I usually use:

 

# Looking for a column in any table in a database
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME = 'columnName' AND TABLE_SCHEMA = 'databaseName';

# Displays the user and their privileges
SELECT * FROM INFORMATION_SHCEMA.USER_PRIVILEGES;

# Viewing a list of procedures in a database
SELECT ROUTINE_NAME, ROUTINE_TYPE, ROUTINE_SCHEMA
FROM INFORMATION_SCHEMA.ROUTINES 
WHERE ROUTINE_TYPE = 'PROCEDURE' AND ROUTINE_SCHEMA = 'databaseName';

# Check Collation database
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'databaseName';

# Check the collation of all tables in a database
SELECT TABLE_NAME, TABLE_COLLATION FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'databaseName';
# Check Column collation based on table
SELECT TABLE_NAME, COLUMN_NAME, CHARACTER_SET_NAME, COLLATION_NAME
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = 'tableName'
AND TABLE_SCHEMA = 'databaseName';

 

Yes, that’s what I know about what the INFORMATION SCHEMA database is and how it’s used, that’s all the information I can provide and hopefully it’s useful. Thank you ^^.

SOURCE:

Chapter 1 INFORMATION_SCHEMA Tables

Categories: Database

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *