在 MySQL 中拆分串联字符串
使用数据库表时,您可能会遇到单个列包含多个串联成单个值的情况细绳。虽然 GROUP_CONCAT 函数擅长将多行组合成单个字符串,但其相反的操作(涉及将连接的字符串拆分为单独的行)可能是一个挑战。此操作通常称为字符串扩展或分解。
问题陈述:
您将看到一个表,其中存储名为“colors”的列,其中包含逗号 -分隔的颜色列表。您的目标是将表格重组为每行代表一种颜色的格式。
示例表格:
id | colors |
---|---|
1 | Red,Green,Blue |
2 | Orangered,Periwinkle |
所需表格格式:
id | colors |
---|---|
1 | Red |
1 | Green |
1 | Blue |
2 | Orangered |
2 | Periwinkle |
解决方案:
要达到预期的结果,您可以使用以下 MySQL查询:
SELECT id, SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', n.digit+1), ',', -1) AS color FROM colors INNER JOIN (SELECT 0 AS digit UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3) AS n ON LENGTH(REPLACE(colors, ',', '')) <p><strong>解释:</strong></p><ol> <li>SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', n.digit 1), ',', -1 ):此表达式用于从连接的字符串中提取单个颜色。它首先使用 SUBSTRING_INDEX 提取从第 n 位逗号后的第一个逗号开始到下一个逗号结束的子字符串。然后,它提取从第二个逗号开始到字符串末尾结束的子字符串。这有效地选择了单一颜色。</li> <li>(SELECT 0 AS digital UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3):此子查询生成从 0 到 3 的数字序列,表示每个颜色的位置连接字符串中的颜色。</li> <li>ON LENGTH(REPLACE(colors, ',', '')) </li> <li>ORDER BY id, n.digit:这确保结果按 id 和颜色中的颜色位置排序</li> </ol><p><strong>注意:</strong> 此查询假设每行最多包含 4 种颜色。如果您的行可以有超过 4 种颜色,您将需要修改子查询以生成更大的数字序列。</p><p>通过实现此查询,您可以有效地将表中的串联字符串拆分为单独的行,允许更轻松的处理和分析。</p>
以上是如何将 MySQL 中的连接字符串拆分为单独的行?的详细内容。更多信息请关注PHP中文网其他相关文章!

mysqlblobshavelimits:tinyblob(255bytes),blob(65,535 bytes),中间布洛布(16,777,215个比例),andlongblob(4,294,967,967,295 bytes).tousebl观察性:1)考虑performance impactsandSandStorelargeblobsextern; 2)管理backbackupsandreplication carecration; 3)usepathsinst

自动化在MySQL中创建用户的最佳工具和技术包括:1.MySQLWorkbench,适用于小型到中型环境,易于使用但资源消耗大;2.Ansible,适用于多服务器环境,简单但学习曲线陡峭;3.自定义Python脚本,灵活但需确保脚本安全性;4.Puppet和Chef,适用于大规模环境,复杂但可扩展。选择时需考虑规模、学习曲线和集成需求。

是的,YouCansearchInIdeAblobInMysqlusingsPecificteChniques.1)转换theblobtoautf-8StringWithConvertFunctionWithConvertFunctionandSearchusiseLike.2)forCompresseBlyblobs,useuncompresseblobs,useuncompressbeforeconversion.3)acpperformance impperformance imperformance imptactsanddataEccoding.4)

mysqloffersvariousStringDatatYpes:1)charforfixed Lengtth Strings,IdealforConsistLengthDatalikeCountryCodes; 2)varcharforvariable长度长,合适的forfieldslikenames; 3)texttypefesforepesforlargertext,forforlargertext,goodforforblogblogpostsbutcan impactcuctcuctcuctpercrance; 4)biland;

TomasterMySQLBLOBs,followthesesteps:1)ChoosetheappropriateBLOBtype(TINYBLOB,BLOB,MEDIUMBLOB,LONGBLOB)basedondatasize.2)InsertdatausingLOAD_FILEforefficiency.3)Storefilereferencesinsteadoffilestoimproveperformance.4)UseDUMPFILEtoretrieveandsaveBLOBsco

blobdatatypesinmysqlareusedforvorvoringlargebinarydatalikeimagesoraudio.1)useblobtypes(tinyblobtolonglongblob)基于dondatasizeneeds。 2)库孔素pet petooptimize绩效。3)考虑Xternal Storage Forel Blob romana databasesizerIndimprovebackupe

toadDuserStomySqlfromtheCommandline,loginasroot,thenusecreateuser'username'@'host'host'Indessifiedby'password'; tocreateanewuser.grantpermissionswithgrantprantallprivilegesondatabase

mySqlofferSeightStringDatateTypes:char,varchar,二进制,二进制,varbinary,blob,文本,枚举,枚举和set.1)长度,理想的forconsistentDatatalIkeCountryCodes.2)varcharisvariable长度,长度,效率foriforitifforiticforiticforiticforiticforiticforitic forvaryingdatalikename.3)


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

WebStorm Mac版
好用的JavaScript开发工具