有人提出要将4张表合并成一张.数据量比较大,有4千万条数据.有很多重复数据,需要对某一列进行去重. 数据量太大的话,可以看我另外一篇:http://www.cnblogs.com/magmell/p/8941338.html mysql:思路: 1.导出数据.select into outfile. 2.传输到要导入数据的服务器上. 3.创建一张新表,主键和约束等与那三张表一样. 4.LOAD DATA INFILE导入.利用replace参数进行覆盖达到去重的目的. LOAD DATA INF
一.横向拆分 create table 新表的名称 select * from 被拆分的表 order by id limit int1,int2 int1为其实位置,int2为几条 注意:这样拆分后主键会失效手动让其主键生效即可所有要执行 alter table 新表的名称 modify 主键字段 int primary key auto_increment 二.纵向拆分 create table 新表的名称 select 需保留的字段 from 被拆分的表 拆分后原表都要保存 主要是把经常查
转载 直接根据数据量进行拆分 有一个5000条数据的表,要把它变成没1000条数据一个表的5等份. 假设:表名:xuesi 主键:kidxuesi共有5000条数据,kid从1到5000自动增长题目:将xuesi分成5个表 每个表1000条不同的数据 方法1:create table xuesi1 select * from xuesi order by kid limit 0,1000;create table xuesi2 select * from xuesi order by kid l
联合查询 所谓的联合查询就是将满足条件的结果进行拼接在同一张表中. 基本语法: select */字段 from 数据表1 union [all | distinct] select */字段 from 数据表2; 特别说明:使用union联合查询必须有一个前提,每个表读取的字段数必须是一致的 union联合查询默认是去重的. union all :在数据联合时保存所有数据,示例代码: union distinct :在数据联合时去重所有重复的数据,示例代码: union的意义:主要用于大数
第一次在Access中写多表查询,就按照MS数据库中的写法,结果报语法错,原来Access的多表连接查询是不一样的 表A.B.C,A关联B,B关联C,均用ID键关联 一般写法:select * from A inner join B on A.ID=B.ID inner join C on B.ID=C.ID 此写法在Access中报错,Access对SQL语法理解方式不一样,它将两表连接后当作一个表然后再与第三个表连接,因此要改成 select * from (A inner join B o
一 笛卡尔积 select * from 表1,表2 将两表的记录遍历显示 二表的横向连接 1 使用外键关系作为条件 select * from 表1,表2 where 表1表2的外键约束关系 select 列1,列2, from 表1,表2 where 表1表2的外键约束关系 2 join on select * from 表1 join 表2 on 表1表2的外键约束关系 select 列1,列2 from 表1 join