前言

打代码不耽误我 听歌,看小说,玩游戏。


        //  代表注释,写习惯了,看着舒服,带有//的那一行是我写的理解,请不要搞错了

最终语句,可以自行修改使用     


——————————————————————————————————以下sql语句本人只在mysql使用过,其他数据库上是否有效——————————————————————————————————
———————————————————————————————以下皆为本人的见解不确定是否真实,请勿过分相信,动手多练最有用———————————————————————————————
--2022-11-18
//替换字符串的最终语句,根据自已需求修改UPDATE user set province=(SELECT left(province,2) from (SELECT pass from `user` as user0 where province like '省')as a
where a.pass=`user`.pass) where id in
((SELECT id from (SELECT `name` from user where province like '%省')as user1 where user1.name=`user`.`name`))--2022-11-19
//动态查询并且跨数据库查询表,将查询出来的数据作为数据库名拼接要查询的表名
//我在这个表里添加了dataName字段,里面是与name对应的数据库的名字
————动态sql语句使用链接 https://www.cnblogs.com/mfmdaoyou/p/6704521.htmlset @checkUser=concat('SELECT * FROM ',(SELECT dataName FROM web_manage where name='拼多多'),'.user');
prepare stml from @checkUser;
EXECUTE stml;--2022-11-19
//动态跨数据库查询两张表中同一字段所有相同数据总数
set @checkUser=concat('SELECT province,count(*) FROM (SELECT province FROM ', (SELECT dataName FROM web_manage where name='拼多多'),'.user UNION ALL SELECT province FROM ',
(SELECT dataName FROM web_manage where `name`='QQ音乐'),'.user)t group by province');
prepare stml FROM @checkUser;
EXECUTE stml;

sql 语句心得

——————————————————————替换字符串的语句,根据自已需求修改——————————————————————————--因为ECharts里使用地图需要地图省份数据,一直手打数据也不是个办法
--我就去找了个生成数据的工具, datafaker ,这个是github开源项目
--而且数据生成有中文文档,挺好用的 链接 https://github.com/gangly/datafaker//写这个sql语句是为了删除省份中多余字,比如北京省,天津市,内蒙古自治区
//都要删除,只保留北京、天津、内蒙古//我使用 mysql数据库 我要实现一个在对应数据库中对多余字符串进行删除的功能
//把这个功能做成通用模板,以后要删除相同多余字符串用这个模板修改就能用了//那么要截取字段数据我用的是left() ,是从左向右截取用法如下
// left(要截取的字段,要截取的长度) 用法链接
// https://blog.csdn.net/moakun/article/details/82086078//中途遇到一些错误,比如:数据重复的错误,查出来的数据不能立即修改
//例如//查出来的数据不能立即修改的错误语句
UPDATE user set province=(SELECT left(province,2) from `user` as user0
where province like '省')as a)
where id in (SELECT id from user where province like '%省')as user1)//于是我就在网上找了下,要嵌套查询
//好像只有mysql有查出来的数据不能立即修改这个错误,这个错误再嵌套一层子查询就可以了
//然后如果查询结果数据重复就会报重复错误//数据重复错误就需要将查询出来的结果字段改成别的字段
//例如 name,最后再子查询表中的 name 获得结果的数据
//反正最后只要结果数据可以被找到就行.//最终语句
UPDATE user set province=(SELECT left(province,2) from (SELECT pass from `user` as user0 where province like '省')as a
where a.pass=`user`.pass) where id in
((SELECT id from (SELECT `name` from user where province like '%省')as user1 where user1.name=`user`.`name`))————————————动态查询并且跨数据库查询表,将查询出来的数据作为数据库名拼接要查询的表名,我在这个表里添加了dataName字段,里面是与name对应的数据库的名字——————————//我想在页面上搞个根据不同网站名来管理对应的数据库的功能,所以先建一个表
//添加网站名以及对应的数据库名进一张表,记录了对应网站的数据库名字方便管理//然后我写完语句发现表名无法加上去,然后使用 concat() 拼接字符串 链接
//https://www.cnblogs.com/yingmo/p/6148360.htmlSELECT * FROM (SELECT concat(dataName,'.user') FROM web_manage where name='拼多多') as a;//拼接成功了,但是结果还是对应的数据库名加表名,不是我想查询的数据库中user表中的数据
//到了这里我大概也知道查询出的是dataName字段数据的字符串
//它似乎不被sql当成一个变量,就像sql通过数据库名查询数据库中表的数据(我是这么理解的)//然后我就找到了 sql动态语句 execute ,用来执行动态sql语句 —动态sql语句使用链接 https://www.cnblogs.com/mfmdaoyou/p/6704521.html//最终结果
set @checkUser=concat('SELECT * FROM ',(SELECT dataName FROM web_manage where name='拼多多'),'.user');
prepare stml from @checkUser;
EXECUTE stml;
————————————动态查询并且跨数据库查询不同表中某一字段所有相同数据的总和——————————//需要搞一个动态跨数据库查询不同表中某一字段所有相同数据的总和// union 可以将两个查询结果合并但必须要有相同的列与相似的类型,类似表结构一致 链接 https://www.cnblogs.com/xiangshu/articles/2054447.html
//但因为我要获取的是相同省份的总数,所以不使用 union ,使用 union all
//sql 语句打少了,脑子转不过来想了几个小时,最后拿出笔和纸理一下可能性,一下就想通了
//下面有我放的图片//最终代码
set @checkUser=concat('SELECT province,count(*) FROM (SELECT province FROM ', (SELECT dataName FROM web_manage where name='拼多多'),'.user
union all SELECT province FROM ',
(SELECT dataName FROM web_manage where `name`='QQ音乐'),'.user)t group by province');
prepare stml FROM @checkUser;
EXECUTE stml;


