Apa itu INFORMATION SCHEMA database? INFORMATION_SCHEMA adalah database yang terdapat di MySQL/MariaDB dimana didalamnya telah disediakan akses ke database metadata, semua informasi tentang Server MySQL/MariaDB seperti nama database, tabel, kolom, tipe data, hak akses dan lain sebagainya terdapat didalamnya.
INFORMATION_SCHEMA ini sangatlah berguna bagi seorang developer, karena dengannya kita bisa mencari tau banyak hal yang kita butuhkan untuk membangun ataupun memanagemen database. Sebelum Saya berikan contoh pemanfaatannya, berikut Saya adalah list table yang terdapat di information schema. Gunakan query ini untuk menampilkan :
USE INFORMATION_SCHEMA; SHOW TABLES;
berikut list yang ditampilkan
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 |
Baca Juga : Tips Membuat User Database MySQL/MariaDB
Silahkan kalian explore sendiri setiap masing masing tabelnya karena Saya sendiri pun belum mengexplore isi dari masing – masing tabel tersebut. Ada beberapa tabel dari INFORMATION_SCHEMA yang sudah pernah Saya gunakan dan berikut contoh pemanfaatan INFORMATION_SCHEMA yang biasa saya gunakan :
#Mencari kolom ada di tabel apa saja pada suatu database SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = 'namaKolom' AND TABLE_SCHEMA = 'namaDatabase'; #Menampilkan user beserta privileges nya SELECT * FROM INFORMATION_SHCEMA.USER_PRIVILEGES; #Melihat list Procedure pada suatu database SELECT ROUTINE_NAME, ROUTINE_TYPE, ROUTINE_SCHEMA FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE' AND ROUTINE_SCHEMA = 'namaDatabase'; #Cek Collation database SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'namaDatabase'; #Cek Collation semua tabel di suatu database SELECT TABLE_NAME, TABLE_COLLATION FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'namaDatabase'; #Cek Collation kolom berdasarkan tabel SELECT TABLE_NAME, COLUMN_NAME, CHARACTER_SET_NAME, COLLATION_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'namaTabel' AND TABLE_SCHEMA = 'namaDatabase';
Ya itu lah yang Saya tahu mengenai apa itu INFORMATION SCHEMA database dan bagai mana pemanfaatannya, sekian informasi yang bisa Saya berikan dan semoga bermanfaat. Terima kasih ^^.
SUMBER :