码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    本教程使用一组存在「kalacloud_student」表中的学生信息,讲解拼接字符串的各种应用场景以及对应的变形,你可以打开你的 MySQL 数据库,跟着本教程一起练习。

    SELECT CONCAT ( lastname , firstname) AS student_name FROM kalacloud_student;
    
    • 1

    CONCAT()拼接基本形式,我们使用 SELECT CONCAT() 对两列字符串进行拼接,并生成一个临时表 student_name,运行返回值:

     拼接字符串基本型

    扩展阅读:《MySQL 替换指定字段中的部分字符串 - REPLACE() 应用详解》

    2.使用空格拼接字符串

    使用空格拼接学生的名字和它的学科,老师方便在筛选时查看。

    字符串拼接基础

    仍然使用 SELECT CONCAT() 命令,空格需要使用' ' 两个单引号引起来。

    SELECT CONCAT(firstname, ' ', Subject) AS StudentDetail FROM kalacloud_student;
    
    • 1

    返回值:

    使用空格拼接字符串

    扩展阅读:《详解 MySQL / MariaDB 中如何使用单引号、双引号和反引号》

    3.使用特殊符号拼接字符串

    老师需要将学生名字,学科以及学历汇集到一起,使用分隔符连接。在字符串拼接中,对特殊符号的处理与空格相同,只需要使用' 单引号引起即可。本案例中,使用两个相同的分隔符,这种重复连接的情景可以集合起来写一次,方法详见本文第 6 节

    SELECT CONCAT(firstname, '-', subject, '-', qualification) AS Detail FROM kalacloud_student;
    
    • 1

    返回值:

    使用特殊符号拼接字符串

    扩展阅读:《如何在 MySQL 中查找和删除重复记录? - 4 种 MySQL 数据去重法》

    4.在筛选查询中进行字符串拼接并显示在表格里

    有时,我们需要拼接的返回值放在表格中与其他信息一起显示。

    比如招生老师想把候选人的「学历」「姓名」「学科」单独提出来,筛选出研究生学历的候选人,并显示他们的联系方式:

    SELECT CONCAT(qualification, ' ', firstname, ' - ', subject) AS 候选人资料, wechat_id, phone FROM kalacloud_student WHERE qualification = 'MPhil';
    
    • 1

    在使用 CONCAT() 拼接信息的同时,使用 WHERE 筛选出研究生学历(MPhil)的候选人

    在筛选查询中进行字符串拼接并显示在表格里

    扩展阅读:《如何在 MySQL 中导出查询结果数据到文件》

    5.字符串与中文文本的拼接

    我们要把需要拼接的字符串前面加上文字说明,帮助候选人制作一份简单的简历。

    在数据库中提取的字符串值,与需要添加的中文说明拼接在一起,并且按照学历从高到低排序:

    SELECT CONCAT('候选人:', lastname,firstname, ' 学科:',subject,' 学历:', qualification) AS 简历 FROM kalacloud_student ORDER BY qualification DESC;
    
    • 1

    返回值:

    字符串与中文文本的拼接

    扩展阅读:《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;
    
    • 1

    返回值:

     仅需写一次分隔符即可拼接所有字符串

    扩展阅读:《最好用的 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开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    【H5微信授权】简单实现H5页面微信授权功能,微信开发者工具报错 系统错误,错误码-1,undefined解决办法【详细】
    基于ROS的机器人模型建立及3D仿真【物理/机械意义】
    python3 中调用 C 语言的函数
    web学习---JavaScript---笔记(一)
    爬虫抓取数据超时是什么原因?如何解决爬虫抓取数据超时问题?
    【LeetCode】【剑指offer】【构建乘积数组】
    ESP32 Arduino实战协议篇-BLE 服务端实现温度和湿度数据传输
    今日ac题
    java爬虫
    cool-admin node.js 实现分页 数据获取 直接框架
  • 原文地址:https://blog.csdn.net/m0_67403013/article/details/126061873
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号