MYSQL数据库update select 把一个表中的数据改为另一个表中的数据,怎么操作?

1 、我想更新一下表b和表a,把num3 设置为a的num1 减去a的num2 ,条件是b的name1 要等于a的name2
2 、我需要更新表A,把name字段设置为表B中name字段相同记录的id。

3 、我这边有两个表,table1 和table2 ,table1 是table2 的父表,两个表组合起来形成一条完整的记录。
现在table2 有四条记录,我想通过SQL查询,把这四条记录分别形成第三个临时表的四个字段。
数据库用的是ACCESS,我想知道有没有什么技巧可以做到这一点?是不是像ORACLE那样可以使用select count() count from db来查询,或者使用select rownum from db这样查询?
4 、我可以用CONCAT函数,再配合ifnull判断是否为空,来更新表xxx,把a设置为b、c和ADDRESS_TOWN字段拼接的结果,如果这些字段为空,就用空字符串代替。

MySQL中为什么不能在select语句中使用into将查询结果存入新表,但是SQL sever可以

嘿,咱们来聊聊这个SQL小技巧。
首先,咱们声明一个数字变量(记为n吧)。
然后,进入一个循环,从1 遍历到1 00。
在循环中,我们把(n, '你想插入的数据')这样的数据插入到test_table表中。
循环结束后,别忘了提交事务哦。
这样就完成了整个操作啦!end。

mysql怎么复制一张表的数据到另一张表

在MySQL里,经常需要把一张表的数据复制到另一张表,具体怎么操作要看目标表是存在还是新建,以及需不需要连结构一块儿复制。
下面几种方法挺常用的:
复制数据到已存在的表 如果目标表已经建好了,而且结构和源表一样(或者字段能兼容),可以直接用INSERT INTO ... SELECT语句: sql INSERT INTO target_table(column1 , column2 , column3 ) SELECT column1 , column2 , column3 FROM source_table WHERE condition;
注意下:
目标表的字段类型和顺序要跟源表匹配。

可以加WHERE条件来选需要复制的数据。

如果所有字段都一样,也可以不写字段名,不过最好还是显式写出字段名,这样更清晰。

复制表结构和数据(创建新表) 如果目标表还不存在,想连结构和数据一块儿复制,可以用CREATE TABLE ... AS SELECT: sql CREATE TABLE new_table AS SELECT FROM source_table;
这个方法会创建一个新表,里面包含查询结果的所有字段和数据。
不过要注意,它不会复制主键、索引、外键、自增属性这些约束。
所以适合快速创建备份或者临时表。

只复制结构不复制数据 如果只想复制表结构,不带数据,可以在上面那个语句里加一个永远不成立的条件: sql CREATE TABLE new_table AS SELECT FROM source_table WHERE 1 =0;
这样结构会被复制,但是不会有数据插入。

复制结构后再复制部分数据 有时候你可能需要完全控制表结构,比如要保留索引和主键,这时候可以先手动建表,再插入数据: sql CREATE TABLE target_table LIKE source_table; -
完整复制结构(含索引等) INSERT INTO target_table SELECT FROM source_table WHERE ...;
这种方式最完整,适合需要保持约束和索引的场景。

基本上就这么多。
根据你的需求来选合适的方法:
如果目标表已存在,用INSERT INTO ... SELECT。

如果要新建表,用CREATE TABLE ... AS SELECT。

如果要保留索引用LIKE方式建表再导入数据。

操作前最好先备份一下,防止误操作导致数据丢失。