总结

这里怎么还有个总结,总结,没有总结,全是坑。

MySql 替换字段中字符串的sql语句相关推荐

  1. mysql替换字段中的部分字符

    mysql替换所有字符 用phpmyadmin把数据库导出为.sql脚本,空间商一般有提供这个管理工具给用户使用的,如果没提供,你也可以自行上传一个到空间里. 用它导出为.sql脚本后,用记事本打开, ...

  2. oracle分页查询sql语句的rn,Mysql和Oracle中的分页SQL语句

    以前总结过一篇,Oracle分页查询语句的优化,当时对Oracle分页语句也着实花费了点时间记忆,不过今天在面试的时候,又考到了不同数据库的分页sql语句,对Oracle数据库的书写又存在了问题,以为 ...

  3. Mysql替换字段中的内容

    使用replace(obj, search, replace_str)函数 语法: UPDATE 表名 SET 字段名=replace(字段名, '被替换字符串', '用来替换的字符串') ; 注意: ...

  4. mysql增加表中数值的sql语句_sql语句--MySql添加表数据

    1.数据库有三个表,分别是bd_park(停车场).bd_closed_park封闭停车场详细表,bd_park_user(停车管理员用户表). 现在bd_park表有近1000条数据库,在bd_cl ...

  5. Mysql 添加字段或者创建表SQL语句

    前言 最近要向测试和运维发SQL脚本,习惯了用工具,忘记了原始操作手法 SQL脚本 1.给已有表添加字段 ALTER TABLE 表名 ADD 字段名称 字段类型(字段长短-选填) CHARACTER ...

  6. 批量替换 MySQL 指定字段中的字符串

    批量替换 MySQL 指定字段中的字符串 批量替换 MySQL 指定字段中的字符串是数据库应用中很常见的需求,但是有很多初学者在遇到这种需求时,通常都是用脚本来实现:其实,MySQL 内置的有批量替换 ...

  7. mysql sql in or 替换_sql IN 的用法一例--替换 mysql longtext字段中某些内容的用法

    之前给改版的一个学校里的站点突然提出要求,说需要将之前编辑的文章的字体大小全部改成默认值. 字体的控制无非有两种,一是font-size = 16 px:然后是.但是,之前发布的文章,文字的控制是由编 ...

  8. ​MYSQL中常用的SQL语句​(增删改查)

    MYSQL中常用的SQL语句 一.增删改查 1.新增 指定字段插入: INSERT INTO <表名> (<字段1>, <字段2>, <字段3>) VA ...

  9. mysql 如何优化sql语句,如何优化SQL?MySQL中超实用的SQL语句送给大家

    如何优化SQL?MySQL中超实用的SQL语句送给大家 如何优化SQL?MySQL中超实用的SQL语句送给大家 在写SQL时,经常灵活运用一些SQL语句编写的技巧,可以大大简化程序逻辑.减少程序与数据 ...

最新文章

  1. python画柱形图-Python绘制柱状图
  2. Tensorflow broadcast 广播机制
  3. MQTT数据传输之TCP数据流程
  4. 肉体之爱的解释圣经_可以解释的AI简介,以及我们为什么需要它
  5. 前端学习(3105):react-hello-jsx语法规则
  6. MaxCompute 费用暴涨之新增SQL分区裁剪失败
  7. Qt工作笔记-QCustomPlot让曲线动起来
  8. Hypermesh+Abaqus加载问题
  9. 3.1. 一元、多元逻辑回归、tensorflow2实现——python实战
  10. ARM体系结构的特点
  11. 如何下载spring源码?
  12. 人的思维方式为什么难以改变?
  13. 20220529 使用python分割pdf文件
  14. 中兴承建沃商店共度周年庆
  15. math.abs() java_Java中使用Math.abs你入坑了?
  16. 如何查看和修改Windows的主机名
  17. 树莓派 python 驱动 lcd tft spi 2.8寸 ili9341 240x320
  18. openstack compute service list报错(HTTP 503)
  19. (4)量子态矢与算子(算符)
  20. 12种工作让你摇身变富豪

热门文章

  1. 男人身上有这3个优点,很容易吸引到女人!
  2. win7便笺重启计算机后还有吗,win7开机提示部分便笺元数据损坏便笺已将其恢复为默认值怎么办...
  3. 错误: 找不到符号_标签,符号和自媒体,谈卢诗翰的文章《马云,杨超越和996》...
  4. input 类型为 number 时如何去掉数字加减上下箭头
  5. 美柚中止上市背后:“她经济”折戟?
  6. 故障分析 | ClickHouse 集群分布式 DDL 被阻塞案例一则
  7. 再见,优酷!再见,爱奇艺!
  8. css修改多选框的样式
  9. Educoder第1关:学习-Java集合类之Collection接口之往集合中添加元素
  10. Nico Game Studio 3.地图纹理编辑 物体皮肤编辑