以下命令是不是你想要的?
創(chuàng)新互聯(lián)建站專注于汝州企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,購物商城網(wǎng)站建設(shè)。汝州網(wǎng)站建設(shè)公司,為汝州等地區(qū)提供建站服務(wù)。全流程定制制作,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
1、復(fù)制表結(jié)構(gòu)及數(shù)據(jù)到新表
CREATE?TABLE?新表SELECT?*?FROM?舊表
這種方法會將oldtable中所有的內(nèi)容都拷貝過來,當(dāng)然我們可以用delete?from?newtable;來刪除。
不過這種方法的一個最不好的地方就是新表中沒有了舊表的primary?key、Extra(auto_increment)等屬性。需要自己用alter添加,而且容易搞錯。
2、只復(fù)制表結(jié)構(gòu)到新表
CREATE?TABLE?新表SELECT?*?FROM?舊表WHERE?1=2
或CREATE?TABLE?新表LIKE?舊表
3、復(fù)制舊表的數(shù)據(jù)到新表(假設(shè)兩個表結(jié)構(gòu)一樣)
INSERT?INTO?新表SELECT?*?FROM?舊表
4、復(fù)制舊表的數(shù)據(jù)到新表(假設(shè)兩個表結(jié)構(gòu)不一樣)
INSERT?INTO?新表(字段1,字段2,.......)?SELECT?字段1,字段2,......?FROM?舊表
5、可以將表1結(jié)構(gòu)復(fù)制到表2
SELECT?*?INTO?表2?FROM?表1?WHERE?1=2
6、可以將表1內(nèi)容全部復(fù)制到表2
SELECT?*?INTO?表2?FROM?表1
7、?show?create?table?舊表;
這樣會將舊表的創(chuàng)建命令列出。我們只需要將該命令拷貝出來,更改table的名字,就可以建立一個完全一樣的表
8、mysqldump
用mysqldump將表dump出來,改名字后再導(dǎo)回去或者直接在命令行中運行
這個和sql語句操作思路有關(guān)
其他語言也類似 java也是如此
我沒想到好辦法
但有個死辦法
sql="select * from 表 order by 重復(fù)的字段,ID"
那就是按重復(fù)的字段和ID排序
再循環(huán)讀取記錄集
例如
ResultSet rs=stmt.executeQuery(sql);
stmt=null;
String rank="";
int i=0;
while(rs.next()){
String rank1=rs.getString("字段1");
if(rank1.equals(rank)){
i=i+1;
修改字段1的數(shù)據(jù)為 rank1+i
}
else
begin
rank=rank1;
end
}
以上隨手亂寫 沒有經(jīng)過編譯 只提供思路
過濾重復(fù)數(shù)據(jù)
有些 MySQL 數(shù)據(jù)表中可能存在重復(fù)的記錄,有些情況我們允許重復(fù)數(shù)據(jù)的存在,但有時候我們也需要刪除這些重復(fù)的數(shù)據(jù)。
如果你需要讀取不重復(fù)的數(shù)據(jù)可以在 SELECT 語句中使用 DISTINCT 關(guān)鍵字來過濾重復(fù)數(shù)據(jù)。
你也可以使用 GROUP BY 來讀取數(shù)據(jù)表中不重復(fù)的數(shù)據(jù):
資料來源:樹懶學(xué)堂