当前位置:网站首页>MySQL String Concatenation - Various String Concatenation Practical Cases
MySQL String Concatenation - Various String Concatenation Practical Cases
2022-07-30 04:19: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 to study record 6 - the torch. Nn. The Module and the torch nn. Functional. The use of conv2d
- 数组和结构体
- Pytorch框架学习记录1——Dataset类代码实战
- state space representation
- SQLSERVER merges subquery data into one field
- Based on all volunteers - H and D1 XR806 rare plant monitoring device
- ospf 综合实验(重发布,特殊区域)
- 【翻译】Envoy Fundamentals,这是一个培训课程,使人们能够更快地采用Envoy Proxy。...
- Charles 替换 接口响应信息
- 高并发框架 Disruptor
猜你喜欢

MySql 怎么查出符合条件的最新的数据行?

What are Redis server startup after the operation?

海外多家权威媒体热议波场TRON:为互联网去中心化奠定基础

How to Effectively Conduct Retrospective Meetings (Part 1)?

swagger使用教程——快速使用swagger

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

How does the Snapdragon 7 series chip perform?Reno8 Pro proves a new generation of God U

逆向分析实战2

@WebServlet注解(Servlet注解)

sql语句-如何以一个表中的数据为条件据查询另一个表中的数据
随机推荐
ospf 导图
OA Project Pending Meeting & History Meeting & All Meetings
Redis "super explanation!!!!!!"
在麒麟V10操作系统上安装MySQL数据库
Let's learn the layout components of flutter together
After 5 years of Ali internship interview~
C. Travelling Salesman and Special Numbers (二进制 + 组合数)
Charles replaces the interface response information
Forum management system
Mysql版本升级,直接复制Data文件,查询特别慢
RRU、BBU、AAU
Taobao H5 interface to obtain app data 6.0 format
Flutter records and learns different animations (1)
CMake installation and testing
@WebServlet注解(Servlet注解)
How to solve the error "no such file or directory" when EasyCVR starts?
2022.7.29-----leetcode.593
Operational configuration: How to run multiple EasyCVR programs as a service in one server?
ospf 综合实验(重发布,特殊区域)
mysql 结构、索引详解