您好,登錄后才能下訂單哦!
怎么選擇MySQL中除一列外的所有列,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
SQL通過SELECT *(SELECT ALL)子句使選擇表中的所有字段變得非常簡單。不幸的是,一旦您從列表中刪除了一列,SELECT ALL語句就會消失。寫出每個列的名稱很快就會變得乏味,尤其是當您碰巧要處理包含許多列的表時。如果我們可以選擇除一列之外的每一列——通過排除而不是包含進行選擇,那會怎么樣呢?可以辦到。實際上,有兩種方法可以做到這一點——一種簡單,另一種稍微簡單一些。
下面將詳細介紹兩種方法:
方法1:使用INFORMATION_SCHEMA.COLUMNS表
INFORMATION_SCHEMA提供對數據庫元數據、有關MySQL服務器的信息(例如數據庫或表的名稱、列的數據類型或訪問權限)的訪問。更具體地說,COLUMNS表提供有關表中列的信息,包括列名。
Sakila示例數據庫的film表中包含的列數最多為13。
這是我們使用INFORMATION_SCHEMA.COLUMNS表來獲取除original_language_id列以外的所有列的方式:
GROUP_CONCAT函數將所有列名稱連接到一個逗號分隔的字符串中。然后,我們可以將字段替換為空字符串!
執行查詢
要克服的一個小障礙是MySQL查詢不能接受動態列名。解決方案是采用準備好的聲明。下面是設置@sql變量、準備語句并執行的代碼:
在查詢中插入列、表和模式信息會產生我們想要的結果:
方法2:使用Navicat
Navicat等數據庫開發和管理工具的主要目標是提高生產力。因此,Navicat旨在使您的工作盡可能快速和輕松。為此,借助“代碼完成”和可自定義的代碼段,SQL編輯器可幫助您更快地編寫代碼,這些代碼段可為關鍵字提供建議,并消除重復代碼。如果這還不夠的話,Navicat還提供了一個稱為Query Builder的有用工具來可視化地構建查詢。它使您僅使用SQL的一點點知識就可以創建和編輯查詢。雖然Query Builder主要銷售給更多的新手程序員,但是精通SQL的人仍然可以從Query Builder中完成某些任務。這樣的任務之一就是選擇列。
在查詢生成器中,表名稱旁邊有一個復選框,用于選擇其所有列。如果單擊它,則可以簡單地取消選中original_language_id字段以將其從列列表中刪除:
單擊確定按鈕,然后關閉對話框并將SQL代碼添加到編輯器中:
與手工編寫代碼相比,使用查詢生成器創建查詢具有一些優勢:
它最大程度地減少輸入錯誤
它生成易于閱讀的格式化SQL
看完上述內容,你們掌握怎么選擇MySQL中除一列外的所有列的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。