Insert水平分区

INSERT分区表和普通表一样,也可以直接插入数据到子分区表中。如果插入的数据超出子分区表的边界,将会报错。

示例1:INSERT范围分区表

--  清理环境
DROP TABLE tab;

-- 创建分区表
CREATE TABLE tab 
(
    c1 INT, 
    c2 INT
)
PARTITION BY RANGE (c1)
(
    PARTITION p1 VALUES LESS THAN (10),
    PARTITION p2 VALUES LESS THAN (20),
    PARTITION p3 VALUES LESS THAN (30)
);

--和普通表一样插入数据
INSERT INTO tab VALUES(2,3);

--直接插入数据到子分区表
INSERT INTO tab PARTITION(p2) VALUES(14, 20);

--直接插入数据到子分区表,但数据不在所插入的分区边界内,报错
INSERT INTO tab PARTITION(p2) VALUES(22, 30);
ERROR, 新增行不属于用户指定子分区表


--删除表
DROP TABLE tab;

示例2:INSERT哈希分区表

--  清理环境
DROP TABLE tab;

--创建哈希分区表
CREATE TABLE tab
(
    c1 INT,
    c2 INT
)
PARTITION BY HASH(c1)
(
    PARTITION p1,
    PARTITION p2
);

--插入值到分区表
INSERT INTO tab VALUES(1,2);

--删除表
DROP TABLE tab;