首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

mysql查询-从表1中查询出来的结果重新插入到表1

2023-11-12 来源:花图问答

原有表结构

CREATE TABLE `t_card_user` ( `id` varchar(32) NOT NULL, `card_user_id` bigint(20) DEFAULT NULL COMMENT ‘UserID受设备最大用户数影响,范围为1--最大用户数。‘, `card_no` bigint(20) DEFAULT NULL COMMENT ‘CardNo最大为4294967295(2^32次方)‘, `start_time` datetime DEFAULT NULL COMMENT ‘StartTime格式填写规范:YYYY-MM-DD空格 hh:mm:ss,例如:2015-01-23 14:42:40‘, `end_time` datetime DEFAULT NULL COMMENT ‘end_time格式填写规范:YYYY-MM-DD空格 hh:mm:ss,例如:2015-01-23 14:42:40‘, `super_user` tinyint(4) DEFAULT NULL COMMENT ‘SuperUser是用户是否为管理员(0 普通用户, 1 管理员)‘, `dev_id` varchar(32) DEFAULT NULL COMMENT ‘设备id‘, `passwd` varchar(10) DEFAULT NULL COMMENT ‘Passwd只能为数字,最大长度为6位。‘, `type` tinyint(3) DEFAULT NULL COMMENT ‘设备类型‘, `status` tinyint(3) DEFAULT ‘2‘ COMMENT ‘0:失败,1:成功,2:已发送‘, `active_flag` tinyint(2) DEFAULT ‘1‘ COMMENT ‘1未删除,0删除‘, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;           之前做门禁的时候,因为数据库当时设计和业务逻辑实现有问题,导致很多业主的权限无法开门。基于这种情况,当时我们的解决方案是,通过sql查询出所需要的数据,在通过csv导出,在进行数据的拼装最后在导入数据库        虽然当时解决了燃眉之急,但我们的项目负责人说我的这种方法很拙劣,完全可以写一个sql脚本完成,后来通过查找资料,可以使用脚本完成这一操作。

--查询并将结果封装到新创建的新表中create table t_card_user_bk(SELECTREPLACE (uuid(), ‘-‘, ‘‘) id,card_user_id,card_no,start_time,end_time,super_user,‘784368217‘ AS dev_idFROMt_card_user_copyWHEREdev_id = ‘SR-0601010000078‘); --将新创建的表中的数据重新插入到原来的数据库中INSERT INTO t_card_user(id, card_user_id,card_no,start_time,end_time,super_user,dev_id) select id, card_user_id,card_no,start_time,end_time,super_user,dev_id from t_card_user_bk ---------------------

mysql查询-从表1中查询出来的结果重新插入到表1

标签:负责人   普通用户   datetime   rtt   最大   def   inno   次方   type   

小编还为您整理了以下内容,可能对您也有帮助:

mysql 如何把查询到的结果插入到另一个表中

其实很简单,只是为了忘记,做个记录,用的时候方便。

 

不管是在网站开发还是在应用程序开发中,我们经常会碰到需要将MySQL或MS SQLServer某个表的数据批量导入到另一个表的情况,甚至有时还需要指定导入字段。

 

本文就将以MySQL数据库为例,介绍如何通过SQL命令行将某个表的所有数据或指定字段的数据,导入到目标表 中。此方法对于SQLServer数据库,也就是T-SQL来说,同样适用 。

类别一、 如果两张张表(导出表和目标表)的字段一致,并且希望插入全部数据,可以用这种方法:

INSERT INTO  目标表  SELECT  * FROM  来源表 ;

例如,要将 articles 表插入到 newArticles 表中,则可以通过如下SQL语句实现:

INSERT INTO  newArticles  SELECT  * FROM  articles ;

类别二、 如果只希望导入指定字段,可以用这种方法:

INSERT INTO  目标表 (字段1, 字段2, ...)  SELECT   字段1, 字段2, ...   FROM  来源表 ;

请注意以上两表的字段必须一致,否则会出现数据转换错误。

INSERT INTO TPersonnelChange(

    UserId,

    DepId,

    SubDepId,

    PostionType,

    AuthorityId,

    ChangeDateS,

    InsertDate,

    UpdateDate,

    SakuseiSyaId

)SELECT

    UserId,

    DepId,

    SubDepId,

    PostionType,

    AuthorityId,

    DATE_FORMAT(EmployDate, '%Y%m%d'),

    NOW(),

    NOW(),

    1

FROM

    TUserMst

WHERE

    `Status` = 0

AND QuitFlg = 0

AND UserId > 2

mysql 查询语言 一张表的数据插入另一张表的sql语句

示例:

INSERTINTOTPersonnelChange(

UserId,

DepId,

SubDepId,

PostionType,

AuthorityId,

ChangeDateS,

InsertDate,

UpdateDate,

SakuseiSyaId

)SELECT

UserId,

DepId,

SubDepId,

PostionType,

AuthorityId,

DATE_FORMAT(EmployDate,'%Y%m%d'),

NOW(),

NOW(),

1.FROM

TUserMstWHERE

`Status`=0

ANDQuitFlg=0

ANDUserId>2

扩展资料

mysql从一张表查数据并插入另一张表

INSERTINTOtable1(table1_field1,table1_field2,...)selecttable2_filed1,table2_field2,...fromtable2wherecondition1andcondition2...;

//一张表符合条件的数据插入另一张表对应字段中

insertintoshelve_goods_info(proct_id,`name`,image,original_amount,amount,spec_id,spec_str,sync_time,last_updtime)selectDISTINCTproct_id,`name`,image,original_amount,amount,spec_id,spec_str,sync_time,NOW()fromjingguo_order_goodsgroupbyproct_idorderbysync_timedesc;

//根据一张表的数据修改另一张表的数据

updateshelve_goods_infoass,ttastsets.print_title=t.newname,s.price=t.newprice,original_price=Ceil(t.newprice*10/8)wheres.name=t.orname;

mysql中,如何用一条SQL将一张表里的数据插入到另一张表?

/12分步阅读

打开SQL Server Management Studio,按图中的路径进入导入数据界面。

2/12

导入的时候需要将EXCEL的文件准备好,不能打开。点击下一步。

3/12

数据源:选择“Microsoft Excel”除了EXCEL类型的数据,SQL还支持很多其它数据源类型。

4/12

选择需要导入的EXCEL文件。点击浏览,找到导入的文件确定。

5/12

再次确认文件路径没有问题,点击下一步。

6/12

默认为是使用的WINODWS身份验证,改为使用SQL身份验证。输入数据库密码,注意:数据库,这里看看是不是导入的数据库。也可以在这里临时改变,选择其它数据库。

7/12

选择导入数据EXCEL表内容范围,若有几个SHEET表,或一个SHEET表中有些数据我们不想导入,则可以编写查询指定的数据进行导入。点击下一步。

8/12

选择我们需要导入的SHEET表,比如我在这里将SHEET表名改为price,则导入后生面的SQL数据库表为price$。点击进入下一步。

9/12

点击进入下一步。

10/12

在这里完整显示了我们的导入的信息,执行内容,再次确认无误后,点击完成,开始执行。

11/12

可以看到任务执行的过程和进度。

12/12

执行成功:我们可以看看执行结果,已传输1754行,表示从EXCEL表中导入1754条数据,包括列名标题。这样就完成了,执行SQL查询语句:SELECT * FROM price$就可以查看已导入的数据内容。

1. 表结构完全一样

insert into 表1

select * from 表2

2. 表结构不一样(这种情况下得指定列名)

insert into 表1 (列名1,列名2,列名3)

select  列1,列2,列3 from 表2

Mysql 怎样将一个数据库中表 数据 插入到 另一个数据库 表中

1.如果2张表的字段一致插入全部数据:
INSERT
INTO
目标表
SELECT
*
FROM
来源表;
insert
into
db1.table1
select
*
from
db2.table2;
2.如果只希望导入指定字段:
INSERT
INTO
目标表
(字段1,
字段2,
...)
SELECT
字段1,
字段2,
...
FROM
来源表;(这里的话字段必须保持一致)
insert
into
db1.table(id)
select
id
from
db2.table2;

Mysql 怎样将一个数据库中表 数据 插入到 另一个数据库 表中

1.如果2张表的字段一致插入全部数据:
INSERT
INTO
目标表
SELECT
*
FROM
来源表;
insert
into
db1.table1
select
*
from
db2.table2;
2.如果只希望导入指定字段:
INSERT
INTO
目标表
(字段1,
字段2,
...)
SELECT
字段1,
字段2,
...
FROM
来源表;(这里的话字段必须保持一致)
insert
into
db1.table(id)
select
id
from
db2.table2;

mysql 数据库 如何用sql语句查询数据后再插入本表?

你好,很高兴回答你的问题。
我理解你的这个需求可以用下面的语句实现。
insert into table_a (m) select 'efg' as m from table_a where m='abc'
其他字段自行补一下。
如果主键不是自增的话,还需要考虑下主键值。
如果有帮助到你,请点击采纳。

mysql 数据库 如何用sql语句查询数据后再插入本表?

你好,很高兴回答你的问题。
我理解你的这个需求可以用下面的语句实现。
insert into table_a (m) select 'efg' as m from table_a where m='abc'
其他字段自行补一下。
如果主键不是自增的话,还需要考虑下主键值。
如果有帮助到你,请点击采纳。

MySQL:如何将两张表的查询结果插入到一张新的表

下面为您介绍的方法实现的是两张表的查询结果插入一张新表,该方法供您参考,如果您在MYSQL查询结果处理方面遇到过问题,不妨一看。表A
+-------------------+
|id |user |info |
|1 |u1 |991 |
|3 |u3 |113 |
+-------------------+表B
+-------------------+
|id |user |pw |pw2 |
|1 |u1 |p1 |p12 |
|2 |u2 |p2 |p22 |
|3 |u3 |p3 |p32 |
+-------------------+
能不能通过语句创建一个新表变成以下结果。剔除在表B里有。但是表A里没有的ID.并合并同ID的数据呢?当然是可以的。
+-------------------------+
|id |user |pw1 |pw2 |info |
|1 |u1 |p1 |p12 |991 |
|3 |u3 |p3 |p33 |113 |
+-------------------------+
两表的MYSQL查询结果插入新表的实现的语句
以上就是两表的MYSQL查询结果插入新表的方法介绍。

MySQL:如何将两张表的查询结果插入到一张新的表

下面为您介绍的方法实现的是两张表的查询结果插入一张新表,该方法供您参考,如果您在MYSQL查询结果处理方面遇到过问题,不妨一看。表A
+-------------------+
|id |user |info |
|1 |u1 |991 |
|3 |u3 |113 |
+-------------------+表B
+-------------------+
|id |user |pw |pw2 |
|1 |u1 |p1 |p12 |
|2 |u2 |p2 |p22 |
|3 |u3 |p3 |p32 |
+-------------------+
能不能通过语句创建一个新表变成以下结果。剔除在表B里有。但是表A里没有的ID.并合并同ID的数据呢?当然是可以的。
+-------------------------+
|id |user |pw1 |pw2 |info |
|1 |u1 |p1 |p12 |991 |
|3 |u3 |p3 |p33 |113 |
+-------------------------+
两表的MYSQL查询结果插入新表的实现的语句
以上就是两表的MYSQL查询结果插入新表的方法介绍。

c#能不能连接mysql 在一个表中查询然后把查询到的写入另一张表中

可以从一个表中复制所有的列插入到另一个已存在的表中:
INSERT INTO table2
SELECT * FROM table1;
或者我们可以只复制希望的列插入到另一个已存在的表中:
INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;

c#能不能连接mysql 在一个表中查询然后把查询到的写入另一张表中

可以从一个表中复制所有的列插入到另一个已存在的表中:
INSERT INTO table2
SELECT * FROM table1;
或者我们可以只复制希望的列插入到另一个已存在的表中:
INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;

MySQL数据库怎样把一个表的数据插入到另一个表

代码如下:
<?php
header("Content-type:text/html;charset=utf-8");
$conn = mysql_connect("localhost","root","");
mysql_select_db('nnd',$conn);
mysql_select_db('ahjk',$conn);
mysql_query("set names utf8");

$sql = mysql_query("select content,partid from phpcms_c_disease order by contentid desc limit

//我这里是查询出表的数据 然后循环插入
$sql1= "INSERT INTO `nnd`.`demo`(content,parid) VALUES";
while($row = mysql_fetch_assoc($sql)){
$sql1.="('$row[content]','$row[partid]'),";
}
$sql1.=")";
$sql2 .= str_replace(",)",";",$sql1);
mysql_query($sql2);
?>

MySQL数据库怎样把一个表的数据插入到另一个表

代码如下:
<?php
header("Content-type:text/html;charset=utf-8");
$conn = mysql_connect("localhost","root","");
mysql_select_db('nnd',$conn);
mysql_select_db('ahjk',$conn);
mysql_query("set names utf8");

$sql = mysql_query("select content,partid from phpcms_c_disease order by contentid desc limit

//我这里是查询出表的数据 然后循环插入
$sql1= "INSERT INTO `nnd`.`demo`(content,parid) VALUES";
while($row = mysql_fetch_assoc($sql)){
$sql1.="('$row[content]','$row[partid]'),";
}
$sql1.=")";
$sql2 .= str_replace(",)",";",$sql1);
mysql_query($sql2);
?>

sql语句 怎么从一张表中查询数据插入到另一张表中

sql语句从一张表中查询数据插入到另一张表中的方法如下:

1、select * into destTbl from srcTbl。

2、insert into destTbl(fld1, fld2) select fld1, 5 from srcTbl。

以上两句都是将 srcTbl 的数据插入到 destTbl,但两句又有区别的:

第一句(select into from)要求目标表(destTbl)不存在,因为在插入时会自动创建。

第二句(insert into select from)要求目标表(destTbl)存在,由于目标表已经存在,所以我们除了插入源表(srcTbl)的字段外,还可以插入常量。

拓展资料:

结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。sql 语句就是对数据库进行操作的一种语言。

常见语句:

1、更新:update table1 set field1=value1 where 范围。

2、查找:select * from table1 where field1 like ’%value1%’ (所有包含‘value1’这个模式的字符串)。

3、排序:select * from table1 order by field1,field2 [desc]。

4、求和:select sum(field1) as sumvalue from table1。

5、平均:select avg(field1) as avgvalue from table1。

6、最大:select max(field1) as maxvalue from table1。

7、最小:select min(field1) as minvalue from table1[searator]。

sql语句 怎么从一张表中查询数据插入到另一张表中

sql语句从一张表中查询数据插入到另一张表中的方法如下:

1、select * into destTbl from srcTbl。

2、insert into destTbl(fld1, fld2) select fld1, 5 from srcTbl。

以上两句都是将 srcTbl 的数据插入到 destTbl,但两句又有区别的:

第一句(select into from)要求目标表(destTbl)不存在,因为在插入时会自动创建。

第二句(insert into select from)要求目标表(destTbl)存在,由于目标表已经存在,所以我们除了插入源表(srcTbl)的字段外,还可以插入常量。

拓展资料:

结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。sql 语句就是对数据库进行操作的一种语言。

常见语句:

1、更新:update table1 set field1=value1 where 范围。

2、查找:select * from table1 where field1 like ’%value1%’ (所有包含‘value1’这个模式的字符串)。

3、排序:select * from table1 order by field1,field2 [desc]。

4、求和:select sum(field1) as sumvalue from table1。

5、平均:select avg(field1) as avgvalue from table1。

6、最大:select max(field1) as maxvalue from table1。

7、最小:select min(field1) as minvalue from table1[searator]。

将一个表的查询结果插入到另一个表中(oracle、mysql、sql 、GP)

首先你查询后结果的字段与你要插入的表的字段的类型要一致,假入表 1,表2

将表2中查询出的结果插入到表1中,SQL如下(ORACLE):

INSERT INTO 表1(字段1,字段2,字段n)

select 表2.字段1,表2.字段2,表2.字段n from 表2

这样就可以满足你的要求

显示全文