mysql添加分区(分区增删改)如果想在已经建好的表上进⾏分区,如果使⽤alter添加分区的话,mysql会提⽰错误:
ERROR 1505 <HY000> Partition management on a not partitioned table is not possible 正确的⽅法是新建⼀个具有分区的表,结构⼀致,然后⽤insert into 分区表 select * from 原始表;
测试创建分区表⽂件
Mysql代码
1. CREATE TABLE tr (id INT, name VARCHAR(50), purchased DATE)
2. PARTITION BY RANGE(YEAR(purchased))
3. (
4.    PARTITION p0 VALUES LESS THAN (1990),
5.    PARTITION p1 VALUES LESS THAN (1995),
6.    PARTITION p2 VALUES LESS THAN (2000),
7.    PARTITION p3 VALUES LESS THAN (2005)
8. );
插⼊测试数据
Mysql代码
1. INSERT INTO tr VALUES
2. (1, 'desk organiser', '2003-10-15'),
3. (2, 'CD player', '1993-11-05'),
4. (3, 'TV set', '1996-03-10'),
5. (4, 'bookcase', '1982-01-10'),
分数反函数怎么求
6. (5, 'exercise bike', '2004-05-09'),
7. (6, 'sofa', '1987-06-05'),
8. (7, 'popcorn maker', '2001-11-22'),
9. (8, 'aquarium', '1992-08-04'),
10. (9, 'study desk', '1984-09-16'),
11. (10, 'lava lamp', '1998-12-25');
查询P2中的数据
Mysql代码
1. select * from tr where purchased between '1995-01-01' and '2004-12-31';
如果删除P2,在删除P2分区的同时,也会将其下的所有数据删除
Mysql代码
1. alter table tr drop partition p2;
2.
3. show create table tr;
4.
5. CREATE TABLE `tr` (
6.  `id` int(11) DEFAULT NULL,
7.  `name` varchar(50) DEFAULT NULL,
8.  `purchased` date DEFAULT NULL
9. ) ENGINE=MyISAM DEFAULT CHARSET=utf8
10. /*!50100 PARTITION BY RANGE (YEAR(purchased))
11. (PARTITION p0 VALUES LESS THAN (1990) ENGINE = MyISAM,
12.  PARTITION p1 VALUES LESS THAN (1995) ENGINE = MyISAM,
13.  PARTITION p3 VALUES LESS THAN (2005) ENGINE = MyISAM) */
再次插⼊数据时,会将原P2的数据插⼊⾄P3中
Mysql代码
1. INSERT INTO tr VALUES (11, 'pencil holder', '1995-07-12');
2.
3. ALTER TABLE tr DROP PARTITION p3;
4.
5. SELECT * FROM tr WHERE purchased  BETWEEN '1995-01-01' AND '2004-12-31';
创建⼀个新的测试表
Mysql代码
1. CREATE TABLE members (linux基础命令有哪些
2.    id INT,
3.    fname VARCHAR(25),
网页代码去水印4.    lname VARCHAR(25),
5.    dob DATE
6. )
7. PARTITION BY RANGE(YEAR(dob)) (
8.    PARTITION p0 VALUES LESS THAN (1970),
9.    PARTITION p1 VALUES LESS THAN (1980),
10.    PARTITION p2 VALUES LESS THAN (1990)
11. );
mysql面试题 增删改查
直接⽤alter table tablename add partition ⽅式再最后⾯添加分区
Mysql代码
1. ALTER TABLE members ADD PARTITION (PARTITION p3 VALUES LESS THAN (2000));
Mysql代码
1. ALTER TABLE members reorganize partition p0 into (
2.    partition m0 values less than (1960),
3.    partition m1 values less than (1970)
4. );
5.
6. show create table members;
7.
8. CREATE TABLE `members` (
9.  `id` int(11) DEFAULT NULL,
10.  `fname` varchar(25) DEFAULT NULL,
11.  `lname` varchar(25) DEFAULT NULL,
12.  `dob` date DEFAULT NULL
13. ) ENGINE=MyISAM DEFAULT CHARSET=utf8
衣服颜搭配图片大全
14. /*!50100 PARTITION BY RANGE (YEAR(dob))
15. (PARTITION m0 VALUES LESS THAN (1960) ENGINE = MyISAM,
16.  PARTITION m1 VALUES LESS THAN (1970) ENGINE = MyISAM,
17.  PARTITION p1 VALUES LESS THAN (1980) ENGINE = MyISAM,
18.  PARTITION p2 VALUES LESS THAN (1990) ENGINE = MyISAM,
19.  PARTITION p3 VALUES LESS THAN (2000) ENGINE = MyISAM) */
补码运算编程实验步骤20.