From 86a47b89a6b314044c116a7cf1842e1abc2f544c Mon Sep 17 00:00:00 2001 From: prinz <281208364@qq.com> Date: Wed, 20 Sep 2023 19:30:02 +0800 Subject: [PATCH 1/3] new docs of alter sequence and replace view --- .../1.1-alter-sequence.md | 84 +++++++++++++++++++ .../1.1-create-replace-view.md | 73 ++++++++++++++++ 2 files changed, 157 insertions(+) create mode 100644 docs/MatrixOne/Reference/SQL-Reference/Data-Definition-Language/1.1-alter-sequence.md create mode 100644 docs/MatrixOne/Reference/SQL-Reference/Data-Definition-Language/1.1-create-replace-view.md diff --git a/docs/MatrixOne/Reference/SQL-Reference/Data-Definition-Language/1.1-alter-sequence.md b/docs/MatrixOne/Reference/SQL-Reference/Data-Definition-Language/1.1-alter-sequence.md new file mode 100644 index 0000000000..ac5d9a4da1 --- /dev/null +++ b/docs/MatrixOne/Reference/SQL-Reference/Data-Definition-Language/1.1-alter-sequence.md @@ -0,0 +1,84 @@ +# **ALTER SEQUENCE** + +## **语法说明** + +`ALTER SEQUENCE` 用于修改现有序列。 + +## **语法结构** + +``` +> ALTER SEQUENCE [ IF EXISTS ] SEQUENCE_NAME +[ AS data_type ] +[ INCREMENT [ BY ] increment ] +[ MINVALUE minvalue] [ MAXVALUE maxvalue] +[ START [ WITH ] start ] [ [ NO ] CYCLE ] +``` + +### 语法释义 + +- `[ IF EXISTS ]`:可选的子句,表示如果指定的序列不存在,也不会引发错误。如果使用了此子句,系统将检查序列是否存在,如果不存在,将忽略修改请求。 + +- `SEQUENCE_NAME`:要修改的序列的名称。 + +- `[ AS data_type ]`:可选子句,它允许您为序列指定数据类型。通常,序列的数据类型是整数。 + +- `[ INCREMENT [ BY ] increment ]`:这是指定序列的增量值。序列的增量值是在每次递增或递减时要添加到当前值的数量。如果未指定增量值,通常默认为1 。 + +- `[ MINVALUE minvalue ]`:这是序列的最小值,它指定了序列允许的最小值。如果指定了最小值,序列的当前值不能低于此值。 + +- `[ MAXVALUE maxvalue ]`:这是序列的最大值,它指定了序列允许的最大值。如果指定了最大值,序列的当前值不能超过此值。 + +- `[ START [ WITH ] start ]`:这是序列的起始值,它指定序列的初始值。如果未指定起始值,通常默认为1。 + +- `[ [ NO ] CYCLE ]`:可选子句,用于指定是否循环使用序列值。如果指定了 `NO CYCLE`,则在达到最大值或最小值后,序列将停止递增或递减。如果未指定此子句,通常默认为不循环。 + +## **示例** + +```sql +-- 创建一个名为 alter_seq_01 的序列,将序列的增量设置为 2,设置序列的最小值为 30,最大值为 100,并启用循环 +create sequence alter_seq_01 as smallint increment by 2 minvalue 30 maxvalue 100 cycle; + +mysql> select * from alter_seq_01; ++--------------+-----------+-----------+-------------+-----------------+-------+-----------+ +| last_seq_num | min_value | max_value | start_value | increment_value | cycle | is_called | ++--------------+-----------+-----------+-------------+-----------------+-------+-----------+ +| 30 | 30 | 100 | 30 | 2 | true | false | ++--------------+-----------+-----------+-------------+-----------------+-------+-----------+ +1 row in set (0.00 sec) + +-- 取消序列 alter_seq_01 的循环 +mysql> alter sequence alter_seq_01 no cycle; +Query OK, 0 rows affected (0.01 sec) + +mysql> select * from alter_seq_01; ++--------------+-----------+-----------+-------------+-----------------+-------+-----------+ +| last_seq_num | min_value | max_value | start_value | increment_value | cycle | is_called | ++--------------+-----------+-----------+-------------+-----------------+-------+-----------+ +| 30 | 30 | 100 | 30 | 2 | false | false | ++--------------+-----------+-----------+-------------+-----------------+-------+-----------+ +1 row in set (0.00 sec) + +-- 将序列 alter_seq_01 的起始值设置为 40 +mysql> alter sequence alter_seq_01 start with 40; +Query OK, 0 rows affected (0.01 sec) + +mysql> select * from alter_seq_01; ++--------------+-----------+-----------+-------------+-----------------+-------+-----------+ +| last_seq_num | min_value | max_value | start_value | increment_value | cycle | is_called | ++--------------+-----------+-----------+-------------+-----------------+-------+-----------+ +| 40 | 30 | 100 | 40 | 3 | false | false | ++--------------+-----------+-----------+-------------+-----------------+-------+-----------+ +1 row in set (0.01 sec) + +-- 将序列 alter_seq_01 的增量值设置为 3 +mysql> alter sequence alter_seq_01 increment by 3; +Query OK, 0 rows affected (0.01 sec) + +mysql> select * from alter_seq_01; ++--------------+-----------+-----------+-------------+-----------------+-------+-----------+ +| last_seq_num | min_value | max_value | start_value | increment_value | cycle | is_called | ++--------------+-----------+-----------+-------------+-----------------+-------+-----------+ +| 40 | 30 | 100 | 40 | 3 | false | false | ++--------------+-----------+-----------+-------------+-----------------+-------+-----------+ +1 row in set (0.00 sec) +``` diff --git a/docs/MatrixOne/Reference/SQL-Reference/Data-Definition-Language/1.1-create-replace-view.md b/docs/MatrixOne/Reference/SQL-Reference/Data-Definition-Language/1.1-create-replace-view.md new file mode 100644 index 0000000000..31828ce36e --- /dev/null +++ b/docs/MatrixOne/Reference/SQL-Reference/Data-Definition-Language/1.1-create-replace-view.md @@ -0,0 +1,73 @@ +# **CREATE OR REPLACE VIEW** + +## **语法说明** + +`CREATE OR REPLACE VIEW` 用于创建一个新的视图,也可以用作当视图已经存在时,则替换已有的视图。这表示在视图已经存在时更新视图的定义,而不需要删除已有的视图。 + +## **语法结构** + +``` +> CREATE OR REPLACE VIEW view_name AS +SELECT column1, column2, ... +FROM table_name +WHERE condition; +``` + +### 语法释义 + +- `view_name`:要创建或替换的视图的名称,需要为视图指定一个唯一的名称。 + +- `AS`:用于指示以下的查询语句是视图的查询定义。 + +- `SELECT column1, column2, ...`:在 AS 关键字之后,你需要指定视图的查询定义。这是一个 SELECT 语句,可以选择表中的特定列,也可以使用计算字段、表达式等等。视图会将这个查询的结果作为其自身的数据。 + +- `FROM table_name`:`FROM` 子句,用于指定要查询的表名。你可以选择一个或多个表,并在视图中进行相关操作。 + +- `WHERE condition`:可选的 `WHERE` 子句,用于筛选查询结果。 + +## **示例** + +```sql +-- 创建表 t1 包括两列 a 和 b +create table t1 (a int, b int); + +-- 向表 t1 插入三行数据 +insert into t1 values (1, 11), (2, 22), (3, 33); + +-- 创建视图 v1,该视图包含表 t1 中的所有数据 +create view v1 as select * from t1; + +-- 查询视图 v1 的所有数据 +mysql> select * from v1; ++------+------+ +| a | b | ++------+------+ +| 1 | 11 | +| 2 | 22 | +| 3 | 33 | ++------+------+ +3 rows in set (0.01 sec) + +-- 查询视图 v1 中列 a 大于 1 的数据 +mysql> select * from v1 where a > 1; ++------+------+ +| a | b | ++------+------+ +| 2 | 22 | +| 3 | 33 | ++------+------+ +2 rows in set (0.00 sec) + +-- 替换视图 v1,新的视图仅包含表 t1 中列 a 大于 1 的数据 +create or replace view v1 as select * from t1 where a > 1; + +-- 再次查询视图 v1,现在只包含满足新条件的数据 +mysql> select * from v1; ++------+------+ +| a | b | ++------+------+ +| 2 | 22 | +| 3 | 33 | ++------+------+ +2 rows in set (0.00 sec) +``` From 66016f960e741d2707479ff70b384b6db0687761 Mon Sep 17 00:00:00 2001 From: prinz <43231571+lacrimosaprinz@users.noreply.github.com> Date: Wed, 20 Sep 2023 19:33:21 +0800 Subject: [PATCH 2/3] Update 1.1-alter-sequence.md --- .../Data-Definition-Language/1.1-alter-sequence.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/MatrixOne/Reference/SQL-Reference/Data-Definition-Language/1.1-alter-sequence.md b/docs/MatrixOne/Reference/SQL-Reference/Data-Definition-Language/1.1-alter-sequence.md index ac5d9a4da1..714d28c808 100644 --- a/docs/MatrixOne/Reference/SQL-Reference/Data-Definition-Language/1.1-alter-sequence.md +++ b/docs/MatrixOne/Reference/SQL-Reference/Data-Definition-Language/1.1-alter-sequence.md @@ -22,13 +22,13 @@ - `[ AS data_type ]`:可选子句,它允许您为序列指定数据类型。通常,序列的数据类型是整数。 -- `[ INCREMENT [ BY ] increment ]`:这是指定序列的增量值。序列的增量值是在每次递增或递减时要添加到当前值的数量。如果未指定增量值,通常默认为1 。 +- `[ INCREMENT [ BY ] increment ]`:这是指定序列的增量值。序列的增量值是在每次递增或递减时要添加到当前值的数量。如果未指定增量值,通常默认为 1 。 - `[ MINVALUE minvalue ]`:这是序列的最小值,它指定了序列允许的最小值。如果指定了最小值,序列的当前值不能低于此值。 - `[ MAXVALUE maxvalue ]`:这是序列的最大值,它指定了序列允许的最大值。如果指定了最大值,序列的当前值不能超过此值。 -- `[ START [ WITH ] start ]`:这是序列的起始值,它指定序列的初始值。如果未指定起始值,通常默认为1。 +- `[ START [ WITH ] start ]`:这是序列的起始值,它指定序列的初始值。如果未指定起始值,通常默认为 1。 - `[ [ NO ] CYCLE ]`:可选子句,用于指定是否循环使用序列值。如果指定了 `NO CYCLE`,则在达到最大值或最小值后,序列将停止递增或递减。如果未指定此子句,通常默认为不循环。 From 523f8856653cfc982ee3c35128f2108c3b672408 Mon Sep 17 00:00:00 2001 From: prinz <43231571+lacrimosaprinz@users.noreply.github.com> Date: Wed, 20 Sep 2023 19:35:39 +0800 Subject: [PATCH 3/3] Update 1.1-alter-sequence.md --- .../Data-Definition-Language/1.1-alter-sequence.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/MatrixOne/Reference/SQL-Reference/Data-Definition-Language/1.1-alter-sequence.md b/docs/MatrixOne/Reference/SQL-Reference/Data-Definition-Language/1.1-alter-sequence.md index 714d28c808..f06450145d 100644 --- a/docs/MatrixOne/Reference/SQL-Reference/Data-Definition-Language/1.1-alter-sequence.md +++ b/docs/MatrixOne/Reference/SQL-Reference/Data-Definition-Language/1.1-alter-sequence.md @@ -22,7 +22,7 @@ - `[ AS data_type ]`:可选子句,它允许您为序列指定数据类型。通常,序列的数据类型是整数。 -- `[ INCREMENT [ BY ] increment ]`:这是指定序列的增量值。序列的增量值是在每次递增或递减时要添加到当前值的数量。如果未指定增量值,通常默认为 1 。 +- `[ INCREMENT [ BY ] increment ]`:这是指定序列的增量值。序列的增量值是在每次递增或递减时要添加到当前值的数量。如果未指定增量值,通常默认为 1。 - `[ MINVALUE minvalue ]`:这是序列的最小值,它指定了序列允许的最小值。如果指定了最小值,序列的当前值不能低于此值。