- 示例:修改表 t2 中字段 d 的字段类型。
Query OK, 0 rows affected (0.04 sec)
obclient>ALTER TABLE t2 MODIFY d CHAR(10);
Query OK, 0 rows affected (0.04 sec)
示例:增加、删除列。
obclient> CREATE TABLE test (c1 NUMBER(30) PRIMARY KEY,c2 VARCHAR(50));
Query OK, 0 rows affected (0.07 sec)
增加列前,执行
DESCRIBE test;
命令查看表信息:obclient> DESCRIBE test;
+-------+--------------+------+-----+---------+-------+
| FIELD | TYPE | NULL | KEY | DEFAULT | EXTRA |
+-------+--------------+------+-----+---------+-------+
| C1 | NUMBER(30) | NO | PRI | NULL | NULL |
| C2 | VARCHAR2(50) | YES | NULL | NULL | NULL |
+-------+--------------+------+-----+---------+-------+
执行以下命令增加 c3 列:
增加列后,执行
DESCRIBE test;
命令查看表信息:+-------+--------------+------+-----+---------+-------+
| FIELD | TYPE | NULL | KEY | DEFAULT | EXTRA |
+-------+--------------+------+-----+---------+-------+
| C1 | NUMBER(30) | NO | PRI | NULL | NULL |
| C3 | NUMBER(30) | YES | NULL | NULL | NULL |
+-------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
执行以下命令删除 c3 列:
obclient> ALTER TABLE test DROP column c3;
Query OK, 0 rows affected (0.02 sec)
删除列后,执行
DESCRIBE test;
命令查看表信息:obclient> DESCRIBE test;
+-------+--------------+------+-----+---------+-------+
| FIELD | TYPE | NULL | KEY | DEFAULT | EXTRA |
+-------+--------------+------+-----+---------+-------+
| C1 | NUMBER(30) | NO | PRI | NULL | NULL |
| C2 | VARCHAR2(50) | YES | NULL | NULL | NULL |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
- 为非模板化二级分区表 t_range_range1 添加二级分区 p1_r4。
obclient>ALTER TABLE t_range_range1 MODIFY partition p1 ADD subpartition p1_r4 values less than (400);
Query OK, 0 rows affected (0.08 sec)
- 删除非模板化二级分区表 t_range_range1 的二级分区 p2_r1。
Query OK, 0 rows affected (0.08 sec)
- 为非模板化二级分区表 t_range_range1 添加一级分区 p4,需要同时指定一级分区的定义和该分区下的二级分区定义。
obclient>ALTER TABLE t_range_range1 ADD partition p4 values less than (500) (
subpartition p4_r2 values less than (200),
subpartition p5_r3 values less than (300)
);
Query OK, 0 rows affected (0.08 sec)
- 为模板化二级分区表 t_range_range 添加一级分区 p3,只需要指定一级分区的定义,二级分区的定义会自动按照模板填充。
- 清空分区表 t_log_part_by_range 的分区 M202001 和 M202002 中的全部数据。
obclient> CREATE TABLE t_log_part_by_range (
log_id number NOT NULL
, log_value varchar2(50)
, log_date date NOT NULL DEFAULT sysdate
) PARTITION BY RANGE(log_date)
(
PARTITION M202001 VALUES LESS THAN(TO_DATE('2020/02/01','YYYY/MM/DD'))
, PARTITION M202002 VALUES LESS THAN(TO_DATE('2020/03/01','YYYY/MM/DD'))
, PARTITION M202003 VALUES LESS THAN(TO_DATE('2020/04/01','YYYY/MM/DD'))
, PARTITION M202004 VALUES LESS THAN(TO_DATE('2020/05/01','YYYY/MM/DD'))
, PARTITION M202005 VALUES LESS THAN(TO_DATE('2020/06/01','YYYY/MM/DD'))
, PARTITION MMAX VALUES LESS THAN (MAXVALUE)
);
Query OK, 0 rows affected (0.08 sec)
Query OK, 0 rows affected (0.05 sec)