Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL इंडेक्स की सूची कैसे प्राप्त करें?


MySQL में इंडेक्स देखने के दो तरीके

विधि 1: SHOW INDEX (सिंगल टेबल के लिए)

mysql> SHOW INDEX FROM indexingdemo;

आउटपुट:

+--------------+------------+-----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
| Table        | Non_unique | Key_name  | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible |
+--------------+------------+-----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
| indexingdemo | 1          | indexName | 1            | Name        | A         | 0           | NULL     | NULL   | YES  | BTREE      |         |               | YES     |
+--------------+------------+-----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+

विधि 2: INFORMATION_SCHEMA.STATISTICS (सभी टेबल के लिए सूची)

SELECT DISTINCT TABLE_NAME, INDEX_NAME
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = 'yourDatabaseName';

उदाहरण: 'business' डेटाबेस

mysql> SELECT DISTINCT TABLE_NAME, INDEX_NAME
    -> FROM INFORMATION_SCHEMA.STATISTICS
    -> WHERE TABLE_SCHEMA = 'business';

नमूना आउटपुट (आंशिक):

+--------------------------+------------------+
| TABLE_NAME               | INDEX_NAME       |
+--------------------------+------------------+
| addcolumntable           | Name_Index       |
| addingautoincrement      | PRIMARY          |
| addingunique             | name             |
| autoincrement            | PRIMARY          |
| bookindexes              | BookName         |
| childdemo                | ConstChild       |
| clonestudent             | idIndex          |
| clonestudent             | NameStuIndex     |
| college                  | PRIMARY          |
| compositeprimarykey      | PRIMARY          |
| ...                      | ...              |
+--------------------------+------------------+

उपयोगी विविधताएं

केवल नॉन-यूनिक इंडेक्स

SELECT TABLE_NAME, INDEX_NAME, COLUMN_NAME, NON_UNIQUE
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = 'db_name' AND NON_UNIQUE = 1;

किसी विशिष्ट टेबल के सभी इंडेक्स विवरण

SELECT * FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = 'db_name' AND TABLE_NAME = 'table_name';

महत्वपूर्ण कॉलम

कॉलमअर्थ
NON_UNIQUE0 = यूनिक, 1 = नॉन-यूनिक
KEY_NAMEइंडेक्स नाम (PRIMARY प्राइमरी की के लिए)
SEQ_IN_INDEXइंडेक्स में कॉलम क्रम
COLUMN_NAMEइंडेक्स्ड कॉलम
CARDINALITYअनुमानित विशिष्ट मान
INDEX_TYPEBTREE, HASH, FULLTEXT, आदि
  1. - MySQL में इंडेक्स के साथ तालिका कैसे बनाएं?

    MySQL में तालिका निर्माण के बाद CREATE INDEX स्टेटमेंट का उपयोग करके इंडेक्स बनाए जा सकते हैं, या तालिका निर्माण के समय परिभाषित किए जा सकते हैं। विधि 1: तालिका निर्माण के बाद CREATE TABLE table_name ( col1 datatype, col2 datatype ); CREATE INDEX index_name1 ON table_name (col1); CREATE IN

  1. - MySQL में प्राइमरी की कैसे ड्रॉप करें?

    प्राइमरी की ड्रॉप करने के लिए, पहले ALTER का उपयोग करके टेबल को बदलें। इसके साथ, नीचे दिखाए अनुसार की ड्रॉप करने के लिए DROP का उपयोग करें: सिंटैक्स alter table yourTableName drop primary key; आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> StudentId int NOT NULL, -> S

  1. - MySQL में information_schema से कॉलम प्राइमरी की है या नहीं जांचें

    information_schema.COLUMNS टेबल से COLUMN_KEY = PRI जांचकर किसी टेबल के सभी कॉलम की प्राइमरी की स्थिति देख सकते हैं। टेबल बनाएं mysql> CREATE TABLE DemoTable1886 ( Id INT NOT NULL, FirstName VARCHAR(20), LastName VARCHAR(20), Age INT, DateOfBirth DATETIME, Education VARCH