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

作者:简简单单 2014-07-15

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

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

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)说明没有复制数据过去

相关文章

精彩推荐