mysql 不同库不同表字段数据复制

需求:把一个表某个字段内容复制到另一张表的某个字段。

实现sql语句1:

UPDATE file_manager_folder f1
LEFT OUTER JOIN file_manager_folder f2
    ON f1.name = f2.name AND f2.parentId = 54
SET f1.parentId = 54
WHERE f2.name IS NULL AND f1.id IN (1,2,3);

  

实现sql语句2:

update B set extra = A.extra from A join B on (A.id = B.id);

我试了好像报错

  

实现sql语句3:

update b set b.sms = (select a.sms from a where a.id = b.id)

  

需要确定两张表中的id都是主键或者唯一

实现sql语句4:

UPDATE A SET A.SMS = (SELECT B.SMS FROM B WHERE A.ID = B.ID) WHERE EXISTS (SELECT 1 FROM B WHERE A.ID = B.ID);

  

实现sql语句5:
复制一个表字段数据到另外一个表的字段,可以这么写:
实现sql语句5:

UPDATE tb_1 INNER JOIN tb_2 ON tb_1.tid = tb_2.tid
SET tb_1.tcontent = tb_2.tcontent

  

附:同表复制

需求:把同一张表的一个字段内的内容复制到另一个字段里

例1:
我想把article表中A字段的内容复制到article表中B字段里面sql语句为:

update article set B=A;

  

例2:
有时候,我们需要复制某个字段一整列的数据到另外一个新的字段中,这很简单,SQL可以这么写:

UPDATE tb_1 SET content_target = content_source;

大概写法如下:

Update {your_table} set {source_field} = {object_field} WHERE cause

  

最后,我用的是

UPDATE k1.tb1 kt1
INNER JOIN k2.tb2 kt2 ON kt1.id = kt2.id
SET kt1.sex = kt2.sex

数据库k1的tb1表同步数据库k2的tb2表对应id的sex

原文地址:https://www.cnblogs.com/cxscode/p/8252888.html

时间: 2024-10-28 16:09:10

mysql 不同库不同表字段数据复制的相关文章

mysql 对插入超过表字段限制时的处理

mysql在插入时,比如varchar类型超过表字段限制时,经测试不同版本的处理:    5.1版本,会对字符串进行截断后插入,不会报错    5.6,5.7版本,会直接插入失败,并报错

Oracle/MySQL/SQL Server修改表字段类型和长度

Oracle ALTER TABLE T_USER MODIFY USERNAME VARCHAR2(18); MySQL ALTER TABLE T_USER CHANGE USERNAME USERNAME VARCHAR(200) NOT NULL COMMENT 'username'; SQL Server ALTER TABLE T_USER ALTER COLUMN USERNAME VARCHAR(200); [注意]SQL Server 字段有约束或者索引,需要按如下方式处理:

mysql建库建表插入数据

#!/bin/bash user="root" password="123456" mycmd="mysql -u$user -p$password" for dbname in tec stu do $mycmd -e "create database $dbname;" $mycmd -e "use $dbname;create table test(id int,name varchar(18));insert

数据库表字段数据分割问题

有的时候为了减少存储记录数,可能会把多条记录合并为一条显示.这种情况的发生主要体现上记录在表的其它字段都相同,只有某一个字段是变化的这种情况,例如人事管理中,部门中的相关人的ID都放在一条记录的一个字段中,中间用逗号隔开.现在的需求就是要将一条记录按ID字段分割成多条记录. CREATE TABLE [dbo].[Table_Dept]( [DEPT_CODE] [int] NULL, [content] [nvarchar](50) NULL, [A0188s] [nvarchar](max)

SQL把a表字段数据存到b表字段 update,,insert

update SYS_Navigation set SYS_Navigation.PARENT_XH = SYS_Power_menu.parent_id,SYS_Navigation.web_title = SYS_Power_menu.menu_name,SYS_Navigation.WEB_FLAG=1,SYS_Navigation.url=SYS_Power_menu.urlfrom SYS_Power_menuwhere SYS_Navigation.xh = SYS_Power_me

MySQL复制表字段到另外一个表的字段

有时候,我们需要复制某个字段一整列的数据到另外一个新的字段中,这很简单,SQL可以这么写: UPDATE tb_1 SET content_target = content_source; 大概写法如下:名仕娱乐城 Update {your_table} set {source_field} = {object_field} WHERE cause 有Navicat等工具更好,可以直接选中一列数据,拷贝粘贴到你需要的列中.如果是同一个表那没什么问题,如果是新表,请保持它们的行数是一致.如果行数不

MySQL数据表字段内容的批量修改、复制命令

复制字段里的数据命令: SQL代码 UPDATE table SET 被替换的字段名=被复制的字段名 演示如下 SQL代码 UPDATE dede_archives SET senddate=pubdate 如何手动将同一数据表内不同字段之间的内容批量转换,可以参考下面的命令: SQL代码 UPDATE table set 字段名=REPLACE(字段名,'原字符串','替换的字符串') where 已知的字段名 LIKE '%原字符串%' 应用到本文实例 SQL代码 UPDATE pw_mem

MySQL生产库中添加修改表字段引起主从崩溃的问题总结

上周末和开发人员对线上库中的部分表的在线DDL和update,这过程中出现了一些意料之外的问题,现将过程.分析和解决方案在这里总结一下 一. 需求背景: 要在如下表中添加字段(modified_at)并且更改默认值 table_name { baby_compbaby_comp_statusbaby_usrbaby_ad_userbaby_campbaby_ordbaby_acc_eva } 每张表执行如下操作ALTER TABLE `$table_name` ADD COLUMN `modif

Mysql数据表字段的增,改,删

用 alter 命令来进行字段的增,改,删 1.使用 ALTER 命令及 DROP 子句来删除以上创建表的 i 字段:(如果数据表中只剩余一个字段则无法使用DROP来删除字段.) mysql> alter table runoob drop name; //删除runoob表中的name字段 2.使用 ALTER 命令 ADD 子句来向数据表中添加列,如下实例在表 testalter_tbl 中添加 i 字段,并定义数据类型: mysql> alter table runoob add id