欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > MYSQL教程 > Mysql数据处理/行转列/列转行/分割/拼接/数据复制汇总

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:736

高端HTML5响应式企业通用网

2020-05-06   浏览:518

html5响应式外贸网站英文版

2020-05-08   浏览:505

HTML5自适应律师工作室类网

2020-04-04   浏览:501

HTML5影视传媒文化公司类网

2020-05-12   浏览:495

Mysql数据处理/行转列/列转行/分割/拼接/数据复制汇总

发布时间:2021-05-20  

mysql数据处理记录(使用的 Workbench)

生成随机数

逗号或分号拼接的字符串分割成多行

多行数据转化成用逗号拼接的字符串

将A表的数据添加到B表

一、生成随机数

生成18位:(19位就加颗0 / 17位就减0)

SELECT FLOOR(+ RAND() * 10000000000000000000)

二、将字符串分割(行转列)

select a.ID,substring_index(substring_index(a.B,',',b.help_topic_id+1),',',-1) as NAME
from
AAA  a
join
mysql.help_topic b
on b.help_topic_id < (length(a.B) - length(replace(a.B,',',''))+1)
order by a.ID

这段SQL是用逗号分割, 把(AAA替换成 表名) (B替换成需要分割的字段名)  可直接使用

原理和解析过程去 https://sunjia-704471770-qq-com.iteye.com/blog/1912929 

三、用分号拼接 (列转行)

select    group_concat(name)name     from  表名 group by PARENTUUID(逗号拼接)

分号拼接

select group_concat(name,';')name    from 表名 group by PARENTUUID

这样的结果是  A;,B;,C;,  改进:

select REPLACE(group_concat(name,';'),',','')name    from  表名  group by PARENTUUID

结果 A;B;C;

四、将A表数据插入到B表

1.表结构与字段都相同

insert into B select * from  A

注意:如果B表中已有数据  注意的是避免主键重复  如果报错先排查是否主键重复添加,最好的方法是先把A表的主键约束去掉 并使用 alter table 表名 drop ID 去掉主键再添加(B表ID自增)

2.表结构不同 只添加个别字段

insert into B (字段1,字段2) select 字段1,字段2  from  A   (如果字段名不一样  例:insert into B (字段1,字段2) select 字段A as 字段1,字段B as 字段2  from  A )

补充:在数据数据迁移插入时,可将以上四大点配合使用 有问题评论区见。

本文标签

:备案管家服务帮您把复杂流程变简单,解决您在进行网站备案过程中遇到的效率低下和成功率不高的问题。个人300/2个域名,企业500/5个域名,qq1650004.