mysql怎样将里面的数据全部打乱重新存储
2个回答
展开全部
可以利用rand函数排序源表数据,再插入回源表。请参考下列实验:
假设有学生表存储数万行记录,结构如下
student(sid char(10) 主键,sname,sex,dob )
执行下面系列查询将原有记录打乱插入回学生表:
-- 创建一个结构与学生表结构相同的中间过渡表
create table s1 (sid char(10) primary key,
sname varchar(50),sex char(1),dob date);
-- 将学生表中的数据插入到s1
insert into s1 select * from student;
-- 清空学生表
truncate table student;
-- 将中间过渡表s1中的记录打乱插入回学生表
insert into student select * from s1 order by rand();
-- 删除过渡表
drop table s1;
假设有学生表存储数万行记录,结构如下
student(sid char(10) 主键,sname,sex,dob )
执行下面系列查询将原有记录打乱插入回学生表:
-- 创建一个结构与学生表结构相同的中间过渡表
create table s1 (sid char(10) primary key,
sname varchar(50),sex char(1),dob date);
-- 将学生表中的数据插入到s1
insert into s1 select * from student;
-- 清空学生表
truncate table student;
-- 将中间过渡表s1中的记录打乱插入回学生表
insert into student select * from s1 order by rand();
-- 删除过渡表
drop table s1;
追答
不过需要指出的是表记录的先后次序其实并不重要,对记录进行各种排序很方便的。除非有特别的需要,没必要这样做的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |