翻譯|使用教程|編輯:吳園園|2020-03-31 11:40:41.430|閱讀 1035 次
概述:過排除而不是包含進(jìn)行選擇另一行的兩種方法。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Navicat for MySQL是一套管理和開發(fā) MySQL 或 MariaDB 的理想解決方案。使用Navicat for MySQL可以同時(shí)連接到 MySQL 和 MariaDB。Navicat for MySQL提供了強(qiáng)大的前端功能,為數(shù)據(jù)庫管理、開發(fā)和維護(hù)提供了直觀的圖形界面。對(duì)新手和專業(yè)人士來說,Navicat for MySQL都是管理和開發(fā) MySQL 或 MariaDB的強(qiáng)大工具。
點(diǎn)擊下載Navicat for MySQL最新試用版
SQL通過SELECT *(SELECT ALL)子句使選擇表中的所有字段變得非常簡單。不幸的是,一旦您從列表中省略了一列,SELECT ALL語句就會(huì)消失。寫出每個(gè)列的名稱很快就會(huì)變得乏味,尤其是當(dāng)您碰巧要處理包含數(shù)十個(gè)列的表時(shí)。如果我們可以選擇除一列之外的每一列怎么辦-通過排除而不是包含進(jìn)行選擇?可以辦到。實(shí)際上,有兩種方法可以做到這一點(diǎn)-一種簡單,另一種難一點(diǎn)。這些將是今天文章的重點(diǎn)。
方法1:使用INFORMATION_SCHEMA.COLUMNS表
INFORMATION_SCHEMA提供對(duì)數(shù)據(jù)庫元數(shù)據(jù)的訪問,有關(guān)MySQL服務(wù)器的信息,例如數(shù)據(jù)庫或表的名稱,列的數(shù)據(jù)類型或訪問權(quán)限。更具體地說,COLUMNS表提供有關(guān)表中列的信息,包括列名。
這是我們使用INFORMATION_SCHEMA.COLUMNS表來獲取除original_language_id列以外的所有列的方式:
GROUP_CONCAT函數(shù)將所有列名稱連接為單個(gè)逗號(hào)分隔的字符串。然后,我們可以將字段替換為空字符串!
執(zhí)行查詢
要克服的一個(gè)小障礙是MySQL查詢不能接受動(dòng)態(tài)列名。解決方案是采用準(zhǔn)備好的聲明。
在查詢中插入列,表和模式信息會(huì)產(chǎn)生我們想要的結(jié)果:
Navicat等數(shù)據(jù)庫開發(fā)和管理工具的主要目標(biāo)是提高生產(chǎn)力。因此,Navicat旨在使您的工作盡可能快速和輕松。為此,借助“代碼完成”和可自定義的代碼段,SQL編輯器可幫助您更快地編寫代碼,這些代碼段可為關(guān)鍵字提供建議,并消除重復(fù)代碼。如果這還不夠的話,Navicat還提供了一個(gè)稱為Query Builder的有用工具來可視化地構(gòu)建查詢。它使您僅使用SQL的一點(diǎn)點(diǎn)知識(shí)就可以創(chuàng)建和編輯查詢。雖然Query Builder主要銷售給更多的新手程序員,但是精通SQL的人仍然可以從Query Builder中完成某些任務(wù)。這樣的任務(wù)之一就是選擇列。
在查詢生成器中,表名稱旁邊有一個(gè)復(fù)選框,用于選擇其所有列。如果單擊它,則可以簡單地取消選中original_language_id字段以將其從列列表中刪除:
單擊確定按鈕,然后關(guān)閉對(duì)話框并將SQL代碼添加到編輯器中:
與手工編寫代碼相比,使用查詢生成器創(chuàng)建查詢具有一些優(yōu)勢:
在今天的博客中,我們學(xué)習(xí)了幾種技術(shù)來選擇表中的每一列,但只能選擇一兩個(gè)。
有興趣進(jìn)一步了解Navicat for MySQL嗎?您可以免費(fèi)試用 14天,以進(jìn)行評(píng)估!
如果您想購買Navicat for MySQL的正版授權(quán),歡迎。本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: