如何用sql语句,将表2中与表1中含有相同字符行,中的数据插入表1中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用sql语句,将表2中与表1中含有相同字符行,中的数据插入表1中相关的知识,希望对你有一定的参考价值。

表1
a b c
yy 4
k 9
xx 7
表2
a c
k 65
jx 8
xx 5
最后的结果是这样的

表1
a b c
yy 4
k 9 65
xx 7 5

直接插入表1中

建表插入数据:

create table table1
(a varchar(10),
b int,
c int);

create table table2
(a varchar(10),
c int);

insert into table1 values (\'yy\',4,null);
insert into table1 values (\'k\',9,null);
insert into table1 values (\'xx\',7,null);

insert into table2 values (\'k\',65);
insert into table2 values (\'jx\',8);
insert into table2 values (\'xx\',5);

mysql下执行:

update table1 a,table2 b set a.c=b.c where a.a=b.a

mysql下执行后结果:

sqlserver下执行:

update table1 set c=b.c from table1 a inner join table2 b on a.a=b.a

sqlserver下执行后结果:

以后提问时说明用的什么数据库,不同数据库语法都不同的。

参考技术A 表结构 能列出来吗?

如何用shell 脚本实现将一个文件某些行写入到另一个临时文件中

主要实现如下几步:
1.将字符串”delete from table_name;" 写入到临时文件“/tmp/tmpscript.sql"
2. 将已知文件”/file1/file2/default.sql"中含有字符串“insert into table name”的行写入到临时文件“/tmp/tmpscript.sql"中
3. 一旦文件写完,就调用命令“dbIsql –f /tmp/tmpscript.sql”执行
4. 删除临时文件“/tmp/tmpscript.sql"

参考技术A #!/bin/bash

table_name= #指定表名

echo "delete from $table_name;" > /tmp/tmpscript.sql
grep "insert into $table_name" /file1/file2/default.sq >> /tmp/tmpscript.sql

dbIsql -f /tmp/tmpscript.sql

rm -f /tmp/tmpscript.sql

exit 0

#end追问

What is the difference between the following two shell statement?

grep "insert into $table_name" /file1/file2/default.sq >> /tmp/tmpscript.sql

grep "insert into $table_name" /file1/file2/default.sq | tee -a /tmp/tmpscript.sql

追答

| tee -a 表示将信息输出到标准输出(终端屏幕)的同时,也写入后面的文件中(其中,-a表示追加)

以上是关于如何用sql语句,将表2中与表1中含有相同字符行,中的数据插入表1中的主要内容,如果未能解决你的问题,请参考以下文章

如何用sql语句将多行合并成一行

如何用sql查询某值类型字段各个记录中含有的特定数字?

如何用shell 脚本实现将一个文件某些行写入到另一个临时文件中

SQL通过将表1与表2中的2个条件匹配来选择表列

已经建立了两个表,请问如何用SQL语句建立关联?

如何用一句sql语句实现查取值的和小于某个范围的所有值