MySQL - 顯示列:初學者指南

你好,有志於數據庫的愛好者們!今天,我們將深入MySQL的奇妙世界,探索一個非常有用的工具——“Show Columns”。別擔心如果你之前從未寫過一行代碼——我將成為你這次旅程中的友好導遊,我們將一步步來學習。

MySQL - Show Columns

MySQL Show Columns 語句

讓我們從基礎開始。想像你有一個大文件櫃(那就是你的數據庫),裡面有不同的抽屜(表)。有時候,你會想知道每個抽屜能夠存放什麼樣的信息。這就是SHOW COLUMNS語句派上用場的時候!

基本語法如下:

SHOW COLUMNS FROM table_name;

假設我們有一個名為students的表。為了查看它有哪些列,我們會這樣寫:

SHOW COLUMNS FROM students;

這可能會返回如下內容:

+-----------+--------------+------+-----+---------+----------------+
| Field     | Type         | Null | Key | Default | Extra          |
+-----------+--------------+------+-----+---------+----------------+
| id        | int          | NO   | PRI | NULL    | auto_increment |
| name      | varchar(50)  | YES  |     | NULL    |                |
| age       | int          | YES  |     | NULL    |                |
| grade     | varchar(2)   | YES  |     | NULL    |                |
+-----------+--------------+------+-----+---------+----------------+

這告訴我們,我們的students表有四個列:id,name,age和grade。它還告訴我們每個列的數據類型,是否可以是null,是否為鍵,以及任何默認值或額外屬性。

LIKE 子句

現在,如果你有一個具有很多列的表,但你只對以特定字母開頭的列感興趣,那麼LIKE子句就派上用場了!

SHOW COLUMNS FROM table_name LIKE 'pattern';

例如,如果我們想查看我們students表中所有以'a'開頭的列,我們會這樣寫:

SHOW COLUMNS FROM students LIKE 'a%';

這可能會返回:

+-------+------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+------+------+-----+---------+-------+
| age   | int  | YES  |     | NULL    |       |
+-------+------+------+-----+---------+-------+

'%'是一個萬用字符,匹配任何字符序列。所以'a%'意味著“以'a'開頭,後面可以有任何字符”。

WHERE 子句

WHERE子句讓我們基於特定條件過濾我們的結果。這就像告訴你的文件櫃,“我只想要符合這些條件的抽屜。”

SHOW COLUMNS FROM table_name WHERE condition;

例如,如果我們想查看我們students表中所有整數類型的列:

SHOW COLUMNS FROM students WHERE Type LIKE 'int%';

這會給我們:

+-------+------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra          |
+-------+------+------+-----+---------+----------------+
| id    | int  | NO   | PRI | NULL    | auto_increment |
| age   | int  | YES  |     | NULL    |                |
+-------+------+------+-----+---------+----------------+

FULL 子句

有時候,你想要關於你的列的所有信息。這時FULL子句就派上用場了。這就像要求你的文件櫃透露所有的秘密!

SHOW FULL COLUMNS FROM table_name;

使用我們的students表:

SHOW FULL COLUMNS FROM students;

這可能會返回:

+-----------+--------------+-----------------+------+-----+---------+----------------+---------------------------------+---------+
| Field     | Type         | Collation       | Null | Key | Default | Extra          | Privileges                      | Comment |
+-----------+--------------+-----------------+------+-----+---------+----------------+---------------------------------+---------+
| id        | int          | NULL            | NO   | PRI | NULL    | auto_increment | select,insert,update,references |         |
| name      | varchar(50)  | utf8_general_ci | YES  |     | NULL    |                | select,insert,update,references |         |
| age       | int          | NULL            | YES  |     | NULL    |                | select,insert,update,references |         |
| grade     | varchar(2)   | utf8_general_ci | YES  |     | NULL    |                | select,insert,update,references |         |
+-----------+--------------+-----------------+------+-----+---------+----------------+---------------------------------+---------+

這給我們提供了更多的信息,比如校對(數據是如何排序的)和權限。

使用客戶端程序顯示表的列

現在,讓我們來談論在現實生活中如何使用這些命令。大多數時間,你會使用客戶端程序與你的MySQL數據庫交互。這可能是MySQL命令行客戶端,phpMyAdmin,或者許多GUI工具之一。

在MySQL命令行客戶端中,你只需直接輸入我們上面寫的這些命令。在GUI工具中,你可能會有一個“Query”窗口,你可以在那裡輸入這些命令。

下面是一個總結我們學到的不同SHOW COLUMNS命令的表格:

命令 描述 示例
SHOW COLUMNS 顯示列的基本信息 SHOW COLUMNS FROM students;
SHOW COLUMNS LIKE 根據模式過濾列 SHOW COLUMNS FROM students LIKE 'a%';
SHOW COLUMNS WHERE 根據條件過濾列 SHOW COLUMNS FROM students WHERE Type LIKE 'int%';
SHOW FULL COLUMNS 顯示列的详细信息 SHOW FULL COLUMNS FROM students;

記住,熟能生巧!不要害怕在你自己創建的表上嘗試這些命令。你使用得越多,就越會感到熟悉。

那麼,這就是全部內容了!你現在已經擁有了探索MySQL表結構的知識,就像專業人士一樣。下次當你面對一個神秘的數據庫時,你就會知道如何窺探其內容,看看它包含了哪些寶貴的財富。祝你查詢愉快!

Credits: Image by storyset