以下命令是不是你想要的?
创新互联建站专注于汝州企业网站建设,响应式网站,购物商城网站建设。汝州网站建设公司,为汝州等地区提供建站服务。全流程定制制作,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务
1、复制表结构及数据到新表
CREATE TABLE 新表SELECT * FROM 旧表
这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable;来删除。
不过这种方法的一个最不好的地方就是新表中没有了旧表的primary key、Extra(auto_increment)等属性。需要自己用alter添加,而且容易搞错。
2、只复制表结构到新表
CREATE TABLE 新表SELECT * FROM 旧表WHERE 1=2
或CREATE TABLE 新表LIKE 旧表
3、复制旧表的数据到新表(假设两个表结构一样)
INSERT INTO 新表SELECT * FROM 旧表
4、复制旧表的数据到新表(假设两个表结构不一样)
INSERT INTO 新表(字段1,字段2,.......) SELECT 字段1,字段2,...... FROM 旧表
5、可以将表1结构复制到表2
SELECT * INTO 表2 FROM 表1 WHERE 1=2
6、可以将表1内容全部复制到表2
SELECT * INTO 表2 FROM 表1
7、 show create table 旧表;
这样会将旧表的创建命令列出。我们只需要将该命令拷贝出来,更改table的名字,就可以建立一个完全一样的表
8、mysqldump
用mysqldump将表dump出来,改名字后再导回去或者直接在命令行中运行
这个和sql语句操作思路有关
其他语言也类似 java也是如此
我没想到好办法
但有个死办法
sql="select * from 表 order by 重复的字段,ID"
那就是按重复的字段和ID排序
再循环读取记录集
例如
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的数据为 rank1+i
}
else
begin
rank=rank1;
end
}
以上随手乱写 没有经过编译 只提供思路
过滤重复数据
有些 MySQL 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据。
如果你需要读取不重复的数据可以在 SELECT 语句中使用 DISTINCT 关键字来过滤重复数据。
你也可以使用 GROUP BY 来读取数据表中不重复的数据:
资料来源:树懒学堂