merge表

注意:
1 每个子表的结构必须一致,主表和子表的结构需要一致, 2 每个子表的索引在merge表中都会存在,所以在merge表中不能根据该索引进行唯一性检索。 3 子表需要是MyISAM引擎
4 AUTO_INCREMENT 不会按照你所期望的方式工作。 建表语句 create table tablename(正常的字段)engine=merge insert_method=last insert_method: 有两个值如下:
LAST 如果你执行insert 指令来操作merge表时,插入操作会把数据添加到最后一个子表中。 FIRST 同理,执行插入数据时会把数据添加到第一个子表中。 例子: create table user1(
id int(10) not null auto_increment, name varchar(50),
sex int(1), primary key(id)
)engine=myisam charset=utf8; create table user2( id int(10) not null auto_increment, name varchar(50),
sex int(10) ,primary key(id)
)engine=myisam charset=utf8; insert into user1 (name,sex) values('张三',0); insert into user2 (name,sex) values('lisi',1); mysql> select * from user1;
+----+------+------+
| id | name | sex |
+----+------+------+
| 1 | 张三 | 0 |
+----+------+------+ mysql> select * from user2;
+----+------+------+
| id | name | sex |
+----+------+------+
| 1 | lisi | 1 |
+----+------+------+ create table alluser( id int(10) not null auto_increment,
name varchar(50), sex int(10),
index(id) )type=merge union=(user1,user2) insert_method=last; mysql> select * from alluser;
+----+------+------+
| id | name | sex |
+----+------+------+
| 1 | 张三 | 0 |
| 1 | lisi | 1 |
+----+------+------+ mysql> insert into alluser(name,sex) values('嘿嘿',0); mysql> select * from user1;
+----+------+------+
| id | name | sex |
+----+------+------+
| 1 | 张三 | 0 |
+----+------+------+
1 row in set (0.00 sec) mysql> select * from user2;
+----+------+------+
| id | name | sex |
+----+------+------+
| 1 | lisi | 1 |
| 2 | 嘿嘿 | 0 |
+----+------+------+ 2 rows in set (0.00 sec)
//他把这条数据存入了user2表里是因为我们的insert_method的参数填写的是last mysql> update alluser set sex=replace(sex,0,1) where id=2;
+----+------+------+
| id | name | sex |
+----+------+------+
| 1 | 张三 | 0 |
| 1 | lisi | 1 |
| 2 | 嘿嘿 | 1 |
+----+------+------+

mysql-merge合并表的更多相关文章

  1. mysql用merge合并表

    merge合并表的要求 1.合并的表使用的必须是MyISAM引擎 2.表的结构必须一致,包括索引.字段类型.引擎和字符集 实例: create table if not exists user1( i ...

  2. MySQL分区表与合并表

    一.分区表 1. 什么是分区表? 对用户来说,分区表是一个独立的逻辑表,但是底层由多个物理子表组成(所以索引也是按照分区的子表定义的, 而没有全局索引).实现分区的代码实际上是对一组底层表的句柄对象的 ...

  3. mysql merge表介绍

    在Mysql数据库中,Mysql Merge表有点类似于视图.下面就让我们来一起了解一下Mysql Merge表都有哪些优点,希望对您能有所帮助. Mysql Merge表的优点: A: 分离静态的和 ...

  4. mysql下merge分表

    1.merge简介分表就是把N条记录的表,分成若干个分表,各个分表记录的总和仍为N. 分表的方法有很多,用merge来分表,是最简单的一种方式.merge是mysql的一种存储引擎,它把一组MyISA ...

  5. Mysql MERGE 引擎在分表环境下得使用

    应用场景:当我们在做分表的时候,通常会把一个大表的数据拆分成若干个分表,这也是数据库优化中的分表概念.随着分表随之而来的问题就是多表查询. 现在有 t1,t2 两张数据表,需要满足不同的查询条件同时从 ...

  6. Kettle 实现mysql数据库不同表之间数据同步——实验过程

    下面是试验的主要步骤: 在上一篇文章中LZ已经介绍了,实验的环境和实验目的. 在本篇文章中主要介绍侧重于对Kettle ETL的相应使用方法, 在这里LZ需要说明一下,LZ成为了避免涉及索引和表连接等 ...

  7. 【分库、分表】MySQL分库分表方案

    一.Mysql分库分表方案 1.为什么要分表: 当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了.分表的目的就在于此,减小数据库的负担,缩短查询时间. ...

  8. mysql分区分表讲解

    为什么要分表和分区? 日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表.这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能 ...

  9. Mysql大数据表优化处理

    原文链接: https://segmentfault.com/a/1190000006158186 当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表 ...

  10. MySQL MERGE存储引擎 简介及用法

    MERGE存储引擎把一组MyISAM数据表当做一个逻辑单元来对待,让我们可以同时对他们进行查询.构成一个MERGE数据表结构的各成员MyISAM数据表必须具有完全一样的结构.每一个成员数据表的数据列必 ...

随机推荐

  1. 【linux】linux根文件系统制作

    欢迎转载,转载时请保留作者信息,谢谢. 邮箱:tangzhongp@163.com 博客园地址:http://www.cnblogs.com/embedded-tzp Csdn博客地址:http:// ...

  2. linux shell种类

    1.shell 种类 目前我们的 Linux (以 CentOS 5.x 为例) 有多少我们可以使用的 shells 呢? 你可以检查一下 /etc/shells 这个文件,至少就有底下这几个可以用的 ...

  3. 基于visual Studio2013解决C语言竞赛题之1062高与矮

       题目 解决代码及点评 /************************************************************************/ /* 62 ...

  4. python web with bottle and session (beaker)

    python web with bottle and session (beaker) http://icodesnip.com/snippet/python/python-web-with-bott ...

  5. Linux下的链接文件

    整理自<鸟哥的Linux私房菜>,整理者:华科小涛http://www.cnblogs.com/hust-ghtao/ Linux中的链接文件分为两种:硬链接和软链接.软链接(symbol ...

  6. 在程序异常中记录堆栈信息(使用ExWatcher)

    在我们编写程序的时候可通过IDE自带的调试环境捕捉到异常(Except)错误,并能查看到相关的信息以便我们修正程序中的问题.但当软件被发布出去后,因为所部署运行的环境与我们的调试环境有很大区别,即使在 ...

  7. JAVA之成员变量初始化

    java中成员变量的初始化,如果是普通成员变量可以赋初值,如果没赋初值,则系统会自动赋初值.而对于局部变量必须手动赋初值. package MyText2; public class MyText1 ...

  8. c/c++ 动态申请数组

    new和delete运算符用于动态分配和撤销内存的运算符 new使用方法: 1.     开辟单变量地址空间 1)new int;  //开辟一个存放数组的存储空间,返回一个指向该存储空间的地址.in ...

  9. iOS:获取图片Alpha图片

    -(void)createImages { // Load the alpha image, which is just the same Ship.png image used in the cli ...

  10. 旧版QT的名称:qt-win-commercial-4.4.3-vc60.exe

    qt-win-commercial-4.4.3-vc60.exeqt-vsaddin-collection-2.1.4.exeqt-win-commercial-4.4.3-v2005.exeqt-v ...