文章目录
1、原题
1.1、原题
1.2、答案
D
2、题目解析
2.1、题干解析
本题考察更改分区后表定义是否会发生改变。
2.2、选项解析
- 根据实验结果证实,更改分区后表定义同样会改变。
3、实验
3.1、实验1
3.1.1、实验目的
验证ALTER TABLE DROP PARTITION后,表定义是否也发生变化。
3.1.2、实验前准备
已安装并运行的MySQL5.7。
4.1.3、实验步骤
- 先建立一个分区表,查看表定义,然后删除两个分区,再查看表定义,发现表定义发生了变化。
mysql> CREATE TABLE test_partition (id INT, name VARCHAR(50), purchased DATE)
PARTITION BY RANGE( YEAR(purchased) ) (
PARTITION p0 VALUES LESS THAN (1990),
PARTITION p1 VALUES LESS THAN (1995),
PARTITION p2 VALUES LESS THAN (2000),
PARTITION p3 VALUES LESS THAN (2005)
);
mysql> SHOW CREATE TABLE test_partition;
| test_partition | CREATE TABLE `test_partition` (
......
(PARTITION p0 VALUES LESS THAN (1990) ENGINE = InnoDB,
PARTITION p1 VALUES LESS THAN (1995) ENGINE = InnoDB,
PARTITION p2 VALUES LESS THAN (2000) ENGINE = InnoDB,
PARTITION p3 VALUES LESS THAN (2005) ENGINE = InnoDB) */ |
mysql> ALTER TABLE test_partition DROP PARTITION p1,p2;
mysql> SHOW CREATE TABLE test_partition;
| test_partition | CREATE TABLE `test_partition` (
......
(PARTITION p0 VALUES LESS THAN (1990) ENGINE = InnoDB,
PARTITION p3 VALUES LESS THAN (2005) ENGINE = InnoDB) */ |
4.1.4、实验结论
- 更改分区后表定义同样会改变。
4、总结
- 可以使用ALTER TABLE DROP PARTITION更改表的分区,更改后表定义也会随之发生变化。