MySQL 字符串拼接 - 多种字符串拼接实战案例
本文首發:MySQL 字符串拼接 - 多種字符串拼接實戰案例 - 卡拉云
MySQL 字符串拼接可以使多個字段的值組成一個集合,不僅可以拼接字符串與字符串、空格、特殊符號甚至可以拼接中文文本,方便我們在不同場景下應用。
本教詳細講解 CONCAT() 和它的擴展形式 CONCAT_WS() 在字符串拼接的實戰場景中的應用。如果你的應用場景需要周期性重復展示,推薦使用卡拉云將你的代碼工具化,詳情見本文文末。
MySQL 字符串拼接目錄
- 1.`CONCAT()` 拼接字符串基本型
- 2.使用空格拼接字符串
- 3.使用特殊符號拼接字符串
- 4.在篩選查詢中進行字符串拼接并顯示在表格里
- 5.字符串與中文文本的拼接
- 6.`CONCAT_WS()` 僅需寫一次分隔符即可拼接所有字符串
- 7.總結
1.CONCAT() 拼接字符串基本型
MariaDB [kalacloud_demo]> select * from kalacloud_student; +----+-----------+----------+------------+-------------+---------+---------------+ | id | lastname | firstname | phone | wechat_id | subject | qualification | +----+-----------+----------+------------+-------------+---------+---------------+ | 1 | 宋 | 阿美 | 1317777777 | songamei | 文學 | MPhil | | 2 | 呂 | 小果 | 1317787879 | lvxiaoguo | 藝術 | MPhil | | 3 | 謝 | 國慶 | 1398678999 | xieguoqing | 數學 | PHD | | 4 | 蔣 | 鐵柱 | 1379999999 | jiangtiezhu | 神學 | HS | +----+-----------+----------+------------+-------------+---------+---------------+ 4 rows in set (0.002 sec)本教程使用一組存在「kalacloud_student」表中的學生信息,講解拼接字符串的各種應用場景以及對應的變形,你可以打開你的 MySQL 數據庫,跟著本教程一起練習。
SELECT CONCAT ( lastname , firstname) AS student_name FROM kalacloud_student;CONCAT()拼接基本形式,我們使用 SELECT CONCAT() 對兩列字符串進行拼接,并生成一個臨時表 student_name,運行返回值:
擴展閱讀:《MySQL 替換指定字段中的部分字符串 - REPLACE() 應用詳解》
2.使用空格拼接字符串
使用空格拼接學生的名字和它的學科,老師方便在篩選時查看。
仍然使用 SELECT CONCAT() 命令,空格需要使用' ' 兩個單引號引起來。
SELECT CONCAT(firstname, ' ', Subject) AS StudentDetail FROM kalacloud_student;返回值:
擴展閱讀:《詳解 MySQL / MariaDB 中如何使用單引號、雙引號和反引號》
3.使用特殊符號拼接字符串
老師需要將學生名字,學科以及學歷匯集到一起,使用分隔符連接。在字符串拼接中,對特殊符號的處理與空格相同,只需要使用' 單引號引起即可。本案例中,使用兩個相同的分隔符,這種重復連接的情景可以集合起來寫一次,方法詳見本文第 6 節
SELECT CONCAT(firstname, '-', subject, '-', qualification) AS Detail FROM kalacloud_student;返回值:
擴展閱讀:《如何在 MySQL 中查找和刪除重復記錄? - 4 種 MySQL 數據去重法》
4.在篩選查詢中進行字符串拼接并顯示在表格里
有時,我們需要拼接的返回值放在表格中與其他信息一起顯示。
比如招生老師想把候選人的「學歷」「姓名」「學科」單獨提出來,篩選出研究生學歷的候選人,并顯示他們的聯系方式:
SELECT CONCAT(qualification, ' ', firstname, ' - ', subject) AS 候選人資料, wechat_id, phone FROM kalacloud_student WHERE qualification = 'MPhil';在使用 CONCAT() 拼接信息的同時,使用 WHERE 篩選出研究生學歷(MPhil)的候選人
擴展閱讀:《如何在 MySQL 中導出查詢結果數據到文件》
5.字符串與中文文本的拼接
我們要把需要拼接的字符串前面加上文字說明,幫助候選人制作一份簡單的簡歷。
在數據庫中提取的字符串值,與需要添加的中文說明拼接在一起,并且按照學歷從高到低排序:
SELECT CONCAT('候選人:', lastname,firstname, ' 學科:',subject,' 學歷:', qualification) AS 簡歷 FROM kalacloud_student ORDER BY qualification DESC;返回值:
擴展閱讀:《MySQL 重置自增 ID 教程 - 完美保留表數據的終極解決方案》
6.CONCAT_WS() 僅需寫一次分隔符即可拼接所有字符串
CONCAT_WS()是 CONCAT With Separator 的縮寫,它是 CONCAT() 的擴展形式。當我們需要拼接的字符串之間的分隔符相同時,可以使用 CONCAT_WS() ,僅需寫一次,即可在所有字符串之間使用相同分隔符進行拼接。
SELECT CONCAT_WS(' / ', firstname, phone, subject, qualification) AS Detail FROM kalacloud_student;返回值:
擴展閱讀:《最好用的 10 款 MySQL GUI 管理工具橫向測評》
7.總結
CONCAT() 字符串拼接功能在日常工作場景中使用非常頻繁,但它的原理很好理解。任何非數據庫中的字符串都加上' 單引號引起來即可。
字符串拼接的場景中,有時是用來展示周期性信息,這種重復的使用場景,完全不需要來回貼代碼。推薦使用卡拉云。
卡拉云是新一代低代碼開發工具,免安裝部署,可一鍵接入包括 MySQL 在內的常見數據庫及 RESTful API。可根據自己的工作流,定制開發。無需繁瑣的前端開發,只需要簡單拖拽,即可快速搭建企業內部工具。數月的開發工作量,使用卡拉云后可縮減至數天,歡迎免費試用卡拉云。
上圖為使用卡拉云在 5 分鐘內搭建的「用戶認證系統」后臺,僅需要簡單拖拽即可快速生成前端組件,只要會寫 SQL,便可搭建一套趁手的數據庫工具。
更多數據庫相關教程可訪問 卡拉云 查看。
擴展閱讀:
- MySQL 時間戳用什么類型 - MySQL 時間函數詳解
- 最好用的七大頂級 API 接口測試工具
- 最好用的 5 款 React 富文本編輯器
- 如何在 MySQL / MariaDB 中跳過多張表導出或指定多張表導出備份
- 如何將 MySQL / MariaDB 的查詢結果保存到文件
- 如何在 MySQL 中導入和導出 CSV / Excel 文件
總結
以上是生活随笔為你收集整理的MySQL 字符串拼接 - 多种字符串拼接实战案例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一些神级工具与网址
- 下一篇: sql 查看Oralce 数据库连接状态