mysql?復制行數(shù)據(jù)命令經(jīng)驗分享(Mysql?復制一條數(shù)據(jù))
沒主鍵
如有有自增字段不需要寫
insert into tt (f1,f2) select f1,f2 from tt
有主鍵
兩步走
第一步排除主鍵字段,第二步,把結(jié)果復制到插入語句中去,執(zhí)行,它數(shù)據(jù)是翻倍的,隨便執(zhí)行幾次就有幾百條了。。。
SELECT GROUP_CONCAT( column_name SEPARATOR ',' ) FROM information_schema.COLUMNS WHERE column_name <> '想要排除的字段名' AND table_name = '表名字' GROUP BY table_name; insert into 表名 (排除字段后剩余字段) select 排除字段后剩余字段 from 表名;
注意最后沒有where,直接就是全表數(shù)據(jù)復制。
mysql編程
這個就是像寫代碼一樣,搞一個循環(huán),可以定義變量接收結(jié)果。。然后執(zhí)行。
這個還是比較復雜,等有空了我再來寫出來吧。
下面是比較好的方案
Mysql 復制一條數(shù)據(jù)
從不同的表復制
insert into 表1 select * from 表2 where id =** ;
同一張表中復制(無主鍵)
insert into 表1 select * from 表1 where id =** ;
同一張表中復制(有主鍵)
insert into 表1(字段1,字段2,字段3) select 字段1,字段2,字段3 from 表1 where id= ** ;
實例講解
一、復制表里面的一條記錄并插入表里面
?insert into article(title,keywords,desc,contents) select title,keywords,desc,contents from article where article_id = 100;
二、復制表里的多條數(shù)據(jù)/記錄,并插入到表里面
① INSERT INTO `power_node`(title,type,status) SELECT title,type,status FROM power_node WHERE id < 5;
② INSERT into jiaban (num,overtime) SELECT num,overtime from jiaban where id IN(1,3,5,6,7,9);
三、在創(chuàng)建表時,就插入另一張表里面的某些數(shù)據(jù)
① create table user AS select * from member where id < 10
CREATE TABLE 表1 as select * from 表2;
as創(chuàng)建出來的表1(新表)缺少表2(源表)的索引信息,只有表結(jié)構相同,沒有索引。
CREATE TABLE 表1 like 表2;
like 創(chuàng)建出來的新表包含源表的完整表結(jié)構和索引信息
as用來創(chuàng)建相同表結(jié)構并復制源表數(shù)據(jù)
like用來創(chuàng)建完整表結(jié)構和全部索引
oracle支持as,也是只有表結(jié)構沒有索引;oracle不支持like。
腳本之家小編補充
針對dede的一些復制表出錯的解決方案
軟件
文章
輸入 id
其實就是在 addonarchive或anaddsoft adonarticle 中添加這個 id 什么的,可以從別的id復制一條(文章復制文章 軟件復制軟件的)
insert into dede_archives select typeid,channel,adminID,title from dede_archives where id=**;
最后的id為要復制的文件或軟件id
默認id是自增加字符,需要復制后再進行修改為想要增加的id才可以。
insert into 表1(字段1,字段2,字段3) select 字段1,字段2,字段3 from 表1 where id= ** ;
相關文章
MYSQL Left Join優(yōu)化(10秒優(yōu)化到20毫秒內(nèi))
在實際開發(fā)中,相信大多數(shù)人都會用到join進行連表查詢,但是有些人發(fā)現(xiàn),用join好像效率很低,而且驅(qū)動表不同,執(zhí)行時間也不同。那么join到底是如何執(zhí)行的呢,本文就詳細的介紹一下2021-12-12