MySQL 字符串拼接 - 多种字符串拼接实战案例

article/2025/9/20 15:25:40

本文首发: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 文件

http://chatgpt.dhexx.cn/article/4LNX4mrr.shtml

相关文章

MySQL字符串拼接的两种方式

第一种: MySQL自带语法Concat(string1,string2,string3...),此处是直接把string1和string2等等的字符串拼接起来(无缝拼接哦) 说明:此方法在拼接的时候如果有一个值为NULL,则返回NULL select concat(&qu…

MySQL字符串拼接(函数)

最近帮助处理数据,需要批量更新数据,遂上网查了查方法,在此记录一下。我的原始数据如下: 一.CONCAT()函数 说明 : CONCAT(string1,string2,string3...),此处是直接把string1、string2和string3等等的字符串无缝拼接起来,返回结果为连接参数产生的字符…

MYSql-字符串拼接

一、MySQL自带字符串拼接函数 CONCAT 字符串拼接CONCAT_WS 指定字符串分割拼接字符串拼接 ① 语法:CONCAT(str1,str2…) 解释:concat 拼接 str1和str2字符串, 省略号....代表可以多个字符串拼接 示例: SELECT CONCAT("hello&quo…

MySQL字符串拼接concat()、分组拼接字符串group_concat()

MySQL拼接 一、经典拼接concat(x,x,....)二、分隔符拼接CONCAT_WS(separator,str1,str2,...)三、分组拼接GROUP_CONCAT(expr) 一、经典拼接concat(x,x,....) 用法案例: SELECTconcat( 字符串, 拼接, ,啥都可以, 嘿嘿 ) AS concats FROM DUAL注意&…

SQL 拼接字符串

不同的数据库,相应的字符串拼接方式不同,下面进行详细讲解。 一、MySQL字符串拼接 1、CONCAT函数 语法格式:CONCAT(char c1, char c2, …, char cn) ,其中char代表字符串,定长与不定长均可以 连接两个字符串 sele…

Mysql之字符串拼接

mysql字符串拼接 两种方式,第一种,使用 “” 进行拼接(错误的方法), 第二种使用Mysql函数CONCAT()等函数。 使用 “” 使用“”进行对数据是加减。不能进行拼接 拼接用法: 数据表: 错误写法&am…

mysql中的实现字段或字符串拼接的三种方式

一、CONCAT函数 concat函数是将多个字段或字符串拼接为一个字符串;但是字符串之间没有任何分隔。 concat函数官方介绍 -- CONCAT函数的语法如下: CONCAT(str1,str2,...) 1.1、拼接非空字段或字符串 SELECT CONCAT(字段1,字段2,字段3,...) from 表名;-- 拼…

mysql 字符串拼接的几种方式

总是记不住字符串拼接,每次都要百度去搜索,所以在这里记录一下,好方便后续的查找,如有错误和问题可以提出,谢谢。 字符串拼接分为几种方式,在这里会一一举例写出: 第一种: mysql自…

Geth搭建私链(最新)

Geth搭建私链 puppeth 是 Geth 中一个非常有用的命令,它允许您使用一个交互式的命令行界面来创建、配置和管理您的私有链。但是在最新版本的Geth中已经删除了用于以动开发的库和puppeth工具,这也就给我们搭建私链增加了负担。 前提条件 1、Geth正确安…

Geth安装

结合了网上各种文章,经过十多个小时的失败,期间还把虚拟机搞得开机不了,但终于成功的安装了geth。下面我会展示我遇到的问题和解决方案 目录 1.系统环境 2.安装基础工具 3.安装cmake 4.安装Golang 5.防火墙及网络时间同步 6.进入geth …

Geth控制台常用命令

1、Geth控制台命令 Geth Console是一个交互式的JavaScript 执行环境,里面内置了一些用来操作以太坊的JavaScript对象,我们可以直接调用这些对象来获取区块链上的相关信息。 这些对象主要包括: # 主要包含对区块链进行访问和交互相关的方法 eth# 主要包含查看p2p 网…

geth控制台控制

目录 geth控制台控制 启动控制台:输出结果直接显示 启动控制台:控制台输出结果写入 output.log 文件,但不能连接MetaMask 退出控制台 常用命令 开始挖矿 停止挖矿 转账 问题:出现报错 password or unlock 问题&#xff1…

geth的安装和使用

geth的安装和使用过程 windows下安装Geth配置和使用搭建私有网络 windows下安装Geth 1.下载地址: https://geth.ethereum.org/downloads/ 下载windows版 2.按指示安装 3.在cmd下进入安装路径,输入geth help查看是否安装成功 出现下面情况表示安装成功…

使用Geth搭建多节点私有链

使用Geth搭建多节点私有链 步骤 1.编辑初始化配置文件genesis.json {"config": {"chainId": 6668,"homesteadBlock": 0,"eip150Block": 0,"eip150Hash": "0x000000000000000000000000000000000000000000000000000000…

以太坊编程-Geth

前提:开发环境为Windows版本 一、下载安装 geth安装官网地址:https://geth.ethereum.org/downloads/ 安装时,根据提示一步一步安装即可 安装完成之后,需要进行配置环境变量 二、创世区块部署 新建.json文件:新建记事…

以太坊开发--geth的使用入门

geth的全称是go-ethereum,是一个以太坊客户端,用go语言编写,应该是目前最常用的客户端。当然以太坊客户端还有用C,Ruby,Python,Java等其他多种语言编写的,不同类型的客户端是为了满足不同的需求场景。今天我们主要来介绍geth(发音…

Geth安装和使用

一、简介 Geth是Go Ethereum开源项目的简称,它是使用Go语言编写且实现了Ethereum协议的客户端软件,也是目前用户最多,使用最广泛的客户端。通过Geth客户端与以太坊网络进行连接和交互可以实现账户管理、合约部署、挖矿等众多有趣且实用的功能…

GETH的安装和使用(Windows)

目录 一、Geth介绍 二、Geth安装 1.下载安装 2.配置环境变量 三、Geth私有链搭建 1.创建创世块文件 2.初始化区块链 3.启动私有节点 四、账户交易 1.创建账户 2.挖矿操作 3.查看区块和奖励 ​ 4.转账交易 一、Geth介绍 Geth 又名Go Ethereum.是以太坊协议的三种实现…

最长上升子序列 详解

最长上升子序列 时间限制: 10 Sec 内存限制:128 MB 题目描述 给定一个序列,初始为空。现在我们将1到N的数字插入到序列中,每次将一个数字插入到一个特定的位置。我们想知道此时最长上升子序列长度是多少? 输入 第一行一个整数N,…

最长上升子序列(二分)

最长上升子序列 给定一个长度为 N 的数列,求数值严格单调递增的子序列的长度最长是多少。 输入格式 第一行包含整数 N。 第二行包含 N 个整数,表示完整序列。 输出格式 输出一个整数,表示最大长度。 数据范围 1≤N≤100000, …