首页 > 数据库 >sql 数据迁移a表往b表迁移,有外键关联

sql 数据迁移a表往b表迁移,有外键关联

时间:2023-03-09 14:24:11浏览次数:53  
标签:set name merger region 外键 sql 迁移 id SELECT

-- 该句实现了一些特定业务,用到了sql函数Right()、INSTR()
SELECT count(*) FROM sys_region AS a INNER JOIN cpcp_region AS b ON INSTR(a.merger_name,b.region_name)>0 AND RIGHT(a.merger_name,CHAR_LENGTH(b.region_name))=b.region_name;

-- 实现了将多表查询结果进行批量更新数据操作
update sys_region a 
inner join cpcp_region b on INSTR(a.merger_name,b.region_name)>0 AND RIGHT(a.merger_name,CHAR_LENGTH(b.region_name))=b.region_name
set a.region_code = b.region_id

MySQL数据库涉及到多表更新方法

方法一

通过子查询关联

UPDATE tableA a set a.b_rel_field = (SELECT b.id from tableB b where a.name = b.name);

方法二

使用逗号操作符的内连接

UPDATE tableA a, tableB b SET a.price=b.price WHERE a.id = b.id;

方法三

使用SELECT语句中允许的任何类型的联接,比如内连接,左连接

update tableA a inner join tableB b on a.b_rel_field = b.id set a.fieldA = b.fieldA, a.fieldB = b.fieldB;

参考地址

标签:set,name,merger,region,外键,sql,迁移,id,SELECT
From: https://www.cnblogs.com/lambertlt/p/17198221.html

相关文章

  • mysql8.0 sql_mode 报错1055
    Mysql的8.0版本中默认是开启sql_mode=only_full_group_by。可能会导致1055报错,要关闭的话可以这样操作在MySQL下执行语句SELECT@@sql_mode将查询结果中的ONLY_FULL_GR......
  • SQL的连接分为三种:内连接、外连接、交叉连接
     建了两张表,学生表student 课程表class一、内连接:    内连接(INNERJOIN):有两种,显式的和隐式的,返回连接表中符合连接条件和查询条件的数据行。(所谓的链接表就是数据库......
  • Mysql常用操作
    创建用户:CREATEUSER'username'@'%'IDENTIFIEDWITHmysql_native_passwordBY'password';创建数据库:CREATEDATABASEdatabasename;赋权:grantallondataba......
  • python连接mysql
    conn=pymysql.connect(host="127.0.0.1",port=3306,user="root",password="root",database="mydatabase",charset="utf8")cur=conn.cursor(cursor=pymysql.cursor......
  • mysql 数据库小工具: 小写转大写
    SELECTconcat( 'renametable',TABLE_NAME,'to',UCASE(TABLE_NAME),';')AS'修改脚本sql'FROMinformation_schema.TABLEStWHERETABLE_SCHEMA='newal......
  • SQL SERVER 下载地址
    SQLServer2019Enterprise(x64)-DVD(Chinese-Simplified)企业版ed2k://|file|cn_sql_server_2019_enterprise_x64_dvd_2bfe815a.iso|1632086016|58C258FF0F1D006DD3......
  • mysql 索引篇
    --8.0.16selectversion();droptableifexiststest1--建表test1CREATETABLE`test1`(`id`bigintNOTNULL,`code`varchar(30)NOTNULL,`age`int......
  • 如何搞定MySQL锁(全局锁、表级锁、行级锁)?这篇文章告诉你答案!太详细了!!!
    概述锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问......
  • MySQL数据库如何在SQL语句中显式的使用排序规则?
    大家都知道,MySQL数据库在SQL语句中都是使用ORDERBY子句来进行排序,可以使用ASC或DESC关键字来指定排序的方式,即升序或降序。那如果要在排序时指定特定的排序规则,该怎么写......
  • Mysql导出文本文件
    使用mysqldump命令导出文本文件mysqldump-uroot-pPassword-T目标目录dbname[tables][option];其中:Password参数表示root用户的密码,密码紧挨着-p选项。-T:只有......