当前位置:网站首页>MySQL 字符串拼接 - 多种字符串拼接实战案例
MySQL 字符串拼接 - 多种字符串拼接实战案例
2022-07-30 04:15:00 【m0_67403013】
本文首发:MySQL 字符串拼接 - 多种字符串拼接实战案例 - 卡拉云
MySQL 字符串拼接可以使多个字段的值组成一个集合,不仅可以拼接字符串与字符串、空格、特殊符号甚至可以拼接中文文本,方便我们在不同场景下应用。
本教详细讲解 CONCAT() 和它的扩展形式 CONCAT_WS() 在字符串拼接的实战场景中的应用。如果你的应用场景需要周期性重复展示,推荐使用卡拉云将你的代码工具化,详情见本文文末。
MySQL 字符串拼接目录
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 文件
)
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- Pytorch framework learning record 1 - Dataset class code combat
- mysql 结构、索引详解
- Forum management system
- The leap second that may cause the next "Millennium Bug" is boycotted by tech giants
- Redis "super explanation!!!!!!"
- Atomic Guarantees of Redis Distributed Locks
- ospf 综合实验(重发布,特殊区域)
- ospf 导图
- (redistribute, special comprehensive experiment ospf area)
- 数组和结构体
猜你喜欢

When the EasyNVR platform is cascaded to the EasyCVR, why can't the video be played after a while?

Mini Program Graduation Works WeChat Points Mall Mini Program Graduation Design Finished Products (1) Development Overview

Usage of exists in sql

Unity3D Application模拟进入前后台及暂停

Atomic Guarantees of Redis Distributed Locks

Forum management system

逆向分析实战2

国内首家沉浸式高逼真元宇宙,希元宇宙正式上线

Hongji was once again shortlisted in the Gartner 2022 RPA Magic Quadrant and achieved a significant jump in position

SQL introduction of the first lecture -- MySQL 8.0.29 installation tutorial (Windows 64 - bit)
随机推荐
2022.7.29-----leetcode.593
flutter 记录学习不一样的动画(一)
Azure 开发者新闻快讯丨开发者7月大事记一览
SQL Server data type conversion function cast () and convert () explanation
为什么突然间麒麟 9000 5G 版本,又有库存了?
Pytorch framework learning record 4 - the use of datasets (torchvision.dataset)
Pytorch框架学习记录5——DataLoader的使用
Pytorch framework learning record 3 - the use of Transform
sublime text 3 settings
Taobao/Tmall get Taobao store details API
RRU、BBU、AAU
Atomic Guarantees of Redis Distributed Locks
Data Lake: Data Integration Tool DataX
Redis【超详解!!!】
Mysql version upgrade, copy the Data file directly, the query is very slow
CMake installation and testing
redis分布式锁的原子保证
[Switch] Protocol-Oriented Programming in Swift: Introduction
Anti-shake and throttling
(redistribute, special comprehensive experiment ospf area)