mysql从表里读取一条数据后插入同一个表

这个需求很简单,就是从一个表里,读取一条数据,然后将数据修改后插入同一个表。

表(假设两个表结构一样)

INSERT INTO 新表
  SELECT * FROM 旧表
 
复制旧表的数据到新表(假设两个表结构不一样)

INSERT INTO 新表(字段1,字段2,.......)
  SELECT 字段1,字段2,...... FROM 旧表

只用sql语句即可完成

代码如下:

 代码如下 复制代码

INSERT INTO your_table (ID, ISO3, TEXT)
VALUES
SELECT ID, 'JPN', TEXT FROM your_table WHERE ID IN ( list_of_ id's )

注意示例代码中的 ‘JPN’  这是一个常量,如果想改变某个字段的值,可直接将常量写在select中。

补充:

 代码如下 复制代码

MySQL复制表结构及数据到新表

CREATE TABLE 新表 SELECT * FROM 旧表,实例如下:
CREATE TABLE new_table SELECT * FROM old_table
执行后的Messages:
(465 row(s) affected)
Execution Time : 00:00:00:359
Transfer Time  : 00:00:01:125
Total Time     : 00:00:01:484
465 row(s)说明复制了数据过去

只复制表结构到新表

CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2
即:让WHERE条件不成立,也可改成5=6等,实例如下:
CREATE TABLE new_table SELECT * FROM old_table WHERE 1=2
执行后的Messages:
(0 row(s) affected)
Execution Time : 00:00:00:641
Transfer Time  : 00:00:01:125
Total Time     : 00:00:01:766

0 row(s)说明没有复制数据过去

时间: 2024-09-24 16:33:12

mysql从表里读取一条数据后插入同一个表的相关文章

mysql快速导入5000万条数据过程记录(LOAD DATA INFILE方式)

mysql快速导入5000万条数据过程记录(LOAD DATA INFILE方式) 首先将要导入的数据文件top5000W.txt放入到数据库数据目录/var/local/mysql/data/${db_name}/ 下,并确保导入用户拥有这个txt文件的权限,否则会报Error 13错误 1.${table_name}换myisam,我们的场景对事务没啥要求,innodb引擎速度太慢了,原来导入12个小时都没导完 2.导入前修改参数和禁止索引更新mysql> SET SESSION BULK_

WebGIS项目中利用mysql控制点库进行千万条数据坐标转换时的分表分区优化方案

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 背景 项目中有1000万条历史案卷,为某地方坐标系数据,我们的真实需求是将地方坐标系坐标反转成WGS84坐标,如果现在需要将其转换成百度坐标系数据.常规方案是先建立好整个该市的本地坐标和百度坐标之间的控制点库后再进行转换.但是在具体实施中发现转换特别慢,由于控制点库也有200多万条记录,大概一个点需要一秒钟才能转换完. 2.将Update变成Insert关键字段值

如何把文本里的每条数据后两位截掉,然后读到另一个文本里

问题描述 如何把文本里的每条数据后两位截掉,然后读到另一个文本里 现在有一个数据量比较大的文本文档,但是每行都多了两位,有什么dos命令,或者bat写法可以实现吗? 解决方案 FileIN 你的文本 @echo off &setlocal (for /f "delims=" %%a in (FileIN.txt) do ( set "line=%%a" setlocal enabledelayedexpansion set "line=!line:

c++ 大数据 hash_map-hash_map,unordered_map以string作为键,插入一千多万条数据后崩溃

问题描述 hash_map,unordered_map以string作为键,插入一千多万条数据后崩溃 代码: #include "stdafx.h" #include"iostream" #include #include #include #include #include using namespace std; typedef hash_map myMap; void CharsAllSequen(myMap &resultMap, string &a

帝国cms随机读取20条数据sql语句

自己经常使用sql语句,没有总结出一个系统的sql语句大全来.今天就顺带在发个随机读取20条数据sql语句,留着以后自己用.也让后来者可以一起分享分享. [ecmsinfo]"select * from [!db.pre!]ecms_news where (classid  between 1 and 10) order by rand()  LIMIT  20",20,36,0,24,2,0[/ecmsinfo]

ibatis-Mysql 在A表新增一条数据时,B表的b字段会根据A表的a字段的值增加或减小

问题描述 Mysql 在A表新增一条数据时,B表的b字段会根据A表的a字段的值增加或减小 用ibatis和mysql,用excel导入表格A时, A表有一个字段a每月还款额,B表有一个字段b总金额._两个表根据peopleid关联_. 在A表插入一行新的数据,对应的B表的 某条数据 的字段b总金额发生更新变化. 请问在Action中或sql语句要如何实现这个功能 解决方案 这个用程序来做不是很简单么? 就是在A表插入成功以后执行更新B表的sql语句不就完了么 解决方案二: 在数据库中A表建一个触

数据库-如何实现一个触发器:在插入一条数据前创建一个表,表名由插入的数据决定?

问题描述 如何实现一个触发器:在插入一条数据前创建一个表,表名由插入的数据决定? MySQL数据库的触发器能不能实现创建表,表名用变量指定? 这个变量该如何表示? 谢谢. 解决方案 可以的,使用动态sql就可以,参考如下链接 http://www.2cto.com/database/201209/156678.html

ajax 数据库中随机读取5条数据动态在页面中刷新_AJAX相关

不能用数据库中的Top,后面发现了用这样一个方法可以实现...现就这个方法总结写了一个页面.有兴趣的朋友们可以一起学习下.... 前台代码:  复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ajaxRandomData.aspx.cs" Inherits="ajaxRandomData" %> <!DOCTYPE html

ajax 数据库中随机读取5条数据动态在页面中刷新

不能用数据库中的Top,后面发现了用这样一个方法可以实现...现就这个方法总结写了一个页面.有兴趣的朋友们可以一起学习下.... 前台代码:  复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ajaxRandomData.aspx.cs" Inherits="ajaxRandomData" %> <!DOCTYPE html