diff --git a/docs/MatrixOne-Cloud/App-Develop/Transactions/common-transaction-overview.md b/docs/MatrixOne-Cloud/App-Develop/Transactions/common-transaction-overview.md index 9d7372e..6c808d5 100644 --- a/docs/MatrixOne-Cloud/App-Develop/Transactions/common-transaction-overview.md +++ b/docs/MatrixOne-Cloud/App-Develop/Transactions/common-transaction-overview.md @@ -3,18 +3,18 @@ ## 为什么需要事务? 在许多大型、关键的应用程序中,计算机每秒钟都在执行大量的任务。更为经常的不是这些任务本身,而是将这些任务结合在一起完成一个业务要求,称为事务。如果能成功地执行一个任务,而在第二个或第三个相关的任务中出现错误,将会发生什么?这个错误很可能使系统数据处于不一致状态。这时事务变得非常重要,它能使系统数据摆脱这种不一致的状态。 -如何理解事务呢?例如在某家银行的银行系统中,如果没有事务对数据进行控制和管理,很可能出现 A 从企业账户中取出一笔钱,同时 B 和 C 也从同一企业账户中取钱。每一笔转账涉及到最少两个账户信息的变化(例如,A 的钱到账,企业账户出账;B 的钱到账,企业账户出账;C 的钱到账,企业账户出账),如果没有事务,那么账面金额的具体数值将无法确定。在引入事务这一业务要求之后,事务的基本特性(ACID)确保了银行账面的资金操作是原子性(不可再分割)的,其他人看到的金额是具备隔离性的,每一次操作都是具有一致性的,所有操作是持久性的,这样保证了银行系统数据出入账保持一致。 +如何理解事务呢?例如在某家银行的银行系统中,如果没有事务对数据进行控制和管理,很可能出现 A 从企业账户中取出一笔钱,同时 B 和 C 也从同一企业账户中取钱。每一笔转账涉及到最少两个账户信息的变化 (例如,A 的钱到账,企业账户出账;B 的钱到账,企业账户出账;C 的钱到账,企业账户出账),如果没有事务,那么账面金额的具体数值将无法确定。在引入事务这一业务要求之后,事务的基本特性 (ACID) 确保了银行账面的资金操作是原子性 (不可再分割) 的,其他人看到的金额是具备隔离性的,每一次操作都是具有一致性的,所有操作是持久性的,这样保证了银行系统数据出入账保持一致。 ## 什么是事务? -数据库事务(即,Transaction,事务)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。 +数据库事务 (即,Transaction,事务) 是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。 事务就是作为一个逻辑单位提交或者回滚一系列的 SQL 语句。 ## 事务的特征 通常事务需要具备 ACID 四个特征: -- **原子性(Atomicity)**:事务的原子性是指事务是一个不可分割的单位,在一个事务中的操作要么都发生,要么都不发生。 +- **原子性 (Atomicity)**:事务的原子性是指事务是一个不可分割的单位,在一个事务中的操作要么都发生,要么都不发生。 例如,我们现在有如下事务: @@ -27,7 +27,7 @@ 如果对 t1 插入数据或修改 t2 数据中的任意一条发生错误,整个事务都会回滚,而只有两条语句同时成功时,才会提交成功,不会出现一个操作成功而另一个操作失败。 -- **一致性(Consistency)**:事务的一致性是指在事务前后,数据必须是保持正确并遵守所有数据相关的约束。 +- **一致性 (Consistency)**:事务的一致性是指在事务前后,数据必须是保持正确并遵守所有数据相关的约束。 例如,我们在数据库中建立一个新表 @@ -41,7 +41,7 @@ insert into t1 values(1,'abcde'),(2,'bcdef'); ``` -- **隔离性(Isolation)**:事务的隔离性是在多个用户并发访问时,事务之间要遵守规定好的隔离级别,在确定的隔离级别范围内,一个事务不能被另一个事务所干扰。 +- **隔离性 (Isolation)**:事务的隔离性是在多个用户并发访问时,事务之间要遵守规定好的隔离级别,在确定的隔离级别范围内,一个事务不能被另一个事务所干扰。 例如,如下事务示例,会话隔离级别是读已提交,在会话 1 能看到的数据如下: @@ -94,7 +94,7 @@ +------+------+ ``` -- **持久性(Durability)**:事务的持久性是指,在数据库中一个事务被提交时,它对数据库中的数据的改变是永久性的,无论数据库软件是否重启。 +- **持久性 (Durability)**:事务的持久性是指,在数据库中一个事务被提交时,它对数据库中的数据的改变是永久性的,无论数据库软件是否重启。 ## 事务的分类 @@ -115,7 +115,7 @@ 无论是乐观事务,还是悲观事务,其事务的执行结果都是一样的,即一个事务中的操作,对 ACID 级别的要求,完全一样,无论是原子性、一致性、隔离性或者持久性,都是完全一致,不存在乐观事务就宽松一些,悲观事务就严格一些的情况。 -乐观事务与悲观事务的区别,它只是两阶段提交基于待处理业务状态的不同执行策略,其选择基于执行者的判断,其效率高低基于被处理业务的实际状态(并发事务的写冲突频繁度)。即在于对于事务相关资源的状态做出不同的假设,从而将写锁放在不同的阶段中。 +乐观事务与悲观事务的区别,它只是两阶段提交基于待处理业务状态的不同执行策略,其选择基于执行者的判断,其效率高低基于被处理业务的实际状态 (并发事务的写冲突频繁度)。即在于对于事务相关资源的状态做出不同的假设,从而将写锁放在不同的阶段中。 在乐观事务开始时,会假定事务相关的表处于一个不会发生写冲突的状态,把对数据的插入、修改或删除缓存在内存中,在这一阶段不会对数据加锁,而在数据提交时对相应的数据表或数据行上锁,在完成提交后解锁。 @@ -138,7 +138,7 @@ MatrixOne Cloud 的悲观事务详情可以参见 [MatrixOne Cloud 的悲观事 在数据库事务的 ACID 四个属性中,隔离性是一个限制最宽松的。为了获取更高的隔离等级,数据库系统通常使用锁机制或者多版本并发控制机制。应用软件也需要额外的逻辑来使其正常工作。 -很多数据库管理系统(DBMS)定义了不同的“事务隔离等级”来控制锁的程度。在很多数据库系统中,多数的事务都避免高等级的隔离等级(如可串行化)从而减少锁的开销。程序员需要小心的分析数据库访问部分的代码来保证隔离级别的降低不会造成难以发现的代码错误。相反的,更高的隔离级别会增加死锁发生的几率,同样需要在编程过程中去避免。 +很多数据库管理系统 (DBMS) 定义了不同的 “事务隔离等级” 来控制锁的程度。在很多数据库系统中,多数的事务都避免高等级的隔离等级 (如可串行化) 从而减少锁的开销。程序员需要小心的分析数据库访问部分的代码来保证隔离级别的降低不会造成难以发现的代码错误。相反的,更高的隔离级别会增加死锁发生的几率,同样需要在编程过程中去避免。 由于更高的隔离级别中不存在被一个更低的隔离级别禁止的操作,DBMS 被允许使用一个比请求的隔离级别更高的隔离级别。 @@ -151,13 +151,13 @@ ANSI/ISO SQL 定义的标准隔离级别共有四个: |REPEATABLE READ|Not Possible|Not Possible|Not Possible| Possible| |SERIALIZABLE|Not Possible|Not Possible|Not Possible|Not Possible| -- **读未提交**:读未提交(READ UNCOMMITTED)是最低的隔离级别。允许“脏读”(dirty reads),事务可以看到其他事务“尚未提交”的修改。 +- **读未提交**:读未提交 (READ UNCOMMITTED) 是最低的隔离级别。允许 “脏读” (dirty reads),事务可以看到其他事务 “尚未提交” 的修改。 -- **读已提交**:读已提交(READ COMMITTED)级别中,基于锁机制并发控制的 DBMS 需要对选定对象的写锁一直保持到事务结束,但是读锁在 SELECT 操作完成后马上释放。和前一种隔离级别一样,也不要求“范围锁”。 +- **读已提交**:读已提交 (READ COMMITTED) 级别中,基于锁机制并发控制的 DBMS 需要对选定对象的写锁一直保持到事务结束,但是读锁在 SELECT 操作完成后马上释放。和前一种隔离级别一样,也不要求 “范围锁”。 -- **可重复读**:在可重复读(REPEATABLE READS)隔离级别中,基于锁机制并发控制的 DBMS 需要对选定对象的读锁(read locks)和写锁(write locks)一直保持到事务结束,但不要求“范围锁”,因此可能会发生“幻读”。MatrixOne Cloud 实现了快照隔离(即 Snapshot Isolation),为了与 MySQL 隔离级别保持一致,MatrixOne Cloud 快照隔离又叫做可重复读(REPEATABLE READS)。 +- **可重复读**:在可重复读 (REPEATABLE READS) 隔离级别中,基于锁机制并发控制的 DBMS 需要对选定对象的读锁 (read locks) 和写锁 (write locks) 一直保持到事务结束,但不要求 “范围锁”,因此可能会发生 “幻读”。MatrixOne Cloud 实现了快照隔离 (即 Snapshot Isolation),为了与 MySQL 隔离级别保持一致,MatrixOne Cloud 快照隔离又叫做可重复读 (REPEATABLE READS)。 -- **可串行化**:可串行化(SERIALIZABLE)是最高的隔离级别。在基于锁机制并发控制的 DBMS 上,可串行化要求在选定对象上的读锁和写锁直到事务结束后才能释放。在 SELECT 的查询中使用一个“WHERE”子句来描述一个范围时应该获得一个“范围锁”(range-locks)。 +- **可串行化**:可串行化 (SERIALIZABLE) 是最高的隔离级别。在基于锁机制并发控制的 DBMS 上,可串行化要求在选定对象上的读锁和写锁直到事务结束后才能释放。在 SELECT 的查询中使用一个 “WHERE” 子句来描述一个范围时应该获得一个 “范围锁” (range-locks)。 通过比低一级的隔离级别要求更多的限制,高一级的级别提供更强的隔离性。标准允许事务运行在更强的事务隔离级别上。 diff --git a/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/explicit-transaction.md b/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/explicit-transaction.md index 98388ee..2e53296 100644 --- a/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/explicit-transaction.md +++ b/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/explicit-transaction.md @@ -5,9 +5,9 @@ ## 显式事务规则 - 显式事务是指以 `BEGIN...END` 或 `START TRANSACTION...COMMIT` 或 `ROLLBACK` 作为起始结束。 -- 在显式事务中,DML(Data Manipulation Language,数据操纵语言)与 DDL(Data Definition Language,数据库定义语言)可以同时存在,支持除数据库与序列之外的所有对象类型的 DDL。 +- 在显式事务中,DML (Data Manipulation Language,数据操纵语言) 与 DDL (Data Definition Language,数据库定义语言) 可以同时存在,支持除数据库与序列之外的所有对象类型的 DDL。 - 显式事务中,无法嵌套其他显式事务,例如 `START TRANSACTIONS` 之后再遇到 `START TRANSACTIONS`,两个 `START TRANSACTIONS` 之间的所有语句都会强制提交,无论 `AUTOCOMMIT` 的值是 1 或 0。 -- 显式事务中,不能存在 `SET` 命令与管理类命令(`CREATE USER/ROLE` 或 `GRANT`),只能包含 DML 与 DDL。 +- 显式事务中,不能存在 `SET` 命令与管理类命令 (`CREATE USER/ROLE` 或 `GRANT`),只能包含 DML 与 DDL。 - 显式事务中,如果在未发生显式提交或回滚而开启一个新事务而发生写写冲突,之前未提交的事务将会回滚并报错。 ## 与 MySQL 显式事务的区别 @@ -63,7 +63,7 @@ mysql> SELECT * FROM Accounts; MatrixOne Cloud 支持跨库事务行为,这里将以一个简单的示例进行说明。 -首先,让我们创建两个数据库(db1 和 db2)以及它们各自的表(table1 和 table2): +首先,让我们创建两个数据库 (db1 和 db2) 以及它们各自的表 (table1 和 table2): ```sql -- 创建 db1 数据库 diff --git a/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/implicit-transaction.md b/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/implicit-transaction.md index ebbddd0..e5b61ae 100644 --- a/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/implicit-transaction.md +++ b/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/implicit-transaction.md @@ -20,7 +20,7 @@ ## MatrixOne Cloud 与 MySQL 隐式事务的区别 -在 MatrixOne Cloud 中,如果开启了隐式事务(`SET AUTOCOMMIT=0`),则所有操作都需要手动执行 `COMMIT` 或 `ROLLBACK` 来结束事务。相比之下,MySQL 在遇到 DDL 或类似 `SET` 语句时会自动提交。 +在 MatrixOne Cloud 中,如果开启了隐式事务 (`SET AUTOCOMMIT=0`),则所有操作都需要手动执行 `COMMIT` 或 `ROLLBACK` 来结束事务。相比之下,MySQL 在遇到 DDL 或类似 `SET` 语句时会自动提交。 ### MySQL 隐式事务行为 diff --git a/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/isolation-level.md b/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/isolation-level.md index 3dc55b3..f60b877 100644 --- a/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/isolation-level.md +++ b/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/isolation-level.md @@ -2,7 +2,7 @@ ## 读已提交 -MatrixOne Cloud 默认**读已提交(Read Committed)**隔离级别,它的特点如下: +MatrixOne Cloud 默认**读已提交 (Read Committed)** 隔离级别,它的特点如下: - 在不同的事务之间,只能读到其他事务已经提交的数据,对于未提交的数据,无法查看。 - 读已提交的隔离级别,能够有效防止脏写和脏读,但是不能避免不可重复读与幻读。 @@ -112,7 +112,7 @@ SELECT * FROM t1; ## 快照隔离 -在 MatrixOne Cloud 中,也支持快照隔离(Snapshot Isolation),为了与 MySQL 隔离级别保持一致,MatrixOne Cloud 快照隔离又叫做可重复读(REPEATABLE READS)。该级别的隔离实现原理如下: +在 MatrixOne Cloud 中,也支持快照隔离 (Snapshot Isolation),为了与 MySQL 隔离级别保持一致,MatrixOne Cloud 快照隔离又叫做可重复读 (REPEATABLE READS)。该级别的隔离实现原理如下: ### 快照隔离原理 diff --git a/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/mvcc.md b/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/mvcc.md index 0fc13c2..fd384b9 100644 --- a/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/mvcc.md +++ b/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/mvcc.md @@ -1,13 +1,13 @@ # MVCC -MVCC(Multiversion Concurrency Control,多版本并发控制)应用于 MatrixOne,以保证事务快照隔离,实现事务的隔离性。 +MVCC (Multiversion Concurrency Control,多版本并发控制) 应用于 MatrixOne,以保证事务快照隔离,实现事务的隔离性。 -基于数据元组(Tuple,即表中的每行)的指针字段来创建一个 Latch Free 的链表,称为版本链。这个版本链允许数据库定位一个 Tuple 的所需版本。因此这些版本数据的存放机制是数据库存储引擎设计的一个重要考量。 +基于数据元组 (Tuple,即表中的每行) 的指针字段来创建一个 Latch Free 的链表,称为版本链。这个版本链允许数据库定位一个 Tuple 的所需版本。因此这些版本数据的存放机制是数据库存储引擎设计的一个重要考量。 -一个方案是采用 Append Only 机制,一个表的所有 Tuple 版本都存储在同一个存储空间。这种方法被用于 Postgre SQL,为了更新一个现有的 Tuple,数据库首先为新的版本从表中获取一个空的槽(Slot),然后,它将当前版本的内容复制到新版本。最后,它在新分配的 Slot 中应用对 Tuple 的修改。Append Only 机制的关键是决定如何为 Tuple 的版本链排序,由于不可能维持一个无锁(Lock free)的双向链表,因此版本链只指向一个方向,或者从 Old 到 New(O2N),或者从 New 到 Old(N2O)。 +一个方案是采用 Append Only 机制,一个表的所有 Tuple 版本都存储在同一个存储空间。这种方法被用于 Postgre SQL,为了更新一个现有的 Tuple,数据库首先为新的版本从表中获取一个空的槽 (Slot),然后,它将当前版本的内容复制到新版本。最后,它在新分配的 Slot 中应用对 Tuple 的修改。Append Only 机制的关键是决定如何为 Tuple 的版本链排序,由于不可能维持一个无锁 (Lock free) 的双向链表,因此版本链只指向一个方向,或者从 Old 到 New (O2N),或者从 New 到 Old (N2O)。 -另外一个类似的方案称为时间旅行(Time Travel),它会把版本链的信息单独存放,而主表维护主版本数据。 +另外一个类似的方案称为时间旅行 (Time Travel),它会把版本链的信息单独存放,而主表维护主版本数据。 -第三种方案,是在主表中维护 Tuple 的主版本,在一个单独的数据库对比工具(Delta)存储中维护一系列 Delta 版本。这种存储在 MySQL 和 Oracle 中被称为回滚段。为了更新一个现有的 Tuple,数据库从 Delta 存储中获取一个连续的空间来创建一个新的 Delta 版本。这个 Delta 版本包含修改过的属性的原始值,而不是整个 Tuple。然后数据库直接对主表中的主版本进行原地更新(In Place Update)。 +第三种方案,是在主表中维护 Tuple 的主版本,在一个单独的数据库对比工具 (Delta) 存储中维护一系列 Delta 版本。这种存储在 MySQL 和 Oracle 中被称为回滚段。为了更新一个现有的 Tuple,数据库从 Delta 存储中获取一个连续的空间来创建一个新的 Delta 版本。这个 Delta 版本包含修改过的属性的原始值,而不是整个 Tuple。然后数据库直接对主表中的主版本进行原地更新 (In Place Update)。 ![image-20221026152318567](https://community-shared-data-1308875761.cos.ap-beijing.myqcloud.com/artwork/docs/distributed-transaction/mvcc.png) diff --git a/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/optimistic-transaction.md b/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/optimistic-transaction.md index e390b67..53fda84 100644 --- a/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/optimistic-transaction.md +++ b/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/optimistic-transaction.md @@ -35,7 +35,7 @@ MatrixOne Cloud 支持乐观事务模型。你在使用乐观并发读取一行 2. 在下午 1:01,用户 2 从数据库中读取同一行。 -3. 在下午 1:03,用户 2 将 FirstName 列的“Bob”改为“Robert”,并更新到数据库里。 +3. 在下午 1:03,用户 2 将 FirstName 列的 “Bob” 改为 “Robert”,并更新到数据库里。 |Column name|Original value|Current value|Value in database| |---|---|---|---| @@ -45,7 +45,7 @@ MatrixOne Cloud 支持乐观事务模型。你在使用乐观并发读取一行 4. 如上表所示,更新时数据库中的值与用户 2 的原始值匹配,表示更新成功。 -5. 在下午 1:05,用户 1 将 FirstName 列的“Bob”改为“James”,并尝试进行更新。 +5. 在下午 1:05,用户 1 将 FirstName 列的 “Bob” 改为 “James”,并尝试进行更新。 |Column name|Original value|Current value|Value in database| |---|---|---|---| @@ -53,4 +53,4 @@ MatrixOne Cloud 支持乐观事务模型。你在使用乐观并发读取一行 |LastName|Smith|Smith|Smith| |FirstName|Bob|James|Robert| -6. 此时,用户 1 遇到了乐观并发冲突,因为数据库中的值“Robert”不再与用户 1 期望的原始值“Bob”匹配,并发冲突提示更新失败。下一步需要决定,是采用用户 1 的更改覆盖用户 2 的更改,还是取消用户 1 的更改。 +6. 此时,用户 1 遇到了乐观并发冲突,因为数据库中的值 “Robert” 不再与用户 1 期望的原始值 “Bob” 匹配,并发冲突提示更新失败。下一步需要决定,是采用用户 1 的更改覆盖用户 2 的更改,还是取消用户 1 的更改。 diff --git a/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/overview.md b/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/overview.md index 080f4c2..5c91f39 100644 --- a/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/overview.md +++ b/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/overview.md @@ -39,11 +39,11 @@ MatrixOne Cloud 提供了支持跨数据库的事务功能,允许一个事务 ## MatrixOne Cloud 的事务隔离级别 -MatrixOne Cloud 支持**读已提交(Read Committed)**和**快照隔离**两种隔离级别,默认隔离级别是**读已提交(Read Committed)**。 +MatrixOne Cloud 支持**读已提交 (Read Committed)** 和**快照隔离**两种隔离级别,默认隔离级别是**读已提交 (Read Committed)**。 ### 读已提交 -读已提交(Read Committed)是 MatrixOne Cloud 的默认隔离级别,也是 SQL 标准中的四个隔离级别之一。它最显著的特点是: +读已提交 (Read Committed) 是 MatrixOne Cloud 的默认隔离级别,也是 SQL 标准中的四个隔离级别之一。它最显著的特点是: - 在不同的事务之间,只能读到其他事务已经提交的数据,对于未提交状态的数据,无法查看。 - 读已提交的隔离级别,能够有效防止脏写和脏读,但是不能避免不可重复读与幻读。 @@ -54,7 +54,7 @@ MatrixOne Cloud 支持**读已提交(Read Committed)**和**快照隔离**两 ### 快照隔离 -与 SQL 标准所定义的四个隔离级别不同,在 MatrixOne Cloud 中,支持的隔离级别是快照隔离(Snapshot Isolation),该级别的隔离在 SQL-92 标准的 **REPEATABLE READ** 和 **SERIALIZABLE** 之间。与其他隔离级别有所区别的是,快照隔离具备如下特性: +与 SQL 标准所定义的四个隔离级别不同,在 MatrixOne Cloud 中,支持的隔离级别是快照隔离 (Snapshot Isolation),该级别的隔离在 SQL-92 标准的 **REPEATABLE READ** 和 **SERIALIZABLE** 之间。与其他隔离级别有所区别的是,快照隔离具备如下特性: - 快照隔离对于指定事务内读取的数据不会反映其他同步的事务对数据所做的更改。指定事务使用本次事务开始时读取的数据行。 @@ -62,7 +62,7 @@ MatrixOne Cloud 支持**读已提交(Read Committed)**和**快照隔离**两 - 写入数据的事务也不会阻止快照事务读取数据。 -与其他隔离级别相比,快照隔离对于脏读 (读取未提交数据)、脏写(写了修改后未提交的记录)、幻读 (前后多次读取,数据总量不一致) 等场景也实现了有效回避: +与其他隔离级别相比,快照隔离对于脏读 (读取未提交数据)、脏写 (写了修改后未提交的记录)、幻读 (前后多次读取,数据总量不一致) 等场景也实现了有效回避: |Isolation Level|P0 Dirty Write|P1 Dirty Read|P4C Cursor Lost Update|P4 Lost Update|P2 Fuzzy Read|P3 Phantom|A5A Read Skew|A5B Write Skew| |---|---|---|---|---|---|---|---|---| diff --git a/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/pessimistic-transaction.md b/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/pessimistic-transaction.md index d7ca477..ac3fd4a 100644 --- a/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/pessimistic-transaction.md +++ b/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/pessimistic-transaction.md @@ -14,11 +14,11 @@ MatrixOne Cloud 默认悲观事务。 你在使用悲观并发读取一行时,不会锁定该行。当你想要更新一行时,应用程序必须确定其他用户是否已经对该行上锁。悲观并发事务通常用于数据争用较高的环境中。 -在悲观并发模型中,如果你从数据库接收到一个值后,另一个用户在你试图修改该值之前,将会遇到锁而进入等待状态,超过 MatrixOne Cloud 设置的事务等待时间(5 分钟)后,等待事务将会被强制取消。 +在悲观并发模型中,如果你从数据库接收到一个值后,另一个用户在你试图修改该值之前,将会遇到锁而进入等待状态,超过 MatrixOne Cloud 设置的事务等待时间 (5 分钟) 后,等待事务将会被强制取消。 ### 死锁 -在悲观事务中,有可能出现一种情况,即两个或两个以上事务互相锁住了对方所需要的资源时,令每个事务都无法进行下去的状态,这种情况被称之为死锁(Deadlock)。只有通过人为干预其中某个事务,例如,通过手动 `Kill` 会话的方式,才能立即结束死锁,否则只能等事务超出最长等待时间。 +在悲观事务中,有可能出现一种情况,即两个或两个以上事务互相锁住了对方所需要的资源时,令每个事务都无法进行下去的状态,这种情况被称之为死锁 (Deadlock)。只有通过人为干预其中某个事务,例如,通过手动 `Kill` 会话的方式,才能立即结束死锁,否则只能等事务超出最长等待时间。 死锁示例如下图所示: @@ -43,7 +43,7 @@ MatrixOne Cloud 默认悲观事务。 2. 在下午 1:01,用户 2 从数据库中读取同一行。 -3. 在下午 1:03,用户 2 将 FirstName 列的“Bob”改为“Robert”,此时处于未提交状态。 +3. 在下午 1:03,用户 2 将 FirstName 列的 “Bob” 改为 “Robert”,此时处于未提交状态。 |Column name|Original value|Current value|Value in database| |---|---|---|---| @@ -51,7 +51,7 @@ MatrixOne Cloud 默认悲观事务。 |LastName|Smith|Smith|Smith| |FirstName|Bob|Robert|Bob| -4. 在下午 1:05,用户 1 将 FirstName 列的“Bob”改为“James”,并尝试进行更新。 +4. 在下午 1:05,用户 1 将 FirstName 列的 “Bob” 改为 “James”,并尝试进行更新。 |Column name|Original value|Current value|Value in database| |---|---|---|---| @@ -59,6 +59,6 @@ MatrixOne Cloud 默认悲观事务。 |LastName|Smith|Smith|Smith| |FirstName|Bob|James|Bob| -5. 此时,用户 1 遇到了悲观并发冲突,因为数据库中的值“Robert”所在行已经被锁定,需要等待用户 2 的下一步操作。 +5. 此时,用户 1 遇到了悲观并发冲突,因为数据库中的值 “Robert” 所在行已经被锁定,需要等待用户 2 的下一步操作。 6. 在下午 1:06,用户 1 对事务提交。此时用户 2 解除等待状态开始事务,但是因为已经无法匹配到对应的 FirstName,因此用户 2 的事务会更新失败。 diff --git a/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/scenario.md b/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/scenario.md index 38d76e5..7fafe2f 100644 --- a/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/scenario.md +++ b/docs/MatrixOne-Cloud/App-Develop/Transactions/matrixone-transaction-overview/scenario.md @@ -23,7 +23,7 @@ commit; MatrixOne Cloud 默认**悲观事务**与**读已提交**隔离级别,这种组合方式使性能达到最优。 -悲观事务(Pessimistic Transaction)是指在事务期间,持有资源的过程中,将资源锁定,以避免其他并发事务对该资源的修改或读取。悲观事务假定并发事务可能会对资源进行操作,并防止这种情况发生。 +悲观事务 (Pessimistic Transaction) 是指在事务期间,持有资源的过程中,将资源锁定,以避免其他并发事务对该资源的修改或读取。悲观事务假定并发事务可能会对资源进行操作,并防止这种情况发生。 在 MatrixOne Cloud 中,可以使用 `UPDATE ... WHERE...` 语句来实现悲观锁定,该语句会锁定符合条件的记录,直到事务提交或回滚。例如,下面的 SQL 语句锁定了 `user` 表中 `id=1` 的记录: @@ -34,7 +34,7 @@ UPDATE user WHERE id=1; COMMIT; ``` -读已提交(Read Committed)是一种隔离级别,它确保在事务提交之前,其他事务所做的修改不会对当前事务可见。在读已提交隔离级别下,事务只能看到已经提交的数据,无法看到未提交的数据。因此,在该隔离级别下,可以避免脏读(Dirty Read)。 +读已提交 (Read Committed) 是一种隔离级别,它确保在事务提交之前,其他事务所做的修改不会对当前事务可见。在读已提交隔离级别下,事务只能看到已经提交的数据,无法看到未提交的数据。因此,在该隔离级别下,可以避免脏读 (Dirty Read)。 在 SQL 中,可以使用 `SET TRANSACTION ISOLATION LEVEL READ COMMITTED;` 语句设置隔离级别为读已提交。例如,下面的 SQL 语句查询了 user 表中 id=1 的记录,但如果其他事务正在修改该记录,则当前事务无法看到未提交的修改: diff --git a/docs/MatrixOne-Cloud/App-Develop/Tutorial/develop-golang-crud-demo.md b/docs/MatrixOne-Cloud/App-Develop/Tutorial/develop-golang-crud-demo.md index 6eb9de1..1c2f9ea 100644 --- a/docs/MatrixOne-Cloud/App-Develop/Tutorial/develop-golang-crud-demo.md +++ b/docs/MatrixOne-Cloud/App-Develop/Tutorial/develop-golang-crud-demo.md @@ -25,7 +25,7 @@ go get -u gorm.io/driver/mysql ``` -你可以参考 [Golang 连接 MatrixOne Cloud 服务](../connect-mo/connect-to-matrixone-with-go.md)了解如何通过 `Golang` 连接到 MatrixOne Cloud,本篇文档将指导你如何实现 CRUD(创建、读取、更新、删除)。 +你可以参考 [Golang 连接 MatrixOne Cloud 服务](../connect-mo/connect-to-matrixone-with-go.md)了解如何通过 `Golang` 连接到 MatrixOne Cloud,本篇文档将指导你如何实现 CRUD (创建、读取、更新、删除)。 ## 步骤 diff --git a/docs/MatrixOne-Cloud/App-Develop/Tutorial/develop-java-crud-demo.md b/docs/MatrixOne-Cloud/App-Develop/Tutorial/develop-java-crud-demo.md index 0eaea40..4232de6 100644 --- a/docs/MatrixOne-Cloud/App-Develop/Tutorial/develop-java-crud-demo.md +++ b/docs/MatrixOne-Cloud/App-Develop/Tutorial/develop-java-crud-demo.md @@ -84,7 +84,7 @@ public class JDBCUtils { 我们需要在 *src* 目录下创建相应的 java 源代码文件:`Create.java`、`Insert.java`、`Update.java`、`Select.java`,并将下面的代码对应放在这些文件中。 -#### 创建(`Create.java`) +#### 创建 (`Create.java`) ```java import java.sql.Connection; @@ -141,7 +141,7 @@ PRIMARY KEY (`id`) 1 row in set (0.01 sec) ``` -#### 插入(`Insert.java`) +#### 插入 (`Insert.java`) ```java import java.sql.Connection; @@ -197,7 +197,7 @@ mysql> select * from student; 1 row in set (0.01 sec) ``` -#### 更新(`Update.java`) +#### 更新 (`Update.java`) ```java import java.sql.Connection; @@ -247,7 +247,7 @@ mysql> select * from student; 1 row in set (0.00 sec) ``` -#### 查询(`Select.java`) +#### 查询 (`Select.java`) ```java import java.sql.Connection; @@ -293,7 +293,7 @@ public class Select { ![image-20220927113440917](https://community-shared-data-1308875761.cos.ap-beijing.myqcloud.com/artwork/docs/reference/jdbc_select.png) -#### 删除(`Delete.java`) +#### 删除 (`Delete.java`) ```java package org.example; diff --git a/docs/MatrixOne-Cloud/App-Develop/Tutorial/develop-python-crud-demo.md b/docs/MatrixOne-Cloud/App-Develop/Tutorial/develop-python-crud-demo.md index d39210d..53e21aa 100644 --- a/docs/MatrixOne-Cloud/App-Develop/Tutorial/develop-python-crud-demo.md +++ b/docs/MatrixOne-Cloud/App-Develop/Tutorial/develop-python-crud-demo.md @@ -1,6 +1,6 @@ # Python 基础示例 -本篇文档将指导你如何使用 **Python** 构建一个简单的应用程序,并实现 CRUD(创建、读取、更新、删除)功能。 +本篇文档将指导你如何使用 **Python** 构建一个简单的应用程序,并实现 CRUD (创建、读取、更新、删除) 功能。 ## 开始前准备 @@ -34,7 +34,7 @@ pip3 install cryptography -i https://pypi.tuna.tsinghua.edu.cn/simple ``` -你可以参考 [Python 连接 MatrixOne 服务](../connect-mo/python-connect-to-matrixone.md)了解如何通过 `pymysql` 连接到 MatrixOne,本篇文档将指导你如何实现 CRUD(创建、读取、更新、删除)。 +你可以参考 [Python 连接 MatrixOne 服务](../connect-mo/python-connect-to-matrixone.md)了解如何通过 `pymysql` 连接到 MatrixOne,本篇文档将指导你如何实现 CRUD (创建、读取、更新、删除)。 ## 新建表 @@ -240,7 +240,7 @@ with SQL_CONNECTION.cursor() as cursor: ``` -执行下面代码更新 id 为“1”的记录: +执行下面代码更新 id 为 “1” 的记录: ``` > python3 update.py @@ -297,7 +297,7 @@ with SQL_CONNECTION.cursor() as cursor: SQL_CONNECTION.close() ``` -执行下面代码删除 id 为“1”的记录: +执行下面代码删除 id 为 “1” 的记录: ``` > python3 delete.py diff --git a/docs/MatrixOne-Cloud/App-Develop/Tutorial/gorm-golang-crud-demo.md b/docs/MatrixOne-Cloud/App-Develop/Tutorial/gorm-golang-crud-demo.md index 30361e5..c57216b 100644 --- a/docs/MatrixOne-Cloud/App-Develop/Tutorial/gorm-golang-crud-demo.md +++ b/docs/MatrixOne-Cloud/App-Develop/Tutorial/gorm-golang-crud-demo.md @@ -1,6 +1,6 @@ # gorm 基础示例 -本篇文档将指导你如何使用 **golang** 和 **gorm** 构建一个简单的应用程序,并实现 CRUD(创建、读取、更新、删除)功能。 +本篇文档将指导你如何使用 **golang** 和 **gorm** 构建一个简单的应用程序,并实现 CRUD (创建、读取、更新、删除) 功能。 **Gorm** 是 Python 语言中最流行的 ORM 工具之一。 @@ -36,11 +36,11 @@ go get -u gorm.io/driver/mysql ``` -你可以参考 [Golang 连接 MatrixOne Cloud 服务](../connect-mo/connect-to-matrixone-with-go.md)了解如何通过 `Gorm` 连接到 MatrixOne Cloud,本篇文档将指导你如何实现 CRUD(创建、读取、更新、删除)。 +你可以参考 [Golang 连接 MatrixOne Cloud 服务](../connect-mo/connect-to-matrixone-with-go.md)了解如何通过 `Gorm` 连接到 MatrixOne Cloud,本篇文档将指导你如何实现 CRUD (创建、读取、更新、删除)。 ## 新建表 -作为对象关系映射器(ORM)工具,`Gorm` 允许开发人员创建 GO 类来映射关系数据库中的表。 +作为对象关系映射器 (ORM) 工具,`Gorm` 允许开发人员创建 GO 类来映射关系数据库中的表。 在下面的代码示例中,将创建一个 `USER` 类,这里的类名和属性名称必须使用大写英文开头以保证 `public` 访问,否则不能创建。`USER` 类在 `GORM` 的作用下将转化为一条 `SQL` 语句,创建表名为 `users` 的表。 新建一个 `gorm_create.go` 的文本文件,将以下代码拷贝粘贴到文件内: diff --git a/docs/MatrixOne-Cloud/App-Develop/Tutorial/springboot-hibernate-crud-demo.md b/docs/MatrixOne-Cloud/App-Develop/Tutorial/springboot-hibernate-crud-demo.md index 900ab68..aa4a074 100644 --- a/docs/MatrixOne-Cloud/App-Develop/Tutorial/springboot-hibernate-crud-demo.md +++ b/docs/MatrixOne-Cloud/App-Develop/Tutorial/springboot-hibernate-crud-demo.md @@ -1,24 +1,24 @@ # SpringBoot 和 JPA 基础示例 -本篇文档将指导你如何使用 **SpringBoot**、**Spring Data JPA** 和 **Intellij IDEA** 构建一个简单的应用程序,并实现 CRUD(创建、读取、更新、删除)功能。 +本篇文档将指导你如何使用 **SpringBoot**、**Spring Data JPA** 和 **Intellij IDEA** 构建一个简单的应用程序,并实现 CRUD (创建、读取、更新、删除) 功能。 ## 开始之前 本篇教程涉及到的软件介绍如下: -* Spring Data JPA:JPA(Java Persistence API,Java 持久层 API)是一种规范,是 JDK 5.0 注解或 XML 描述对象与关系表的映射关系,并将运行期的实体对象持久化到数据库中。Spring Data JPA 是一个 Java 对象映射关系的解决方案的 ORM(Object-Relational Mapping)框架,是一个将面向对象的域模型映射到关系数据库的开源框架。 +* Spring Data JPA:JPA (Java Persistence API,Java 持久层 API) 是一种规范,是 JDK 5.0 注解或 XML 描述对象与关系表的映射关系,并将运行期的实体对象持久化到数据库中。Spring Data JPA 是一个 Java 对象映射关系的解决方案的 ORM (Object-Relational Mapping) 框架,是一个将面向对象的域模型映射到关系数据库的开源框架。 -* Intellij IDEA:IntelliJ IDEA 是一种商业化销售的 Java 集成开发环境(Integrated Development Environment,IDE)工具软件。它所拥有诸多插件,可以提高我们的工作效率。 +* Intellij IDEA:IntelliJ IDEA 是一种商业化销售的 Java 集成开发环境 (Integrated Development Environment,IDE) 工具软件。它所拥有诸多插件,可以提高我们的工作效率。 * Maven:Maven 是 Java 中功能强大的项目管理工具,可以根据 *pom.xml* 文件中的配置自动下载和导入 *Jar* 文件。这个特性减少了不同版本 Jar 文件之间的冲突。 * Spring:Spring 是 Java 中最流行的框架之一,越来越多的企业使用 Spring 框架来构建他们的项目。Spring Boot 构建在传统的 Spring 框架之上。因此,它提供了 Spring 的所有特性,而且比 Spring 更易用。 -* Postman: Postman 是一个用于 API 测试的应用程序。它是一个 HTTP 客户端,利用图形用户界面测试 HTTP 请求,以获得需要进行验证的不同类型的响应。 +* Postman:Postman 是一个用于 API 测试的应用程序。它是一个 HTTP 客户端,利用图形用户界面测试 HTTP 请求,以获得需要进行验证的不同类型的响应。 ## 配置环境 -### 1. 安装构建 MatrixOne +### 1。安装构建 MatrixOne 1. [创建实例](../../Instance-Mgmt/create-instance.md)。 @@ -28,7 +28,7 @@ mysql> create database test; ``` -### 2. 使用 IntelliJ IDEA 创建一个新的 Spring Boot 项目 +### 2。使用 IntelliJ IDEA 创建一个新的 Spring Boot 项目 选择 **Spring Initializer**,按需命名项目名称。 @@ -143,7 +143,7 @@ mysql> create database test; ``` -### 3. 修改 *application.properties* 文件 +### 3。修改 *application.properties* 文件 进入到 **src>main>resources** 文件目录下,配置 *application.properties* 文件,完成 MatrixOne 连接。 @@ -173,7 +173,7 @@ spring.jpa.properties.hibernate.format_sql = true spring.jpa.hibernate.ddl-auto = validate ``` -### 4. 在 MatrixOne 中新建表并插入数据 +### 4。在 MatrixOne 中新建表并插入数据 使用 MySQL 客户端连接到 MatrixOne 并执行以下 SQL 语句。你可以将这些 SQL 语句保存在 */resource/database/* 目录下的 *book.sql* 中。 @@ -212,7 +212,7 @@ touch controller/BookStoreController.java dao/BookStoreDAO.java dao/IBookStoreDA ![image-20221027105233860](https://community-shared-data-1308875761.cos.ap-beijing.myqcloud.com/artwork/docs/tutorial/hibernate/image-20221027105233860.png) -### 1. controller/BookStoreController.java +### 1。controller/BookStoreController.java ```java package com.example.jpademo.controller; @@ -276,7 +276,7 @@ public class BookStoreController { } ``` -### 2. dao/BooStoreDAO.java +### 2。dao/BooStoreDAO.java ```java package com.example.jpademo.dao; @@ -383,7 +383,7 @@ public class BookStoreDAO implements IBookStoreDAO { } ``` -### 3. dao/IBookStoreDAO.java +### 3。dao/IBookStoreDAO.java ``` package com.example.jpademo.dao; @@ -402,7 +402,7 @@ public interface IBookStoreDAO { } ``` -### 4. entity/Book.java +### 4。entity/Book.java ```java package com.example.jpademo.entity; @@ -498,7 +498,7 @@ public class Book implements Serializable { ``` -### 5. services/BookStoreService.java +### 5。services/BookStoreService.java ```java package com.example.jpademo.services; @@ -545,7 +545,7 @@ public class BookStoreService implements IBookStoreService { ``` -### 6. services/IBookStoreService.java +### 6。services/IBookStoreService.java ```java package com.example.jpademo.services; @@ -565,7 +565,7 @@ public interface IBookStoreService { } ``` -### 7. JpademoApplication +### 7。JpademoApplication ```java package com.example.jpademo; @@ -618,7 +618,7 @@ public class JpademoApplication { 2022-10-27 11:16:40.249 INFO 93488 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 66 ms ``` -### 1. 获取 Book 列表,使用 GET 请求调用以下接口 +### 1。获取 Book 列表,使用 GET 请求调用以下接口 ``` http://localhost:8080/bookservice/books @@ -626,7 +626,7 @@ http://localhost:8080/bookservice/books ![image-20221027112426189](https://community-shared-data-1308875761.cos.ap-beijing.myqcloud.com/artwork/docs/tutorial/hibernate/image-20221027112426189.png) -### 2. 创建一个新 Book,使用 POST 请求调用以下接口 +### 2。创建一个新 Book,使用 POST 请求调用以下接口 ``` http://localhost:8080/bookservice/books @@ -647,7 +647,7 @@ http://localhost:8080/bookservice/books ![image-20221027115733788](https://community-shared-data-1308875761.cos.ap-beijing.myqcloud.com/artwork/docs/tutorial/hibernate/image-20221027115733788.png) -### 3. 如需获取特定 Book,使用 GET 请求调用以下接口 +### 3。如需获取特定 Book,使用 GET 请求调用以下接口 ``` http://localhost:8080/bookservice/books/ @@ -655,7 +655,7 @@ http://localhost:8080/bookservice/books ![image-20221027115844378](https://community-shared-data-1308875761.cos.ap-beijing.myqcloud.com/artwork/docs/tutorial/hibernate/image-20221027115844378.png) -### 4. 在数据库中升级 Book,使用 PUT 请求调用以下接口 +### 4。在数据库中升级 Book,使用 PUT 请求调用以下接口 ``` http://localhost:8080/bookservice/books/ @@ -678,7 +678,7 @@ http://localhost:8080/bookservice/books ![image-20221027120144112](https://community-shared-data-1308875761.cos.ap-beijing.myqcloud.com/artwork/docs/tutorial/hibernate/image-20221027120144112.png) -### 5. 如需从数据库中删除特定的 Book,使用 DELETE 请求调用以下接口 +### 5。如需从数据库中删除特定的 Book,使用 DELETE 请求调用以下接口 ``` http://localhost:8080/bookservice/books/ diff --git a/docs/MatrixOne-Cloud/App-Develop/Tutorial/springboot-mybatis-crud-demo.md b/docs/MatrixOne-Cloud/App-Develop/Tutorial/springboot-mybatis-crud-demo.md index 238daf1..a8f1a87 100644 --- a/docs/MatrixOne-Cloud/App-Develop/Tutorial/springboot-mybatis-crud-demo.md +++ b/docs/MatrixOne-Cloud/App-Develop/Tutorial/springboot-mybatis-crud-demo.md @@ -1,6 +1,6 @@ # SpringBoot 和 MyBatis 基础示例 -本篇文档将指导你如何使用 **SpringBoot**、**Mybatis** 和 **Intellij IDEA** 构建一个简单的应用程序,并实现 CRUD(创建、读取、更新、删除)功能。 +本篇文档将指导你如何使用 **SpringBoot**、**Mybatis** 和 **Intellij IDEA** 构建一个简单的应用程序,并实现 CRUD (创建、读取、更新、删除) 功能。 ## 开始之前 @@ -8,7 +8,7 @@ * MyBatis:MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。我们只需要关注项目中的 SQL 本身。 -* Intellij IDEA:IntelliJ IDEA 是一种商业化销售的 Java 集成开发环境(Integrated Development Environment,IDE)工具软件。它所拥有的诸多插件,可以提高我们的工作效率。 +* Intellij IDEA:IntelliJ IDEA 是一种商业化销售的 Java 集成开发环境 (Integrated Development Environment,IDE) 工具软件。它所拥有的诸多插件,可以提高我们的工作效率。 * Maven:Maven 是 Java 中功能强大的项目管理工具,可以根据 *pom.xml* 文件中的配置自动下载和导入 *Jar* 文件。这个特性减少了不同版本 Jar 文件之间的冲突。 @@ -16,7 +16,7 @@ ## 配置环境 -### 1. 安装构建 MatrixOne +### 1。安装构建 MatrixOne 1. [创建实例](../../Instance-Mgmt/create-instance.md)。 @@ -26,7 +26,7 @@ mysql> create database test; ``` -### 2. 使用 IntelliJ IDEA 创建一个新的 Spring Boot 项目 +### 2。使用 IntelliJ IDEA 创建一个新的 Spring Boot 项目 选择 **Spring Initializer**,按需命名项目名称。 @@ -143,7 +143,7 @@ mysql> create database test; ``` -### 3. 修改 *application.properties* 文件 +### 3。修改 *application.properties* 文件 进入到 **src>main>resources** 文件目录下,配置 *application.properties* 文件,完成 MatrixOne 连接。 @@ -189,7 +189,7 @@ touch java/com/example/mybatisdemo/controller/UserController.java java/com/exam ![image-20221026155656694](https://community-shared-data-1308875761.cos.ap-beijing.myqcloud.com/artwork/docs/tutorial/mybatis/image-20221026155656694.png) -### 1. controller/UserController.java +### 1。controller/UserController.java ```java package com.example.mybatisdemo.controller; @@ -239,7 +239,7 @@ public class UserController { } ``` -### 2. entity/User.java +### 2。entity/User.java ```java package com.example.mybatisdemo.entity; @@ -304,7 +304,7 @@ public class User { } ``` -### 3. mapper/UserMapper.java +### 3。mapper/UserMapper.java ```java package com.example.mybatisdemo.mapper; @@ -329,7 +329,7 @@ public interface UserMapper { } ``` -### 4. service/UserService.java +### 4。service/UserService.java ```java package com.example.mybatisdemo.service; @@ -387,7 +387,7 @@ public class UserService { }; ``` -### 5. MyBatisDemoApplication.java +### 5。MyBatisDemoApplication.java ```java package com.example.mybatisdemo; @@ -405,7 +405,7 @@ public class MyBatisDemoApplication { } ``` -### 6. mapping/UserMapper.xml +### 6。mapping/UserMapper.xml ```xml @@ -508,7 +508,7 @@ public class MyBatisDemoApplication { 2022-10-26 16:13:26.272 INFO 60253 --- [ main] c.e.mybatisdemo.MyBatisDemoApplication : Started MyBatisDemoApplication in 2.669 seconds (JVM running for 3.544) ``` -### 1. 测试新建表 +### 1。测试新建表 打开你的的浏览器并输入网址:[http://localhost:8080/test/create](http://localhost:8080/test/create) @@ -545,7 +545,7 @@ PRIMARY KEY (`id`) 1 row in set (0.01 sec) ``` -### 2. 测试增加用户 +### 2。测试增加用户 打开你的浏览器并输入网址:[http://localhost:8080/test/add?username=tom&password=123456&address=shanghai](http://localhost:8080/test/add?username=tom&password=123456&address=shanghai) @@ -563,7 +563,7 @@ mysql> select * from user; 1 row in set (0.00 sec) ``` -### 3. 测试查询用户 +### 3。测试查询用户 打开你的浏览器并输入网址:[http://localhost:8080/test/selectUserByid?id=1](http://localhost:8080/test/selectUserByid?id=1) @@ -571,7 +571,7 @@ mysql> select * from user; 你可以直接从浏览器中获取查询结果。 -### 4. 测试更新用户 +### 4。测试更新用户 打开你的浏览器并输入网址:[http://localhost:8080/test/update?id=1&username=tom&password=654321&address=beijing](http://localhost:8080/test/update?id=1&username=tom&password=654321&address=beijing) @@ -589,7 +589,7 @@ mysql> select * from user; 1 row in set (0.00 sec) ``` -### 5. 测试删除用户 +### 5。测试删除用户 打开你的浏览器并输入网址:[http://localhost:8080/test/delete?id=1](http://localhost:8080/test/delete?id=1) diff --git a/docs/MatrixOne-Cloud/App-Develop/Tutorial/sqlalchemy-python-crud-demo.md b/docs/MatrixOne-Cloud/App-Develop/Tutorial/sqlalchemy-python-crud-demo.md index f1d7f6f..65122cc 100644 --- a/docs/MatrixOne-Cloud/App-Develop/Tutorial/sqlalchemy-python-crud-demo.md +++ b/docs/MatrixOne-Cloud/App-Develop/Tutorial/sqlalchemy-python-crud-demo.md @@ -1,6 +1,6 @@ # SQLAlchemy 基础示例 -本篇文档将指导你如何使用 **Python** 和 **SQLAlchemy** 构建一个简单的应用程序,并实现 CRUD(创建、读取、更新、删除)功能。 +本篇文档将指导你如何使用 **Python** 和 **SQLAlchemy** 构建一个简单的应用程序,并实现 CRUD (创建、读取、更新、删除) 功能。 **SQLAlchemy** 是 Python 语言中最流行的 ORM 工具之一。 @@ -52,11 +52,11 @@ pip3 install faker -i https://pypi.tuna.tsinghua.edu.cn/simple ``` -你可以参考 [Python 连接 MatrixOne 服务](../connect-mo/python-connect-to-matrixone.md)了解如何通过 `SQLAlchemy` 连接到 MatrixOne,本篇文档将指导你如何实现 CRUD(创建、读取、更新、删除)。 +你可以参考 [Python 连接 MatrixOne 服务](../connect-mo/python-connect-to-matrixone.md)了解如何通过 `SQLAlchemy` 连接到 MatrixOne,本篇文档将指导你如何实现 CRUD (创建、读取、更新、删除)。 ## 新建表 -作为对象关系映射器(ORM)工具,SQLAlchemy 允许开发人员创建 Python 类来映射关系数据库中的表。 +作为对象关系映射器 (ORM) 工具,SQLAlchemy 允许开发人员创建 Python 类来映射关系数据库中的表。 在下面的代码示例中,将创建一个 `Customer` 类,它定义的 `Customer` 的代码相当于一条 SQL 语句,它表示 MatrixOne 中的命名为 `Customer` 的表: diff --git a/docs/MatrixOne-Cloud/App-Develop/connect-mo/database-client-tools.md b/docs/MatrixOne-Cloud/App-Develop/connect-mo/database-client-tools.md index 2e3ccbc..ec55011 100644 --- a/docs/MatrixOne-Cloud/App-Develop/connect-mo/database-client-tools.md +++ b/docs/MatrixOne-Cloud/App-Develop/connect-mo/database-client-tools.md @@ -42,11 +42,11 @@ MatrixOne 现在支持通过以下几种数据库客户端工具的方式连接 2. 安装 Navicat 完成后,打开 Navicat,点击左上角 **Connection > MySQL**,在弹窗中填入如下参数: - - **Connction Name**: MOCloud - - **Host**: moc.cluster.matrixonecloud.cn - - **Port**: 6001 - - **User Name**: a123456b_78cd_9e12_fg34_abcd5d6789ef:admin:accountadmin - - **Password**: your_password + - **Connction Name**:MOCloud + - **Host**:moc.cluster.matrixonecloud.cn + - **Port**:6001 + - **User Name**:a123456b_78cd_9e12_fg34_abcd5d6789ef:admin:accountadmin + - **Password**:your_password - **Save password**:勾选 3. 点击 **Save** 保存设置。 @@ -73,12 +73,12 @@ MatrixOne 现在支持通过以下几种数据库客户端工具的方式连接 在 **Connect to a database** 窗口的 **Main** 区中填写如下参数: - - **Host**: moc.cluster.matrixonecloud.cn - - **Port**: 6001 - - **Database**: system - - **User Name**: a123456b_78cd_9e12_fg34_abcd5d6789ef:admin:accountadmin - - **Password**: your_password - - **Save password locally**: 勾选 + - **Host**:moc.cluster.matrixonecloud.cn + - **Port**:6001 + - **Database**:system + - **User Name**:a123456b_78cd_9e12_fg34_abcd5d6789ef:admin:accountadmin + - **Password**:your_password + - **Save password locally**:勾选 !!! note 初次连接可以将 Database 选项填写系统库 `system` 方便连接,后续可根据需求自行修改。 diff --git a/docs/MatrixOne-Cloud/App-Develop/connect-mo/java-connect-to-matrixone/connect-mo-with-jdbc.md b/docs/MatrixOne-Cloud/App-Develop/connect-mo/java-connect-to-matrixone/connect-mo-with-jdbc.md index a3933b3..04f3f5d 100644 --- a/docs/MatrixOne-Cloud/App-Develop/connect-mo/java-connect-to-matrixone/connect-mo-with-jdbc.md +++ b/docs/MatrixOne-Cloud/App-Develop/connect-mo/java-connect-to-matrixone/connect-mo-with-jdbc.md @@ -1,6 +1,6 @@ # 使用 JDBC 连接 -在 Java 中,我们可以通过 Java 代码使用 JDBC 连接器(Java Database Connectivity)连接到 MatrixOne。JDBC 是用于数据库连接的标准 API 之一,使用它我们可以轻松地运行 SQL 语句并且从数据库中获取数据。 +在 Java 中,我们可以通过 Java 代码使用 JDBC 连接器 (Java Database Connectivity) 连接到 MatrixOne。JDBC 是用于数据库连接的标准 API 之一,使用它我们可以轻松地运行 SQL 语句并且从数据库中获取数据。 ## 开始前准备 @@ -41,7 +41,7 @@ 5. 修改 **src/main/java/org/example/Main.java** 中的默认 Java 源代码。如下面的代码示例中所示,这段代码使用连接地址和凭据创建连接。连接到 MatrixOne 后,你可以使用 Java 语言对 MatrixOne 数据库和表进行操作。 - 有关如何使用 JDBC 在 MatrixOne 中开发 CRUD(创建、读取、更新、删除)应用程序的完整示例,参考 [Java CRUD 示例](../../Tutorial/develop-java-crud-demo.md)。 + 有关如何使用 JDBC 在 MatrixOne 中开发 CRUD (创建、读取、更新、删除) 应用程序的完整示例,参考 [Java CRUD 示例](../../Tutorial/develop-java-crud-demo.md)。 ```java package org.example; diff --git a/docs/MatrixOne-Cloud/App-Develop/connect-mo/java-connect-to-matrixone/connect-mo-with-orm.md b/docs/MatrixOne-Cloud/App-Develop/connect-mo/java-connect-to-matrixone/connect-mo-with-orm.md index 099d8d8..a70dcde 100644 --- a/docs/MatrixOne-Cloud/App-Develop/connect-mo/java-connect-to-matrixone/connect-mo-with-orm.md +++ b/docs/MatrixOne-Cloud/App-Develop/connect-mo/java-connect-to-matrixone/connect-mo-with-orm.md @@ -8,7 +8,7 @@ 下面的示例是 **Maven** 构建系统的典型设置。 -### 1. 在 *Pom.xml* 中添加 *MyBatis-Spring-Boot-Starter* +### 1。在 *Pom.xml* 中添加 *MyBatis-Spring-Boot-Starter* 在 Spring Boot 上构建 MyBatis 应用程序,你需要将 *MyBatis-Spring-Boot-Starter* 模块添加到 *pom.xml* 中,*MyBatis-Spring-Boot-Starter* 模块则是在选择 Maven 项目时进行创建的。 @@ -20,7 +20,7 @@ ``` -### 2. 添加配置 +### 2。添加配置 在 `application.properties` 中需要修改的参数如下,其余参数可以保存默认值: @@ -54,7 +54,7 @@ Spring Data JPA 是一个强大的应用框架,它有助于减少样板代码 下面的示例是 **Maven** 构建系统的典型设置。 -### 1. 在 *Pom.xml* 中添加 *spring-boot-starter-data-jpa* +### 1。在 *Pom.xml* 中添加 *spring-boot-starter-data-jpa* 在 Spring Boot 上构建 Spring Data JPA 应用程序,你需要将 *spring-boot-starter-data-jpa* 模块添加到 *pom.xml* 中,*spring-boot-starter-data-jpa* 模块则是在选择 Maven 项目时进行创建的。 @@ -65,7 +65,7 @@ Spring Data JPA 是一个强大的应用框架,它有助于减少样板代码 ``` -### 2. 添加配置 +### 2。添加配置 在 `application.properties` 中需要修改的参数如下,其余参数可以保存默认值: @@ -73,7 +73,7 @@ Spring Data JPA 是一个强大的应用框架,它有助于减少样板代码 - `spring.datasource.url`:JDBC 连接 URL 参数。 - `spring.datasource.username`:数据库用户名。 - `spring.datasource.password`:数据库密码。 -- `spring.jpa.properties.hibernate.dialect`:*SQL dialect*(即 SQL 方言)使 Hibernate 为所选数据库生成更好的 SQL。MatrixOne 当前仅支持 `org.hibernate.dialect.MySQLDialect`。 +- `spring.jpa.properties.hibernate.dialect`:*SQL dialect* (即 SQL 方言) 使 Hibernate 为所选数据库生成更好的 SQL。MatrixOne 当前仅支持 `org.hibernate.dialect.MySQLDialect`。 - `spring.jpa.hibernate.ddl-auto`:`spring.jpa.hibernate.ddl-auto` 属性采用一个枚举,该枚举以更可控的方式控制模式生成。可能的选项和效果如下表所示。MatrixOne 当前仅支持 *none* 和 *validate*。 diff --git a/docs/MatrixOne-Cloud/App-Develop/connect-mo/private-link.md b/docs/MatrixOne-Cloud/App-Develop/connect-mo/private-link.md index cf010d7..59ef3e0 100644 --- a/docs/MatrixOne-Cloud/App-Develop/connect-mo/private-link.md +++ b/docs/MatrixOne-Cloud/App-Develop/connect-mo/private-link.md @@ -1,14 +1,14 @@ -# 私网连接(PrivateLink) +# 私网连接 (PrivateLink) ## 介绍 -阿里云私网连接(PrivateLink)是一种高可用、可扩展的技术,您可以使用它将您的应用程序连接到阿里云同一个地域或者不同地域的 MatrixOne Cloud 实例。"私有网络连接" 允许您阿里云中的应用程序通过您的私有 IP 地址连接到 MatrixOne Cloud 实例的私有网关地址,而不是公共互联网网关地址。既节省公共互联网的网络流量开销,又提高了连接 MatrixOne Cloud 实例的带宽。 +阿里云私网连接 (PrivateLink) 是一种高可用、可扩展的技术,您可以使用它将您的应用程序连接到阿里云同一个地域或者不同地域的 MatrixOne Cloud 实例。“私有网络连接” 允许您阿里云中的应用程序通过您的私有 IP 地址连接到 MatrixOne Cloud 实例的私有网关地址,而不是公共互联网网关地址。既节省公共互联网的网络流量开销,又提高了连接 MatrixOne Cloud 实例的带宽。 MatrixOne Cloud 的架构如下: ![](https://community-shared-data-1308875761.cos.ap-beijing.myqcloud.com/artwork/mocdocs/connect/priveteLink-connectInstance-arch.jpg) -有关阿里云私网连接(PrivateLink)概念的更多详细信息,请参阅以下文档: +有关阿里云私网连接 (PrivateLink) 概念的更多详细信息,请参阅以下文档: - [什么是私网连接](https://help.aliyun.com/document_detail/161974.html) - [阿里云私网连接概述](https://help.aliyun.com/document_detail/2539840.html) diff --git a/docs/MatrixOne-Cloud/App-Develop/export-data/modump.md b/docs/MatrixOne-Cloud/App-Develop/export-data/modump.md index cbe7d57..7d1f059 100644 --- a/docs/MatrixOne-Cloud/App-Develop/export-data/modump.md +++ b/docs/MatrixOne-Cloud/App-Develop/export-data/modump.md @@ -26,19 +26,19 @@ MatrixOne Cloud 支持使用 `mo-dump` 导出数据。 - **-db [数据库名称]**:必需参数。要备份的数据库的名称。 -- **-net-buffer-length [数据包大小]**: 数据包大小,即 SQL 语句字符的总大小。数据包是 SQL 导出数据的基本单位,如果不设置参数,则默认 1048576 Byte(1M),最大可设置 16777216 Byte(16M)。假如这里的参数设置为 16777216 Byte(16M),那么,当要导出大于 16M 的数据时,会把数据拆分成多个 16M 的数据包,除最后一个数据包之外,其它数据包大小都为 16M。 +- **-net-buffer-length [数据包大小]**:数据包大小,即 SQL 语句字符的总大小。数据包是 SQL 导出数据的基本单位,如果不设置参数,则默认 1048576 Byte (1M),最大可设置 16777216 Byte (16M)。假如这里的参数设置为 16777216 Byte (16M),那么,当要导出大于 16M 的数据时,会把数据拆分成多个 16M 的数据包,除最后一个数据包之外,其它数据包大小都为 16M。 -- **-no-data**: 当在命令中显式指定该项时仅导出数据库/包的创建语句,不导出数据。 +- **-no-data**:当在命令中显式指定该项时仅导出数据库/包的创建语句,不导出数据。 - **-csv**:当在命令中显式指定该项时表示导出数据为 *CSV* 格式。 -- **-csv-field-delimiter [","]**: 设置 csv 字段分隔符,仅支持一个 utf8 字符,默认值为“,”。该项仅当设置导出数据格式为“csv”时启用。 +- **-csv-field-delimiter [“,”]**:设置 csv 字段分隔符,仅支持一个 utf8 字符,默认值为 “,”。该项仅当设置导出数据格式为 “csv” 时启用。 - **-tbl [表名]**:可选参数。如果参数为空,则导出整个数据库。如果要备份指定表,则可以在命令中指定多个 `-tbl` 和表名。 ## 如何使用 `mo-dump` -### 1. 下载 mo-dump 二进制文件 +### 1。下载 mo-dump 二进制文件 - 下载 [Linux x86 mo-dump 文件](https://github.com/matrixorigin/artwork/blob/main/docs/download/modump/linux-x86/mo-dump) - 下载 [Linux ARM mo-dump 文件](https://github.com/matrixorigin/artwork/blob/main/docs/download/modump/linuxarm/mo-dump) @@ -48,14 +48,14 @@ MatrixOne Cloud 支持使用 `mo-dump` 导出数据。 !!! note `mo-dump` 文件可以在相同的硬件平台上工作。但是需要注意在 x86 平台中构建的 `mo-dump` 二进制文件在 Darwin ARM 平台中则无法正常工作。你可以在同一套操作系统和硬件平台内构建并使用 `mo-dump` 二进制文件。`mo-dump` 目前只支持 Linux 和 macOS。 -### 2. 使用 `mo-dump` 导出 MatrixOne Cloud 的数据库 +### 2。使用 `mo-dump` 导出 MatrixOne Cloud 的数据库 `mo-dump` 在命令行中非常易用。参见以下步骤示例,导出 *sql* 文件格式完整数据库: 1. 选择目标实例,点击**连接 > 通过第三方工具连接**,右侧滑窗内可查阅到 MatrixOne Cloud 上你的实例主机地址、端口号、用户名和密码。 !!! note - mo-dump 暂不支持连接串的用户名格式(即不支持原格式 `::`),需要更改为 `##`。 + mo-dump 暂不支持连接串的用户名格式 (即不支持原格式 `::`),需要更改为 `##`。 2. 在你本地计算机上打开终端窗口,输入以下命令,连接到 MatrixOne Cloud,并且导出数据库: diff --git a/docs/MatrixOne-Cloud/App-Develop/import-data/bulk-load/bulk-load-overview.md b/docs/MatrixOne-Cloud/App-Develop/import-data/bulk-load/bulk-load-overview.md index 5921d95..09a5827 100644 --- a/docs/MatrixOne-Cloud/App-Develop/import-data/bulk-load/bulk-load-overview.md +++ b/docs/MatrixOne-Cloud/App-Develop/import-data/bulk-load/bulk-load-overview.md @@ -15,14 +15,14 @@ MatrixOne 支持使用 `LOAD DATA` 命令从本地文件系统或 *S3 对象存 ### 从不同存储位置进行导入 -根据*数据存储位置不同*的情况,MatrixOne 支持使用 `LOAD DATA` 命令从*本地进行导入*和*从对象存储服务(Simple Storage Service, S3) 导入*。 +根据*数据存储位置不同*的情况,MatrixOne 支持使用 `LOAD DATA` 命令从*本地进行导入*和*从对象存储服务 (Simple Storage Service,S3) 导入*。 - 从本地导入数据的方式,参考[插入 csv 文件](load-csv.md)或[插入 jsonlines 文件](load-jsonline.md)。 - 从 S3 导入数据的方式,参考[从对象存储导入文件](load-s3.md)。 ## `SOURCE` -MatrixOne 支持使用 `SOURCE` 命令从外部 SQL 脚本文件执行 SQL 语句导入整个数据库结构(包括表结构和数据)。`SOURCE` 命令在处理大量数据时可能没有 `LOAD DATA` 命令性能高,因为它需要解析和执行每个 SQL 语句。 +MatrixOne 支持使用 `SOURCE` 命令从外部 SQL 脚本文件执行 SQL 语句导入整个数据库结构 (包括表结构和数据)。`SOURCE` 命令在处理大量数据时可能没有 `LOAD DATA` 命令性能高,因为它需要解析和执行每个 SQL 语句。 - [Source 插入](using-source.md) diff --git a/docs/MatrixOne-Cloud/App-Develop/import-data/bulk-load/load-csv.md b/docs/MatrixOne-Cloud/App-Develop/import-data/bulk-load/load-csv.md index 6e18787..892dffb 100644 --- a/docs/MatrixOne-Cloud/App-Develop/import-data/bulk-load/load-csv.md +++ b/docs/MatrixOne-Cloud/App-Develop/import-data/bulk-load/load-csv.md @@ -4,7 +4,7 @@ 在使用 MatrixOne Cloud 时,支持使用 `LOAD DATA LOCAL` 语法将位于**客户端主机**上的 *csv* 数据文件导入至 MatrixOne Cloud 集群,详细语法可参考 [LOAD DATA 语法介绍](../../../Reference/SQL-Reference/Data-Manipulation-Language/load-data.md)。 -__Note__: *CSV*(逗号分隔值)文件是一种特殊的文件类型,可在 Excel 中创建或编辑,*CSV* 文件不是采用多列的形式存储信息,而是使用逗号分隔的形式存储信息。MatrixOne 可使用的 *CSV* 格式需符合 **RFC4180** 标准。 +__Note__:*CSV* (逗号分隔值) 文件是一种特殊的文件类型,可在 Excel 中创建或编辑,*CSV* 文件不是采用多列的形式存储信息,而是使用逗号分隔的形式存储信息。MatrixOne 可使用的 *CSV* 格式需符合 **RFC4180** 标准。 ## 语法结构 @@ -26,7 +26,7 @@ INTO TABLE tbl_name ## 在 MySQL Client 中使用 `Load data local` 命令导入数据 -__Note__: 使用 `Load data local` 命令时,数据文件需位于执行该语句的 MySQL 客户端所在的服务器中。 +__Note__:使用 `Load data local` 命令时,数据文件需位于执行该语句的 MySQL 客户端所在的服务器中。 ### 步骤 diff --git a/docs/MatrixOne-Cloud/App-Develop/import-data/bulk-load/load-jsonline.md b/docs/MatrixOne-Cloud/App-Develop/import-data/bulk-load/load-jsonline.md index 0850fe7..9c2c068 100644 --- a/docs/MatrixOne-Cloud/App-Develop/import-data/bulk-load/load-jsonline.md +++ b/docs/MatrixOne-Cloud/App-Develop/import-data/bulk-load/load-jsonline.md @@ -1,10 +1,10 @@ # 插入 jsonlines 文件 -本篇文档将指导你如何将 JSONLines 格式数据(即 *jl* 或 *jsonl* 文件)通过 `LOAD DATA LOCAL` 命令导入 MatrixOne Cloud。 +本篇文档将指导你如何将 JSONLines 格式数据 (即 *jl* 或 *jsonl* 文件) 通过 `LOAD DATA LOCAL` 命令导入 MatrixOne Cloud。 ## 有关 JSONLines 格式 -JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。你可以参见[官方文档](https://www.json.org/json-en.html)获取更多有关 JSON 的信息。 +JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。你可以参见[官方文档](https://www.json.org/json-en.html)获取更多有关 JSON 的信息。 [JSONLines](https://jsonlines.org/) 文本格式,也称为换行符分隔的 JSON,它是一种更为方便存储结构化的数据格式,可以一次处理一条记录。它每一行都是完整、合法的 JSON 值;它采用 `\n` 作为行分隔符。JSONLines 的每一行都是独立的,因此行的开头或结尾不需要逗号。JSONLines 的全部内容也不需要用 `[]` 或 `{}` 括起来。 @@ -30,7 +30,7 @@ JSONLines 格式只需要每一行都有一个有效的 JSON 值。但 MatrixOne {"id":3,"father":"Bob","mother":"Monika"} ``` -无效对象 JSONLines 示例(具有嵌套结构): +无效对象 JSONLines 示例 (具有嵌套结构): ``` {"id":1,"father":"Mark","mother":"Charlotte","children":["Tom"]} @@ -48,7 +48,7 @@ JSONLines 格式只需要每一行都有一个有效的 JSON 值。但 MatrixOne ["Deloise", "2012A", 19, true] ``` -无效数组 JSONLines 示例(无效原因是因为数据类型和列号不匹配): +无效数组 JSONLines 示例 (无效原因是因为数据类型和列号不匹配): ``` ["Gilbert", "2013", 24, true, 100] diff --git a/docs/MatrixOne-Cloud/App-Develop/import-data/bulk-load/load-s3.md b/docs/MatrixOne-Cloud/App-Develop/import-data/bulk-load/load-s3.md index 734dee0..3298a0a 100644 --- a/docs/MatrixOne-Cloud/App-Develop/import-data/bulk-load/load-s3.md +++ b/docs/MatrixOne-Cloud/App-Develop/import-data/bulk-load/load-s3.md @@ -2,18 +2,18 @@ ## 概述 -S3(Simple Storage Service)对象存储是指亚马逊的简单存储服务。你还可以使用与 S3 兼容的对象存储来存储几乎任何类型和大小的数据,包括数据湖、云原生应用程序和移动应用程序。如果你不熟悉 S3 对象服务,你可以在 [AWS](https://docs.aws.amazon.com/s3/index.html) 中查找一些基本介绍。 +S3 (Simple Storage Service) 对象存储是指亚马逊的简单存储服务。你还可以使用与 S3 兼容的对象存储来存储几乎任何类型和大小的数据,包括数据湖、云原生应用程序和移动应用程序。如果你不熟悉 S3 对象服务,你可以在 [AWS](https://docs.aws.amazon.com/s3/index.html) 中查找一些基本介绍。 AWS S3 十多年来一直非常成功,因此它成为了对象存储的标准。因此几乎所有主流公有云厂商都提供了兼容 S3 的对象存储服务。 -MatrixOne Cloud 支持将文件从 S3 兼容的对象存储服务加载到数据库中。MatrixOne Cloud 支持 AWS 和国内主流云厂商(阿里云、腾讯云等)。 +MatrixOne Cloud 支持将文件从 S3 兼容的对象存储服务加载到数据库中。MatrixOne Cloud 支持 AWS 和国内主流云厂商 (阿里云、腾讯云等)。 在 MatrixOne Cloud 中,有两种方法可以从 S3 兼容的对象存储中导入数据: * 使用带有 s3option 的 `Load data` 将文件加载到 MatrixOne Cloud 中。此方法会将数据加载到 MatrixOne Cloud 中,所有接下来的查询都将在 MatrixOne Cloud 中进行。 -* 创建一个带有 s3option 映射到 S3 文件的“外部表”,并直接查询这个外部表。该方法允许通过 S3 兼容的对象存储服务进行数据访问;每个查询的网络延迟都将被计算在内。 +* 创建一个带有 s3option 映射到 S3 文件的 “外部表”,并直接查询这个外部表。该方法允许通过 S3 兼容的对象存储服务进行数据访问;每个查询的网络延迟都将被计算在内。 -## 方式 1: `LOAD DATA` +## 方式 1:`LOAD DATA` ### 语法结构 @@ -60,11 +60,11 @@ LOAD DATA URL s3option{"endpoint"='cos.ap-shanghai.myqcloud.com', "access_key_id ``` !!! note - MatrixOne Cloud 提供了 S3 验证信息的安全保证,例如 `access_key_id` 和 `secret_access_key` 敏感信息在系统表(statement_info)记录里将被隐藏,保证你的账户安全。 + MatrixOne Cloud 提供了 S3 验证信息的安全保证,例如 `access_key_id` 和 `secret_access_key` 敏感信息在系统表 (statement_info) 记录里将被隐藏,保证你的账户安全。 ### 教程:从 AWS S3 加载文件 -本教程中将指导你完成从 AWS S3 加载**. csv** 文件的过程。 +本教程中将指导你完成从 AWS S3 加载**。csv** 文件的过程。 如果你已经拥有一个 AWS 账户并且已经在你的 S3 服务中准备好数据文件,那么请继续阅读本教程章节。 @@ -182,7 +182,7 @@ create external table t1(col1 char(225)) url s3option{"endpoint"='cos.ap-shangha ### 教程:使用 S3 文件创建外部表 -本教程将指导你完成使用来自 AWS S3 的**. csv** 文件创建外部表的整个过程。 +本教程将指导你完成使用来自 AWS S3 的**。csv** 文件创建外部表的整个过程。 !!! note 由于帐户隐私,此代码示例不会显示帐户信息,例如 `access_key_id` 和 `secret_access_key`。 @@ -245,7 +245,7 @@ create external table t1(col1 char(225)) url s3option{"endpoint"='cos.ap-shangha 21 rows in set (1.32 sec) ``` -5. (选做)如果需要将外部表数据导入到 MatrixOne Cloud 中的数据表,使用如下 SQL 语句: +5. (选做) 如果需要将外部表数据导入到 MatrixOne Cloud 中的数据表,使用如下 SQL 语句: 在 MatrixOne Cloud 中新建一个表 *t2*: diff --git a/docs/MatrixOne-Cloud/App-Develop/import-data/bulk-load/using-source.md b/docs/MatrixOne-Cloud/App-Develop/import-data/bulk-load/using-source.md index ac58091..4605da2 100644 --- a/docs/MatrixOne-Cloud/App-Develop/import-data/bulk-load/using-source.md +++ b/docs/MatrixOne-Cloud/App-Develop/import-data/bulk-load/using-source.md @@ -16,7 +16,7 @@ SOURCE /path/to/your/sql_script.sql; ### 步骤 -#### 1. MySQL 数据转储 +#### 1。MySQL 数据转储 你需要拥有对 MySQL 实例的完全访问权限。 @@ -32,7 +32,7 @@ mysqldump -h IP_ADDRESS -uUSERNAME -pPASSWORD -d DB_NAME1 DB_NAME2 ... OUTPUT_FI mysqldump -h 127.0.0.1 -uroot -proot -d test > a.sql ``` -#### 2. 导入至 MatrixOne Cloud +#### 2。导入至 MatrixOne Cloud 将整个表结构和数据导入到 MatrixOne Cloud 中。 @@ -50,7 +50,7 @@ mysql> source /YOUR_PATH/a.sql nohup mysql -h moc.cluster.matrixonecloud.cn -P 6001 -u a123456b_78cd_9e12_fg34_abcd5d6789ef:admin:accountadmin -p'$pwd' -e 'use dbname; source /YOUR_PATH/a.sql;' & ``` -#### 3. 检查数据 +#### 3。检查数据 导入成功后,使用如下 SQL 语句查看导入结果: diff --git a/docs/MatrixOne-Cloud/App-Develop/import-data/delete-data.md b/docs/MatrixOne-Cloud/App-Develop/import-data/delete-data.md index cc6f1d0..413d8bf 100644 --- a/docs/MatrixOne-Cloud/App-Develop/import-data/delete-data.md +++ b/docs/MatrixOne-Cloud/App-Develop/import-data/delete-data.md @@ -23,13 +23,13 @@ DELETE FROM tbl_name [[AS] tbl_alias] 1. `DELETE FROM tbl_name`:指定要从表中删除数据的目标表。tbl_name 是表的名称。 -2. `[AS] tbl_alias`(可选):可以使用 AS 关键字为目标表指定一个表别名(tbl_alias)。别名是可选的,用于简化查询并在语句中引用表。 +2. `[AS] tbl_alias` (可选):可以使用 AS 关键字为目标表指定一个表别名 (tbl_alias)。别名是可选的,用于简化查询并在语句中引用表。 -3. `[WHERE where_condition]`(可选):WHERE 子句用于指定删除数据的条件。只有满足指定条件的行才会被删除。where_condition 是一个逻辑表达式,可以使用各种比较运算符和逻辑运算符来定义条件。 +3. `[WHERE where_condition]` (可选):WHERE 子句用于指定删除数据的条件。只有满足指定条件的行才会被删除。where_condition 是一个逻辑表达式,可以使用各种比较运算符和逻辑运算符来定义条件。 -4. `[ORDER BY ...]`(可选):ORDER BY 子句用于按指定的列对要删除的行进行排序。可以使用一个或多个列,并可以指定升序(ASC)或降序(DESC)排序。排序将影响删除的行的顺序。 +4. `[ORDER BY ...]` (可选):ORDER BY 子句用于按指定的列对要删除的行进行排序。可以使用一个或多个列,并可以指定升序 (ASC) 或降序 (DESC) 排序。排序将影响删除的行的顺序。 -5. `[LIMIT row_count]`(可选):LIMIT 子句用于限制从表中删除的行数。它指定要删除的最大行数(row_count)。如果未指定 LIMIT 子句,则将删除满足 WHERE 条件的所有行。 +5. `[LIMIT row_count]` (可选):LIMIT 子句用于限制从表中删除的行数。它指定要删除的最大行数 (row_count)。如果未指定 LIMIT 子句,则将删除满足 WHERE 条件的所有行。 ### `TRUNCATE` @@ -39,7 +39,7 @@ DELETE FROM tbl_name [[AS] tbl_alias] `TRUNCATE` 语句用于删除表中的所有数据,保留表的结构。它将快速清空表,而不是逐行删除数据。 -- `[TABLE]`(可选)关键字用于提供更清晰的语法,但在大多数数据库系统中可以省略。 +- `[TABLE]` (可选) 关键字用于提供更清晰的语法,但在大多数数据库系统中可以省略。 - `table_name` 是要进行操作的目标表的名称。 ### `DROP` @@ -50,13 +50,13 @@ DELETE FROM tbl_name [[AS] tbl_alias] `DROP TABLE` 语句用于完全删除数据库中的表,包括表的结构和数据。 -- `[IF EXISTS]`(可选)关键字表示如果表存在,则执行删除操作。如果省略此关键字,并且要删除的表不存在,将引发错误。 -- `[db.]`(可选)指定表所在的数据库名称。如果未提供数据库名称,则默认为当前数据库。 +- `[IF EXISTS]` (可选) 关键字表示如果表存在,则执行删除操作。如果省略此关键字,并且要删除的表不存在,将引发错误。 +- `[db.]` (可选) 指定表所在的数据库名称。如果未提供数据库名称,则默认为当前数据库。 - `name` 是要删除的表的名称。 -## GC(Garbage Collection)机制 +## GC (Garbage Collection) 机制 -在默认配置下,MatrixOne 在执行 `DELETE`、`DROP` 或 `TRUNCATE` 语句后,并不会立即从磁盘中删除数据,而是将这些数据标记为可删除状态。随后,GC(垃圾回收)机制会定期进行扫描,并清理不再需要的旧数据。 +在默认配置下,MatrixOne 在执行 `DELETE`、`DROP` 或 `TRUNCATE` 语句后,并不会立即从磁盘中删除数据,而是将这些数据标记为可删除状态。随后,GC (垃圾回收) 机制会定期进行扫描,并清理不再需要的旧数据。 默认情况下,垃圾回收机制每隔 30 分钟进行一次扫描。每次扫描会查找超过 1 小时通过 SQL 语句被删除的数据,并开始清理操作,以释放磁盘空间。完成所有清理的最长周期为 90 分钟。因此,需要注意的是,执行 `DELETE`、`DROP` 或 `TRUNCATE` 语句并不会立即减少磁盘使用量。只有在垃圾回收过程中,被标记为可删除的数据才会被清理并释放空间。 diff --git a/docs/MatrixOne-Cloud/App-Develop/import-data/stream-load.md b/docs/MatrixOne-Cloud/App-Develop/import-data/stream-load.md index fd5dfa3..9538678 100644 --- a/docs/MatrixOne-Cloud/App-Develop/import-data/stream-load.md +++ b/docs/MatrixOne-Cloud/App-Develop/import-data/stream-load.md @@ -39,7 +39,7 @@ INTO TABLE tbl_name; 2. [通过 MySQL Client 连接 MatrixOne Cloud 服务](../connect-mo/database-client-tools.md#mysql-client-matrixone-cloud)。 -3. 在 MatrixOne Cloud 数据库中执行 `LOAD DATA INLINE` 之前,需要提前创建数据表 `user`: +3. 在 MatrixOne Cloud 数据库中执行 `LOAD DATA INLINE` 之前,需要提前创建数据表 `user`: ```mysql diff --git a/docs/MatrixOne-Cloud/App-Develop/import-data/update-data.md b/docs/MatrixOne-Cloud/App-Develop/import-data/update-data.md index 4ec5123..06a0e21 100644 --- a/docs/MatrixOne-Cloud/App-Develop/import-data/update-data.md +++ b/docs/MatrixOne-Cloud/App-Develop/import-data/update-data.md @@ -39,13 +39,13 @@ UPDATE table_reference 1. `UPDATE table_reference`:指定要更新数据的目标表。table_reference 可以是单个表或多个表的联接。 -2. `SET assignment_list`:指定要更新的列和值。assignment_list 是一个由列名和相应的值组成的列表,用逗号分隔。每个列名后面使用等号(=)将其与要更新的新值相关联。 +2. `SET assignment_list`:指定要更新的列和值。assignment_list 是一个由列名和相应的值组成的列表,用逗号分隔。每个列名后面使用等号 (=) 将其与要更新的新值相关联。 -3. `[WHERE where_condition]`(可选):WHERE 子句用于指定更新数据的条件。只有满足指定条件的行才会被更新。where_condition 是一个逻辑表达式,可以使用各种比较运算符和逻辑运算符来定义条件。 +3. `[WHERE where_condition]` (可选):WHERE 子句用于指定更新数据的条件。只有满足指定条件的行才会被更新。where_condition 是一个逻辑表达式,可以使用各种比较运算符和逻辑运算符来定义条件。 -4. `[ORDER BY ...]`(可选):ORDER BY 子句用于按指定的列对要更新的行进行排序。可以使用一个或多个列,并可以指定升序(ASC)或降序(DESC)排序。排序将影响更新的行的顺序。 +4. `[ORDER BY ...]` (可选):ORDER BY 子句用于按指定的列对要更新的行进行排序。可以使用一个或多个列,并可以指定升序 (ASC) 或降序 (DESC) 排序。排序将影响更新的行的顺序。 -5. `[LIMIT row_count]`(可选):LIMIT 子句用于限制要更新的行数。它指定要更新的最大行数(row_count)。如果未指定 LIMIT 子句,则将更新满足 WHERE 条件的所有行。 +5. `[LIMIT row_count]` (可选):LIMIT 子句用于限制要更新的行数。它指定要更新的最大行数 (row_count)。如果未指定 LIMIT 子句,则将更新满足 WHERE 条件的所有行。 更新数据的过程中,指定要更新的表、要更新的列和值、更新的条件以及排序和限制,以便根据需求进行灵活的数据更新。 @@ -58,13 +58,13 @@ UPDATE table_reference 1. `INSERT INTO [db.]table [(c1, c2, c3)] VALUES (v11, v12, v13), (v21, v22, v23), ...` - `INSERT INTO` 语句用于向表中插入新的行。 - - `[db.]`(可选)指定表所在的数据库名称。如果未提供数据库名称,则默认为当前数据库。 + - `[db.]` (可选) 指定表所在的数据库名称。如果未提供数据库名称,则默认为当前数据库。 - `table` 是要插入数据的目标表的名称。 - - `[(c1, c2, c3)]`(可选)指定要插入的列,用括号括起来,并使用逗号分隔列名。如果未指定列名,则假定将插入表中所有可用的列。 + - `[(c1, c2, c3)]` (可选) 指定要插入的列,用括号括起来,并使用逗号分隔列名。如果未指定列名,则假定将插入表中所有可用的列。 - `VALUES` 子句指定要插入的值。每个值与对应的列一一对应,用逗号分隔,放在括号中。可以插入多行数据,每一行用逗号分隔。 2. `[ON DUPLICATE KEY UPDATE column1 = value1, column2 = value2, column3 = value3, ...]` - - `ON DUPLICATE KEY UPDATE` 子句用于在插入数据时处理重复键(Duplicate Key)的情况。 + - `ON DUPLICATE KEY UPDATE` 子句用于在插入数据时处理重复键 (Duplicate Key) 的情况。 - 当插入的数据中存在重复键时,即某一列或组合列的值与已存在的行的键值相同,将执行 UPDATE 操作而不是插入新行。 - `column1, column2, column3` 等表示要更新的列名,`value1, value2, value3` 等表示要更新的对应值。 diff --git a/docs/MatrixOne-Cloud/App-Develop/read-data/cte.md b/docs/MatrixOne-Cloud/App-Develop/read-data/cte.md index a7d58e1..d396381 100644 --- a/docs/MatrixOne-Cloud/App-Develop/read-data/cte.md +++ b/docs/MatrixOne-Cloud/App-Develop/read-data/cte.md @@ -1,6 +1,6 @@ # 公共表表达式 (CTE) -公用表表达式(CTE,Common table expression) 是一个命名的临时结果集,仅在单个 SQL 语句 (例如 `SELECT`,`INSERT`,`UPDATE` 或 `DELETE`) 的执行范围内存在。 +公用表表达式 (CTE,Common table expression) 是一个命名的临时结果集,仅在单个 SQL 语句 (例如 `SELECT`,`INSERT`,`UPDATE` 或 `DELETE`) 的执行范围内存在。 与派生表类似,CTE 不作为对象存储,仅在查询执行期间持续;与派生表不同,CTE 可以是自引用,也可以在同一查询中多次引用。此外,与派生表相比,CTE 提供了更好的可读性和性能。 @@ -21,7 +21,7 @@ WITH AS ( SELECT ... FROM ; ``` -- 递归公共表达式:是指 CTE 中引用自身的表达式,用于处理具有递归结构的数据,例如树形结构、图形等。递归 CTE 在定义中包含一个基本查询(起始条件),然后在该基本查询的结果上进行递归操作,直到满足停止条件为止。递归 CTE 语法如下: +- 递归公共表达式:是指 CTE 中引用自身的表达式,用于处理具有递归结构的数据,例如树形结构、图形等。递归 CTE 在定义中包含一个基本查询 (起始条件),然后在该基本查询的结果上进行递归操作,直到满足停止条件为止。递归 CTE 语法如下: ```sql WITH RECURSIVE AS ( @@ -38,7 +38,7 @@ SELECT ... FROM ; ## CTE 语句使用示例 -假设我们要创建一个名为 `EMPLOYEES` 的表,其中包含员工的层次结构关系,然后使用非递归 Common Table Expression(CTE)和递归 CTE 分别查询员工层次结构。 +假设我们要创建一个名为 `EMPLOYEES` 的表,其中包含员工的层次结构关系,然后使用非递归 Common Table Expression (CTE) 和递归 CTE 分别查询员工层次结构。 首先,我们创建一个 `EMPLOYEES` 表并插入一些示例数据: @@ -116,7 +116,7 @@ SELECT * FROM EmployeeInfo; 9 rows in set (0.00 sec) ``` -我们使用了一个递归 CTE `EmployeeHierarchy`,它首先选择顶层经理(`MANAGER_ID IS NULL`),然后通过递归连接找到每个员工的直接下属,同时跟踪层次级别。这样,我们就可以通过查询 CTE 来获取员工层次结构的详细信息。 +我们使用了一个递归 CTE `EmployeeHierarchy`,它首先选择顶层经理 (`MANAGER_ID IS NULL`),然后通过递归连接找到每个员工的直接下属,同时跟踪层次级别。这样,我们就可以通过查询 CTE 来获取员工层次结构的详细信息。 非递归 CTE 示例只是从 `EMPLOYEES` 表中选择所有员工的基本信息,包括 `EMPLOYEE_ID`、`NAME` 和 `MANAGER_ID`。 diff --git a/docs/MatrixOne-Cloud/App-Develop/read-data/subquery.md b/docs/MatrixOne-Cloud/App-Develop/read-data/subquery.md index ae0b4c5..c6318f5 100644 --- a/docs/MatrixOne-Cloud/App-Develop/read-data/subquery.md +++ b/docs/MatrixOne-Cloud/App-Develop/read-data/subquery.md @@ -8,17 +8,17 @@ 通常情况下,从 SQL 语句结构上,子查询语句一般有以下几种形式: -- 标量子查询(Scalar Subquery),如 `SELECT (SELECT s1 FROM t2) FROM t1`。 -- 派生表(Derived Tables),如 `SELECT t1.s1 FROM (SELECT s1 FROM t2) t1`。 -- 存在性测试(Existential Test),如 `WHERE NOT EXISTS(SELECT ... FROM t2)`,`WHERE t1.a IN (SELECT ... FROM t2)`。 -- 集合比较(Quantified Comparison),如 `WHERE t1.a = ANY(SELECT ... FROM t2)`。 +- 标量子查询 (Scalar Subquery),如 `SELECT (SELECT s1 FROM t2) FROM t1`。 +- 派生表 (Derived Tables),如 `SELECT t1.s1 FROM (SELECT s1 FROM t2) t1`。 +- 存在性测试 (Existential Test),如 `WHERE NOT EXISTS(SELECT ... FROM t2)`,`WHERE t1.a IN (SELECT ... FROM t2)`。 +- 集合比较 (Quantified Comparison),如 `WHERE t1.a = ANY(SELECT ... FROM t2)`。 - 作为比较运算符操作数的子查询,如 `WHERE t1.a > (SELECT ... FROM t2)`。 关于子查询 SQL 语句,参见 [SUBQUERY](../../Reference/SQL-Reference/Data-Query-Language/subqueries/subquery.md)。 另外,从 SQL 语句执行情况上,子查询语句一般有以下两种形式: -1. 关联子查询(Correlated Subquery):数据库嵌套查询中内层查询和外层查询不相互独立,内层查询也依赖于外层查询。执行顺序为: +1. 关联子查询 (Correlated Subquery):数据库嵌套查询中内层查询和外层查询不相互独立,内层查询也依赖于外层查询。执行顺序为: - 先从外层查询中查询中一条记录。 diff --git a/docs/MatrixOne-Cloud/App-Develop/schema-design/create-database.md b/docs/MatrixOne-Cloud/App-Develop/schema-design/create-database.md index fb6492e..18aebc5 100644 --- a/docs/MatrixOne-Cloud/App-Develop/schema-design/create-database.md +++ b/docs/MatrixOne-Cloud/App-Develop/schema-design/create-database.md @@ -24,7 +24,7 @@ CREATE DATABASE IF NOT EXISTS `modatabase`; ``` -此语句会创建一个名为 *modatabase* 的数据库(如果尚不存在)。 +此语句会创建一个名为 *modatabase* 的数据库 (如果尚不存在)。 要查看所有数据库,可在命令行执行一条 `SHOW DATABASES` 语句: diff --git a/docs/MatrixOne-Cloud/App-Develop/schema-design/create-secondary-index.md b/docs/MatrixOne-Cloud/App-Develop/schema-design/create-secondary-index.md index 956308c..baa31b1 100644 --- a/docs/MatrixOne-Cloud/App-Develop/schema-design/create-secondary-index.md +++ b/docs/MatrixOne-Cloud/App-Develop/schema-design/create-secondary-index.md @@ -2,7 +2,7 @@ ## 什么是次级索引 -在非主键上标识的索引,次级索引也称为非聚集索引(non-clustered index),用于提高查询性能和加速数据检索。次级索引并不直接存储表数据,而是对数据的一部分(如某个列)建立索引,从而允许数据库系统快速定位表中包含特定值的行。 +在非主键上标识的索引,次级索引也称为非聚集索引 (non-clustered index),用于提高查询性能和加速数据检索。次级索引并不直接存储表数据,而是对数据的一部分 (如某个列) 建立索引,从而允许数据库系统快速定位表中包含特定值的行。 使用次级索引可以帮助加速查询操作,特别是在对大型表进行查询时。次级索引还可以用于支持排序、分组和连接操作,这些操作通常需要对表中的一部分数据进行排序或者匹配。 diff --git a/docs/MatrixOne-Cloud/App-Develop/schema-design/create-table.md b/docs/MatrixOne-Cloud/App-Develop/schema-design/create-table.md index 4c1394e..34816b5 100644 --- a/docs/MatrixOne-Cloud/App-Develop/schema-design/create-table.md +++ b/docs/MatrixOne-Cloud/App-Develop/schema-design/create-table.md @@ -220,7 +220,7 @@ SHOW TABLES IN `modatabase`; ### 命名表时应遵守的规则 -- 使用完全限定的表名称(例如:`CREATE TABLE {database_name}.{table_name}`)。这是因为你在不指定数据库名称时,MatrixOne Cloud 将使用你 SQL 会话中的当前数据库。若你未在 SQL 会话中使用 `USE {databasename};` 来指定数据库,MatrixOne Cloud 将会返回错误。 +- 使用完全限定的表名称 (例如:`CREATE TABLE {database_name}.{table_name}`)。这是因为你在不指定数据库名称时,MatrixOne Cloud 将使用你 SQL 会话中的当前数据库。若你未在 SQL 会话中使用 `USE {databasename};` 来指定数据库,MatrixOne Cloud 将会返回错误。 - 请使用有意义的表名,例如,若你需要创建一个用户表,你可以使用名称:*user*,*t_user*,*users* 等,或遵循你公司或组织的命名规范。如果你的公司或组织没有相应的命名规范,可参考表命名规范。 @@ -242,4 +242,4 @@ SHOW TABLES IN `modatabase`; - 出于为性能考虑,尽量避免存储超宽表,表字段数不建议超过 60 个,建议单行的总数据大小不要超过 64K,数据长度过大字段最好拆到另外的表。 - 不推荐使用复杂的数据类型。 - 需要 `JOIN` 的字段,数据类型保障绝对一致,避免隐式转换。 -- 避免在单个单调数据列上定义主键。如果你使用单个单调数据列(例如:AUTO_INCREMENT 的列)来定义主键,有可能会对写性能产生负面影响。 +- 避免在单个单调数据列上定义主键。如果你使用单个单调数据列 (例如:AUTO_INCREMENT 的列) 来定义主键,有可能会对写性能产生负面影响。 diff --git a/docs/MatrixOne-Cloud/App-Develop/schema-design/create-temporary-table.md b/docs/MatrixOne-Cloud/App-Develop/schema-design/create-temporary-table.md index 5a25109..e308ec4 100644 --- a/docs/MatrixOne-Cloud/App-Develop/schema-design/create-temporary-table.md +++ b/docs/MatrixOne-Cloud/App-Develop/schema-design/create-temporary-table.md @@ -2,7 +2,7 @@ ## 什么是临时表 -临时表(temporary table)是一种特殊的表,它在创建后只在当前会话可见。在当前会话结束时,数据库自动删除临时表并释放所有空间,你也可以使用 `DROP TABLE` 删除临时表。 +临时表 (temporary table) 是一种特殊的表,它在创建后只在当前会话可见。在当前会话结束时,数据库自动删除临时表并释放所有空间,你也可以使用 `DROP TABLE` 删除临时表。 你可以使用临时表在一次会话中保存一些中间结果,例如,你可能需要多次查询这些结果,或者这些结果是其他查询的子集。 @@ -42,8 +42,8 @@ CREATE TEMPORARY TABLE temp_table_name (column_list); 你可以在临时表和常规表中使用相同的表名,而不会产生冲突,因为它们实际上是在不同的命名空间中。但是,在同一个会话中,两个临时表不能共享相同的名称。 !!! note - 1. 即使临时表可以与永久表具有相同的名称,但不推荐。因为这可能会导致意外的数据丢失。例如,如果与数据库服务器的连接丢失,并且您自动重新连接到服务器,则不能区分临时表和永久性表。如果此时你又发出一个 `DROP TABLE` 语句,这个时候删除的可能是永久表而不是临时表,这种结果是不可预料的。 - 2. 使用 `SHOW TABLES` 命令显示数据表列表时,你也无法看到临时表列表。 + 1。即使临时表可以与永久表具有相同的名称,但不推荐。因为这可能会导致意外的数据丢失。例如,如果与数据库服务器的连接丢失,并且您自动重新连接到服务器,则不能区分临时表和永久性表。如果此时你又发出一个 `DROP TABLE` 语句,这个时候删除的可能是永久表而不是临时表,这种结果是不可预料的。 + 2。使用 `SHOW TABLES` 命令显示数据表列表时,你也无法看到临时表列表。 ## 示例 diff --git a/docs/MatrixOne-Cloud/App-Develop/schema-design/create-view.md b/docs/MatrixOne-Cloud/App-Develop/schema-design/create-view.md index e57c67b..98abc6f 100644 --- a/docs/MatrixOne-Cloud/App-Develop/schema-design/create-view.md +++ b/docs/MatrixOne-Cloud/App-Develop/schema-design/create-view.md @@ -2,7 +2,7 @@ ## 什么是视图 -视图(View)是一个基于 SQL 语句的结果集的可视化、只读的虚拟表,其内容由查询定义。与普通表(存储数据的表)不同,视图不包含数据,仅仅是基于基表(被查询的表)的查询结果的格式化显示。你可以把视图看作是一张表的窗口,这个窗口中的数据反映在其他表上。当查询视图时,数据库会将该视图的 SQL 查询应用到其基础表上。 +视图 (View) 是一个基于 SQL 语句的结果集的可视化、只读的虚拟表,其内容由查询定义。与普通表 (存储数据的表) 不同,视图不包含数据,仅仅是基于基表 (被查询的表) 的查询结果的格式化显示。你可以把视图看作是一张表的窗口,这个窗口中的数据反映在其他表上。当查询视图时,数据库会将该视图的 SQL 查询应用到其基础表上。 ## 视图的优点 diff --git a/docs/MatrixOne-Cloud/App-Develop/schema-design/data-integrity/auto-increment-integrity.md b/docs/MatrixOne-Cloud/App-Develop/schema-design/data-integrity/auto-increment-integrity.md index f972346..4cca6fa 100644 --- a/docs/MatrixOne-Cloud/App-Develop/schema-design/data-integrity/auto-increment-integrity.md +++ b/docs/MatrixOne-Cloud/App-Develop/schema-design/data-integrity/auto-increment-integrity.md @@ -1,6 +1,6 @@ # AUTO INCREMENT 自增约束 -自增约束(Auto-Increment Constraint)是 MatrixOne Cloud 一种用于自动为表中的列生成唯一标识值的特性。它允许你在插入新行时,自动为指定的自增列生成一个递增的唯一值。这在许多情况下非常有用,例如用作主键或标识符。 +自增约束 (Auto-Increment Constraint) 是 MatrixOne Cloud 一种用于自动为表中的列生成唯一标识值的特性。它允许你在插入新行时,自动为指定的自增列生成一个递增的唯一值。这在许多情况下非常有用,例如用作主键或标识符。 **自增约束特性** @@ -16,7 +16,7 @@ ### 语法说明 -在创建表时,可以为一个列定义自增约束。通常,自增列的数据类型为整数类型(如 `INT` 或 `BIGINT`)。在创建表时,使用 `AUTO_INCREMENT` 关键字为列添加自增约束。 +在创建表时,可以为一个列定义自增约束。通常,自增列的数据类型为整数类型 (如 `INT` 或 `BIGINT`)。在创建表时,使用 `AUTO_INCREMENT` 关键字为列添加自增约束。 ```sql CREATE TABLE table_name ( @@ -28,7 +28,7 @@ CREATE TABLE table_name ( - `table_name`:表的名称。 - `column_name`:要定义为自增的列的名称。 -- `data_type`:列的数据类型,通常为整数类型(如 `INT` 或 `BIGINT`)。 +- `data_type`:列的数据类型,通常为整数类型 (如 `INT` 或 `BIGINT`)。 - `primary_key_column`:表的主键列。 ### 示例 diff --git a/docs/MatrixOne-Cloud/App-Develop/schema-design/data-integrity/overview-of-integrity-constraint-types.md b/docs/MatrixOne-Cloud/App-Develop/schema-design/data-integrity/overview-of-integrity-constraint-types.md index c801c48..c8d41f2 100644 --- a/docs/MatrixOne-Cloud/App-Develop/schema-design/data-integrity/overview-of-integrity-constraint-types.md +++ b/docs/MatrixOne-Cloud/App-Develop/schema-design/data-integrity/overview-of-integrity-constraint-types.md @@ -1,6 +1,6 @@ # 约束概述 -在 MatrixOne Cloud 数据库中,为了确保数据的正确性、完整性、有效性,在建表语句中,会对某些列加入限制条件,确保数据库内存储的信息遵从一定的业务规则,这些限制条件被称为约束。例如,如果 DML 语句的执行结果违反了完整性约束(Integrity Constraint),将回滚语句并返回错误消息。 +在 MatrixOne Cloud 数据库中,为了确保数据的正确性、完整性、有效性,在建表语句中,会对某些列加入限制条件,确保数据库内存储的信息遵从一定的业务规则,这些限制条件被称为约束。例如,如果 DML 语句的执行结果违反了完整性约束 (Integrity Constraint),将回滚语句并返回错误消息。 ## 完整性约束类型 @@ -8,11 +8,11 @@ MatrixOne Cloud 存在多种约束,不同的约束对于数据库行为有着 - [NOT NULL 完整性约束](not-null-constraints.md): - 非空约束是指,某一列的数据不能出现空值(NULL),违反了该限制条件的数据不能被插入或更新在对应列中。在 MatrixOne Cloud 中,一张表允许有零个、一个或多个非空约束。 + 非空约束是指,某一列的数据不能出现空值 (NULL),违反了该限制条件的数据不能被插入或更新在对应列中。在 MatrixOne Cloud 中,一张表允许有零个、一个或多个非空约束。 - [UNIQUE KEY 完整性约束](unique-key-constraints.md) - 唯一键约束是指,在一张表中存的某一列或多列组合中,被插入或更新的数据行在此列(或列集)的值是唯一的。在 MatrixOne Cloud 中,一张表中允许存在零个、一个或多个唯一键约束,但与其他关系型数据库不同的是,MatrixOne Cloud 的唯一键约束也必须非空。 + 唯一键约束是指,在一张表中存的某一列或多列组合中,被插入或更新的数据行在此列 (或列集) 的值是唯一的。在 MatrixOne Cloud 中,一张表中允许存在零个、一个或多个唯一键约束,但与其他关系型数据库不同的是,MatrixOne Cloud 的唯一键约束也必须非空。 - [PRIMARY KEY 完整性约束](primary-key-constraints.md) diff --git a/docs/MatrixOne-Cloud/App-Develop/schema-design/data-integrity/primary-key-constraints.md b/docs/MatrixOne-Cloud/App-Develop/schema-design/data-integrity/primary-key-constraints.md index 478f3fc..d355f4e 100644 --- a/docs/MatrixOne-Cloud/App-Develop/schema-design/data-integrity/primary-key-constraints.md +++ b/docs/MatrixOne-Cloud/App-Develop/schema-design/data-integrity/primary-key-constraints.md @@ -15,7 +15,7 @@ PRIMARY KEY 约束可用于确保表内的每一数据行都可以由某一个 - **最小性**:主键可以由单个列或多个列组合而成。复合主键可以用于唯一标识行,但它们的复合值必须唯一,不能存在重复组合。 -- **引用完整性**:主键通常用作外键(Foreign Key)的引用。 +- **引用完整性**:主键通常用作外键 (Foreign Key) 的引用。 - **自动创建索引**:主键列会自动创建索引,以提高检索性能。 diff --git a/docs/MatrixOne-Cloud/App-Develop/schema-design/overview.md b/docs/MatrixOne-Cloud/App-Develop/schema-design/overview.md index df25070..c33eaea 100644 --- a/docs/MatrixOne-Cloud/App-Develop/schema-design/overview.md +++ b/docs/MatrixOne-Cloud/App-Develop/schema-design/overview.md @@ -27,7 +27,7 @@ MatrixOne Cloud 所指的表或 Table,从属于 MatrixOne Cloud 的某个数 索引有两种常见的类型,分别为: - Primary Key:主键索引,即标识在主键列上的索引,主键索引用于唯一标识表格中的每一行数据。 -- Secondary Index:次级索引,即在非主键上标识的索引,次级索引也称为非聚集索引(non-clustered index),用于提高查询性能和加速数据检索。 +- Secondary Index:次级索引,即在非主键上标识的索引,次级索引也称为非聚集索引 (non-clustered index),用于提高查询性能和加速数据检索。 ## 其他对象 diff --git a/docs/MatrixOne-Cloud/Data-Explore/query-anlysis/query_profile.md b/docs/MatrixOne-Cloud/Data-Explore/query-anlysis/query_profile.md index 8f334a2..15ab775 100644 --- a/docs/MatrixOne-Cloud/Data-Explore/query-anlysis/query_profile.md +++ b/docs/MatrixOne-Cloud/Data-Explore/query-anlysis/query_profile.md @@ -1,10 +1,10 @@ # 查询分析 -本篇文档将指导用户如何通过 MatrixOne Cloud 内置的查询分析(Query Profile)进行在线的 SQL 查询分析。也可以理解成,查询分析模块是将数据库中的 Explain,即解释详细执行计划的能力做成了可视化模块,通过可视化的方式向用户展示这条 SQL 的执行计划。 +本篇文档将指导用户如何通过 MatrixOne Cloud 内置的查询分析 (Query Profile) 进行在线的 SQL 查询分析。也可以理解成,查询分析模块是将数据库中的 Explain,即解释详细执行计划的能力做成了可视化模块,通过可视化的方式向用户展示这条 SQL 的执行计划。 ## 什么是执行计划 -执行计划(execution plan,也叫查询计划或者解释计划)是数据库执行 SQL 语句的具体步骤,例如通过索引还是全表扫描访问表中的数据,连接查询的实现方式和连接的顺序等;执行计划根据你的表、列、索引和 `WHERE` 子句中的条件的详细信息,可以告诉你这个查询将会被如何执行或者已经被如何执行过,可以在不读取所有行的情况下执行对巨大表的查询;可以在不比较行的每个组合的情况下执行涉及多个表的连接。如果 SQL 语句性能不够理想,首先应该查看它的执行计划。和大多数成熟的数据库产品一样,MatrixOne 数据库也提供了这一分析查询语句性能的功能。 +执行计划 (execution plan,也叫查询计划或者解释计划) 是数据库执行 SQL 语句的具体步骤,例如通过索引还是全表扫描访问表中的数据,连接查询的实现方式和连接的顺序等;执行计划根据你的表、列、索引和 `WHERE` 子句中的条件的详细信息,可以告诉你这个查询将会被如何执行或者已经被如何执行过,可以在不读取所有行的情况下执行对巨大表的查询;可以在不比较行的每个组合的情况下执行涉及多个表的连接。如果 SQL 语句性能不够理想,首先应该查看它的执行计划。和大多数成熟的数据库产品一样,MatrixOne 数据库也提供了这一分析查询语句性能的功能。 MatrixOne 查询优化器对输入的 SQL 查询语句通过**执行计划**而选择出效率最高的一种执行方案。你也可以通过执行计划看到 SQL 代码中那些效率比较低的地方。 @@ -30,13 +30,13 @@ MatrixOne 查询优化器对输入的 SQL 查询语句通过**执行计划**而 ## 查看该 Query 的查询分析 -点击进入这条 Query 的查询详情界面,我们可以同时看到它的查询分析(Query Profile)界面,如下图所示: +点击进入这条 Query 的查询详情界面,我们可以同时看到它的查询分析 (Query Profile) 界面,如下图所示: ![Alt text](https://community-shared-data-1308875761.cos.ap-beijing.myqcloud.com/artwork/mocdocs/sqleditor/queryprofile_queryprofile.png) 该界面展示了 TPCH Q1 的整个执行过程,总共分为了 4 个算子:表扫描 (Table Scan),聚合 (Aggregate),排序 (Sort) 及投影 (Project)。 -同时每一个小的执行步骤的方块上我们都表明了它的操作对象,执行细节及所消耗的 CPU 及内存资源。比如针对 Table Scan 算子,可以看到它的操作对象是 `mo_sample_data_tpch_sf10.lineitem` 这张表,同时这个操作消耗的 CPU 资源是 `1.6 core*s`, 即占用了 1 个 CPU 核 1.6 秒的时间。而内存则消耗了 `4.7GB`, 这些资源消耗即是我们计算 CU 消耗的基础。我们会根据一定的算法加总所有步骤所消耗的 CPU 和内存资源,即得到这条 Query 消耗的 CU 个数。 +同时每一个小的执行步骤的方块上我们都表明了它的操作对象,执行细节及所消耗的 CPU 及内存资源。比如针对 Table Scan 算子,可以看到它的操作对象是 `mo_sample_data_tpch_sf10.lineitem` 这张表,同时这个操作消耗的 CPU 资源是 `1.6 core*s`,即占用了 1 个 CPU 核 1.6 秒的时间。而内存则消耗了 `4.7GB`,这些资源消耗即是我们计算 CU 消耗的基础。我们会根据一定的算法加总所有步骤所消耗的 CPU 和内存资源,即得到这条 Query 消耗的 CU 个数。 另外从 Table Scan 算子到 Aggregate 算子中间有一个小箭头,这个箭头上会带有一个数字,这个数字代表的即为本算子输出的数据行数,在这张图里为 `58,682,142` 行,这些数据也是下一个算子的输入。 @@ -44,7 +44,7 @@ MatrixOne 查询优化器对输入的 SQL 查询语句通过**执行计划**而 如果我们再选中点击 Table Scan 算子方块,我们将看到 Table Scan 算子执行的更多细节。 -在该案例中我们可以看到 Table Scan 算子执行的过程中选中的是 18 个列中的 7 个 `(l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate)`, 另外还包含了一个过滤的条件 `(lineitem.l_shipdate <= 1998-08-11)`。 +在该案例中我们可以看到 Table Scan 算子执行的过程中选中的是 18 个列中的 7 个 `(l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate)`,另外还包含了一个过滤的条件 `(lineitem.l_shipdate <= 1998-08-11)`。 ## 理解 MatrixOne 的执行计划 diff --git a/docs/MatrixOne-Cloud/Data-Explore/sql-editor.md b/docs/MatrixOne-Cloud/Data-Explore/sql-editor.md index 1ff3108..66c7c5d 100644 --- a/docs/MatrixOne-Cloud/Data-Explore/sql-editor.md +++ b/docs/MatrixOne-Cloud/Data-Explore/sql-editor.md @@ -2,7 +2,7 @@ 查询编辑器是 MatrixOne cloud 平台非常重要的一个工具,你可以通过在线 SQL 编辑器,进行 SQL 语句的快速编写、执行、结果查看,还可以将常用的 SQL 语句保存在 WorkBook 中,方便后续使用、参考和对比。 -本篇文档将指导你如何通过 MatrixOne Cloud 内置的查询编辑器(SQL Editor)进行在线 SQL 查询与数据探索。 +本篇文档将指导你如何通过 MatrixOne Cloud 内置的查询编辑器 (SQL Editor) 进行在线 SQL 查询与数据探索。 ## 打开 SQL 编辑器 @@ -24,7 +24,7 @@ 在线 SQL 编辑器支持导入数据、库表查看和选择、SQL 语句编辑、在线执行、结果查看几项功能。 -### 1. 在线导入数据 +### 1。在线导入数据 SQL 编辑器支持快速导入数据,启动数据分析。点击**导入数据**,即可启动导向式数据导入流程。 @@ -37,7 +37,7 @@ MatrixOne Cloud 在线数据导入支持两种导入方式:导入样例数据 更多数据导入方式介绍可以参照导入数据章节。 -### 2. 从 Database 中查看和选择库表 +### 2。从 Database 中查看和选择库表 在查询编辑器中进行 SQL 语句编写过程中,开发者经常需要查看目标库表中的数据结构和数据类型,提升 SQL 语句编写的效率和准确性。 @@ -45,7 +45,7 @@ MatrixOne Cloud 在线数据导入支持两种导入方式:导入样例数据 在左侧 Database 区域,当前实例的数据库和数据表将以树形结构呈现,你可以详细查看各个数据库的表结构及各个数据表中的数据类型,同时也可以复制需要的数据库名、表名和列名,快速在编辑器中粘贴使用。 -### 3. 编辑和执行 SQL 查询 +### 3。编辑和执行 SQL 查询 右侧 SQL 编辑区域上方的下拉列表用于数据库选择,你可以在下拉列表中查看和选择目前 SQL 查询使用的数据库。选择数据库后,SQL 语句中可以不包括 dbname 执行,相当于已执行 `use database` 语句。 @@ -60,12 +60,12 @@ MatrixOne Cloud 在线数据导入支持两种导入方式:导入样例数据 - 若光标位于 SQL 语句内,则执行该 SQL。 - 若光标位于 SQL 语句外,且后面没有 SQL,则执行前一条 SQL。 - 若光标位于 SQL 语句外,且前面没有 SQL,则执行后一条 SQL。 -- 你可以在 SQL 执行过程中,手动停止或关闭 Query Tab, Query 都将终止。 +- 你可以在 SQL 执行过程中,手动停止或关闭 Query Tab,Query 都将终止。 !!! note 在线 SQL 编辑器目前不支持事务语句,explain 语句,Load local 和 source 相关语句。 -### 4. 执行结果查看 +### 4。执行结果查看 右下侧查询结果区域可以查看当前查询的执行结果。若平台顺序执行了多条 SQL 语句,将分多个 Tab 展示和查看。 @@ -81,7 +81,7 @@ MatrixOne Cloud 在线数据导入支持两种导入方式:导入样例数据 首次使用时,将默认在 default 的 Workbook 中进行 SQL 编辑和查询,你可以进一步修改 Workbook 的名称。 -你也可以在 Workbook 列表上方点击“+”号新增自定义 Workbook,若 Workbook 数量较多同时支持搜索功能。 +你也可以在 Workbook 列表上方点击 “+” 号新增自定义 Workbook,若 Workbook 数量较多同时支持搜索功能。 每个 Workbook 都支持多个版本,你每次编辑将生成草稿版本,点击执行后将保存为正式版本。 diff --git a/docs/MatrixOne-Cloud/Data-Explore/sql-workbook.md b/docs/MatrixOne-Cloud/Data-Explore/sql-workbook.md index c498025..3ac9ac9 100644 --- a/docs/MatrixOne-Cloud/Data-Explore/sql-workbook.md +++ b/docs/MatrixOne-Cloud/Data-Explore/sql-workbook.md @@ -4,7 +4,7 @@ 首次使用时,将默认在 default 的工作簿中进行 SQL 编辑和查询,你可以进一步修改工作簿的名称。 -你也可以在工作簿列表上方点击“+”号创建新的工作簿,若工作簿数量较多同时支持搜索功能。 +你也可以在工作簿列表上方点击 “+” 号创建新的工作簿,若工作簿数量较多同时支持搜索功能。 每个工作簿都支持多个版本,你每次编辑将生成草稿版本,点击执行后将保存为正式版本。 diff --git a/docs/MatrixOne-Cloud/Data-Sharing/pub-sub-overview.md b/docs/MatrixOne-Cloud/Data-Sharing/pub-sub-overview.md index b3faf5e..d469d1b 100644 --- a/docs/MatrixOne-Cloud/Data-Sharing/pub-sub-overview.md +++ b/docs/MatrixOne-Cloud/Data-Sharing/pub-sub-overview.md @@ -4,7 +4,7 @@ MarixOne Cloud 为用户提供了实例间数据快速共享的功能,用户 ## 发布订阅 -数据库的发布订阅(Publish-Subscribe,简称 Pub/Sub)是一种消息传递模式,其中**发布者**将消息发送给一个或多个**订阅者**,而**订阅者**则接收并处理该消息。在这种模式下,发布者和订阅者之间是松耦合的,它们之间不需要直接通信,因此可以提高应用程序的可扩展性和灵活性。在 MarixOne Cloud 中发布者和订阅者都是 MarixOne Cloud 上的实例。 +数据库的发布订阅 (Publish-Subscribe,简称 Pub/Sub) 是一种消息传递模式,其中**发布者**将消息发送给一个或多个**订阅者**,而**订阅者**则接收并处理该消息。在这种模式下,发布者和订阅者之间是松耦合的,它们之间不需要直接通信,因此可以提高应用程序的可扩展性和灵活性。在 MarixOne Cloud 中发布者和订阅者都是 MarixOne Cloud 上的实例。 在数据库中,发布订阅功能通常被用于实时数据更新、缓存同步、业务事件通知等场景。例如,当数据库中某个表的数据发生变化时,可以通过发布订阅功能实时通知订阅者,从而实现实时数据同步和处理。另外,也可以通过发布订阅功能来实现业务事件的通知,例如某个订单被取消、某个库存数量不足等等。 @@ -30,9 +30,9 @@ MarixOne Cloud 为用户提供了实例间数据快速共享的功能,用户 - **订阅**:订阅是指一个数据库选择接收和复制发布的数据库对象的数据。 -- **发布端(Pub)**:发布端是执行发布操作的数据库。发布端负责创建和管理发布的对象,以及管理订阅该发布对象的数据库的访问权限。 +- **发布端 (Pub)**:发布端是执行发布操作的数据库。发布端负责创建和管理发布的对象,以及管理订阅该发布对象的数据库的访问权限。 -- **订阅端(Sub)**:订阅端是订阅发布对象的实例。 +- **订阅端 (Sub)**:订阅端是订阅发布对象的实例。 - **发布对象**:发布对象是在发布端创建并设置为可发布的数据库对象,即数据库。这些对象的数据可以被订阅端访问和复制。 @@ -42,12 +42,12 @@ MarixOne Cloud 为用户提供了实例间数据快速共享的功能,用户 ### 发布/订阅应用范围 -**发布端(Pub)**和**订阅端(Sub)**均为 MatrixOne 的实例。 +**发布端 (Pub)** 和**订阅端 (Sub)** 均为 MatrixOne 的实例。 ### 可发布/可订阅权限范围 -- **发布端(Pub)**只有 ACCOUNTADMIN 或 MOADMIN 角色可以创建发布与订阅。 -- **订阅端(Sub)**由 ACCOUNTADMIN 或 MOADMIN 角色操作访问订阅数据权限。 +- **发布端 (Pub)** 只有 ACCOUNTADMIN 或 MOADMIN 角色可以创建发布与订阅。 +- **订阅端 (Sub)** 由 ACCOUNTADMIN 或 MOADMIN 角色操作访问订阅数据权限。 ### 发布/订阅数据范围 @@ -55,10 +55,10 @@ MarixOne Cloud 为用户提供了实例间数据快速共享的功能,用户 - 发布和订阅只在数据库级别实现,目前还不支持直接进行表级别的发布和订阅。 - **订阅端**对**订阅库**只具备读取权限。 -- 若**发布端(Pub)**调整了发布的分享范围,那些不在新范围内的**订阅端(Sub)**如果已经创建了订阅库,那么对这个**订阅库**的访问将无效。 -- 若**发布端(Pub)**尝试删除已经发布的数据库,那么此次删除将不会成功。 -- 若**发布端(Pub)**删除了**发布**,但订阅库中的对应对象仍存在,此时**订阅端(Sub)**访问这个对象会触发错误,需要由**订阅端(Sub)**删除对应的**订阅**。 -- 若**发布端(Pub)**删除了**发布对象**,但在订阅库中的对应对象仍然存在,此时**订阅端(Sub)**访问这个对象会触发错误,需要由**订阅端(Sub)**删除对应的**订阅对象**。 +- 若**发布端 (Pub)** 调整了发布的分享范围,那些不在新范围内的**订阅端 (Sub)** 如果已经创建了订阅库,那么对这个**订阅库**的访问将无效。 +- 若**发布端 (Pub)** 尝试删除已经发布的数据库,那么此次删除将不会成功。 +- 若**发布端 (Pub)** 删除了**发布**,但订阅库中的对应对象仍存在,此时**订阅端 (Sub)** 访问这个对象会触发错误,需要由**订阅端 (Sub)** 删除对应的**订阅**。 +- 若**发布端 (Pub)** 删除了**发布对象**,但在订阅库中的对应对象仍然存在,此时**订阅端 (Sub)** 访问这个对象会触发错误,需要由**订阅端 (Sub)** 删除对应的**订阅对象**。 ### 发布订阅示例 @@ -79,7 +79,7 @@ mysql -h freetier-01.cn-hangzhou.cluster.matrixonecloud.cn -P 6001 #### 发布订阅数据库 -1. **发布者**: 实例 A 创建数据库 mall 与表 customer 并发布此数据库为 pub_mall: +1. **发布者**:实例 A 创建数据库 mall 与表 customer 并发布此数据库为 pub_mall: ```mysql -- 实例 A @@ -91,7 +91,7 @@ mysql -h freetier-01.cn-hangzhou.cluster.matrixonecloud.cn -P 6001 create publication pub_mall database mall; ``` -2. **订阅者**: 实例 B 和实例 C 都创建订阅库 sub_mall(订阅自实例 A 的 pub_mall),于是得到实例 A 数据库 mall 中的所有数据: +2. **订阅者**:实例 B 和实例 C 都创建订阅库 sub_mall (订阅自实例 A 的 pub_mall),于是得到实例 A 数据库 mall 中的所有数据: ```mysql -- 实例 B && 实例 C @@ -109,7 +109,7 @@ mysql -h freetier-01.cn-hangzhou.cluster.matrixonecloud.cn -P 6001 #### 订阅后数据同步更新 -1. **发布者**: 实例 A 创建数据表 orders: +1. **发布者**:实例 A 创建数据表 orders: ```mysql -- 实例 A @@ -119,7 +119,7 @@ mysql -h freetier-01.cn-hangzhou.cluster.matrixonecloud.cn -P 6001 ); ``` -2. **订阅者**: 已经订阅数据库 mall 的实例 B 和实例 C 得到更新的数据表 orders: +2. **订阅者**:已经订阅数据库 mall 的实例 B 和实例 C 得到更新的数据表 orders: ```mysql -- 实例 B && 实例 C @@ -136,7 +136,7 @@ mysql -h freetier-01.cn-hangzhou.cluster.matrixonecloud.cn -P 6001 #### 发布者可指定有限订阅者 -1. **发布者**: 实例 A 创建数据库 school 与表 student,并发布 pub_school 给实例 B 和实例 D: +1. **发布者**:实例 A 创建数据库 school 与表 student,并发布 pub_school 给实例 B 和实例 D: ```mysql -- 实例 A @@ -148,7 +148,7 @@ mysql -h freetier-01.cn-hangzhou.cluster.matrixonecloud.cn -P 6001 create publication pub_school database school account 499575b7_4b78_403b_8356_ebd767dcxxxx,abf2eb89_faf1_40fd_b24c_19bed148xxxx; ``` -2. **订阅者**: 实例 B 和实例 C 都创建订阅库 sub_school(订阅自实例 A 的 pub_school),实例 B 订阅成功并得到数据,实例 C 订阅失败: +2. **订阅者**:实例 B 和实例 C 都创建订阅库 sub_school (订阅自实例 A 的 pub_school),实例 B 订阅成功并得到数据,实例 C 订阅失败: ```mysql -- 实例 B @@ -171,14 +171,14 @@ mysql -h freetier-01.cn-hangzhou.cluster.matrixonecloud.cn -P 6001 #### 发布者可发布给全体 -1. **发布者**: 实例 A 修改发布 pub_school 给全部实例: +1. **发布者**:实例 A 修改发布 pub_school 给全部实例: ```mysql -- 实例 A alter publication pub_school account all; ``` -2. **订阅者**: 实例 C 创建订阅库 sub_school 成功,得到共享的数据表 student: +2. **订阅者**:实例 C 创建订阅库 sub_school 成功,得到共享的数据表 student: ```mysql -- 实例 C @@ -195,14 +195,14 @@ mysql -h freetier-01.cn-hangzhou.cluster.matrixonecloud.cn -P 6001 #### 发布者可删除已发布的发布对象,订阅者随即无法连接相关的订阅对象,但是可以删除 -1. **发布者**: 实例 A 删除发布 pub_mall: +1. **发布者**:实例 A 删除发布 pub_mall: ```mysql -- 实例 A drop publication pub_mall; ``` -2. **订阅者**: 实例 B 连接 sub_mall 失败: +2. **订阅者**:实例 B 连接 sub_mall 失败: ```mysql -- 实例 B @@ -210,7 +210,7 @@ mysql -h freetier-01.cn-hangzhou.cluster.matrixonecloud.cn -P 6001 ERROR 20101 (HY000): internal error: there is no publication pub_mall ``` -3. **订阅者**: 实例 C 删除 sub_mall: +3. **订阅者**:实例 C 删除 sub_mall: ```mysql -- 实例 C @@ -219,14 +219,14 @@ mysql -h freetier-01.cn-hangzhou.cluster.matrixonecloud.cn -P 6001 #### 发布者重新发布已经删除的发布对象,之前的订阅者可以重新连接订阅对象 -1. **发布者**: 实例 A 重新创建 pub_mall: +1. **发布者**:实例 A 重新创建 pub_mall: ```mysql -- 实例 A create publication pub_mall database mall; ``` -2. **订阅者**: 实例 B 连接 sub_mall 成功: +2. **订阅者**:实例 B 连接 sub_mall 成功: ```mysql -- 实例 B @@ -243,14 +243,14 @@ mysql -h freetier-01.cn-hangzhou.cluster.matrixonecloud.cn -P 6001 #### 发布者发布已删除发布对象的同名对象,之前的订阅者可以连接至新的订阅对象 -1. **发布者**: 实例 A 删除发布 pub_mall: +1. **发布者**:实例 A 删除发布 pub_mall: ```mysql -- 实例 A drop publication pub_mall; ``` -2. **发布者**: 实例 A 创建数据库 mall2 与表 customer2: +2. **发布者**:实例 A 创建数据库 mall2 与表 customer2: ```mysql -- 实例 A @@ -258,14 +258,14 @@ mysql -h freetier-01.cn-hangzhou.cluster.matrixonecloud.cn -P 6001 create table mall2.customer2 (customer_id INT,customer_name VARCHAR(255)); ``` -3. **发布者**: 实例 A 重新创建 pub_mall: +3. **发布者**:实例 A 重新创建 pub_mall: ```mysql -- 实例 A create publication pub_mall database mall2; ``` -4. **订阅者**: 实例 B 连接 sub_mall 成功: +4. **订阅者**:实例 B 连接 sub_mall 成功: ```mysql -- 实例 B diff --git a/docs/MatrixOne-Cloud/FAQs/FAQ-Product.md b/docs/MatrixOne-Cloud/FAQs/FAQ-Product.md index 9e1d14f..4cfc5fb 100644 --- a/docs/MatrixOne-Cloud/FAQs/FAQ-Product.md +++ b/docs/MatrixOne-Cloud/FAQs/FAQ-Product.md @@ -14,7 +14,7 @@ A:是的,MatrixOne Cloud 几乎完全兼容 MySQL,因此您可以轻松将 ## Q:**MatrixOne Cloud 上的实例指的是什么?** -A:在 MatrixOne Cloud 中,您可以创建多个 MatrixOne(MO) 实例。每个 MO 实例相当于一个传统数据库,包括库、表、视图、列等数据库对象。MatrixOne Cloud 支持创建多种类型的 MO 实例,其中 Serverless 实例和 Standard 实例实际上是 MO 集群的租户。利用多租户能力,您可以快速创建(仅需秒级时间)和扩展或缩减实例,并享有高性价比。 +A:在 MatrixOne Cloud 中,您可以创建多个 MatrixOne(MO) 实例。每个 MO 实例相当于一个传统数据库,包括库、表、视图、列等数据库对象。MatrixOne Cloud 支持创建多种类型的 MO 实例,其中 Serverless 实例和 Standard 实例实际上是 MO 集群的租户。利用多租户能力,您可以快速创建 (仅需秒级时间) 和扩展或缩减实例,并享有高性价比。 ## Q:**有哪些方式可以连接到 MatrixOne Cloud 上的实例?** @@ -22,7 +22,7 @@ A:MatrixOne(MO) 实例虽然部署在云上,但支持公网和公有云之 ## Q:**什么是 Serverless 实例?它有哪些特点?** -A:Serverless 实例是 MatrixOne Cloud 上的一种简单、经济的 MatrixOne 实例。创建时需要规划计算节点和存储资源的规模,但在业务变化时无需手动调整计算资源。Serverless 实例的计费也相对简单,不再需要为计算节点、I/O、网络出口流量分别付费。用户只需为每条 SQL 的执行计费,计费单位为 Compute Unit(CU)。 +A:Serverless 实例是 MatrixOne Cloud 上的一种简单、经济的 MatrixOne 实例。创建时需要规划计算节点和存储资源的规模,但在业务变化时无需手动调整计算资源。Serverless 实例的计费也相对简单,不再需要为计算节点、I/O、网络出口流量分别付费。用户只需为每条 SQL 的执行计费,计费单位为 Compute Unit (CU)。 ## Q:**如何控制 Serverless 实例的消费?** @@ -30,15 +30,15 @@ A:Serverless 实例是后付费的,每个整点后将统计前一个小时 ## Q:**如何查看 Serverless 实例中每条 SQL 的消费?** -A:在 MatrixOne Cloud 实例管理平台的实例列表中,单击要查看的实例的连接按钮和连接到平台按钮,即可登录 MatrixOne Cloud 数据管理平台。然后,点击左侧的 "查询" -> "查询历史" 菜单,您将看到所有历史查询。MatrixOne Cloud 将统计并显示每一条 SQL 的 CU 消耗数量。默认情况下,CU 列是未显示的,您可以单击列按钮并选中 CU。 +A:在 MatrixOne Cloud 实例管理平台的实例列表中,单击要查看的实例的连接按钮和连接到平台按钮,即可登录 MatrixOne Cloud 数据管理平台。然后,点击左侧的 “查询” -> “查询历史” 菜单,您将看到所有历史查询。MatrixOne Cloud 将统计并显示每一条 SQL 的 CU 消耗数量。默认情况下,CU 列是未显示的,您可以单击列按钮并选中 CU。 ## Q:**实例可以删除吗?删除后可以恢复吗?** -A:是的,您可以在实例列表中单击某个实例的 "终止" 按钮来删除实例。MatrixOne Cloud 会在删除后自动保留实例 3 天。如果误删,您可以在 3 天内将实例恢复。 +A:是的,您可以在实例列表中单击某个实例的 “终止” 按钮来删除实例。MatrixOne Cloud 会在删除后自动保留实例 3 天。如果误删,您可以在 3 天内将实例恢复。 ## Q:**实例的存储如何计费?** -A:MatrixOne 使用对象存储技术,将几乎所有数据存储在公有云的对象存储上。这种存储方式经济高效且高度可用。MatrixOne 的存储费用与公有云官网的价格相同。对于后付费实例(如 Serverless 实例或 Standard 实例),MatrixOne Cloud 会按小时计算存储的平均使用量。对于预付费实例(如 Standard 包年包月实例),MatrixOne Cloud 将一次性按照公有云对象存储的价格和折扣扣费。 +A:MatrixOne 使用对象存储技术,将几乎所有数据存储在公有云的对象存储上。这种存储方式经济高效且高度可用。MatrixOne 的存储费用与公有云官网的价格相同。对于后付费实例 (如 Serverless 实例或 Standard 实例),MatrixOne Cloud 会按小时计算存储的平均使用量。对于预付费实例 (如 Standard 包年包月实例),MatrixOne Cloud 将一次性按照公有云对象存储的价格和折扣扣费。 ## Q:**MatrixOne Cloud 有折扣或优惠吗?** diff --git a/docs/MatrixOne-Cloud/FAQs/sql-faqs.md b/docs/MatrixOne-Cloud/FAQs/sql-faqs.md index d8aa6a2..38ec883 100644 --- a/docs/MatrixOne-Cloud/FAQs/sql-faqs.md +++ b/docs/MatrixOne-Cloud/FAQs/sql-faqs.md @@ -18,8 +18,8 @@ MatrixOne 默认支持 UTF-8 字符集,且目前只支持 UTF-8。 * **MatrixOne 支持哪些约束和索引?** -MatrixOne 目前支持主键 (Primary Key), 唯一 (Unique Key), 非空 (Not Null),外键 (Foreign Key),自增约束 (Auto Increment) 及次级索引(Secondary Index)。次级索引目前仅实现语法支持,没有加速作用。 -另外 MatrixOne 还提供了针对无主键表的排序键 (Cluster by), 它可以帮助我们提前针对需要查询的列进行排序,加速查询。 +MatrixOne 目前支持主键 (Primary Key),唯一 (Unique Key),非空 (Not Null),外键 (Foreign Key),自增约束 (Auto Increment) 及次级索引 (Secondary Index)。次级索引目前仅实现语法支持,没有加速作用。 +另外 MatrixOne 还提供了针对无主键表的排序键 (Cluster by),它可以帮助我们提前针对需要查询的列进行排序,加速查询。 * **MatrixOne 支持哪些查询类型?** @@ -27,7 +27,7 @@ MatrixOne 支持大部分常用 SQL 查询: 基础查询:支持常见的分组,去重,过滤,排序,限定,正则表达式等基础查询能力。 -高级查询:支持视图,子查询,联接,组合,公共表表达式(CTE),窗口函数,Prepare 预处理等高级查询能力。 +高级查询:支持视图,子查询,联接,组合,公共表表达式 (CTE),窗口函数,Prepare 预处理等高级查询能力。 聚合函数:支持常见的 AVG,COUNT,MIN,MAX,SUM 等聚合函数。 @@ -57,7 +57,7 @@ MatrixOne 支持与 MySQL 相同的 [`INSERT`](../App-Develop/import-data/insert * **MatrixOne 是否支持事务?支持的事务隔离级别是什么?** -MatrixOne 支持 ACID(原子性、一致性、隔离性、持久性)的事务能力,支持悲观和乐观事务,默认使用悲观事务。使用悲观事务的时候会采用 Read Committed 隔离级别,切换成乐观事务的时候会采用 Snapshot Isolation 隔离级别。 +MatrixOne 支持 ACID (原子性、一致性、隔离性、持久性) 的事务能力,支持悲观和乐观事务,默认使用悲观事务。使用悲观事务的时候会采用 Read Committed 隔离级别,切换成乐观事务的时候会采用 Snapshot Isolation 隔离级别。 * **MatrixOne 中的 `sql_mode` 是什么?** diff --git a/docs/MatrixOne-Cloud/Get-Started/quickstart.md b/docs/MatrixOne-Cloud/Get-Started/quickstart.md index 679aff7..8ca6fd2 100644 --- a/docs/MatrixOne-Cloud/Get-Started/quickstart.md +++ b/docs/MatrixOne-Cloud/Get-Started/quickstart.md @@ -1,10 +1,10 @@ -# 快速创建 MatrixOne Cloud(MO Cloud)实例 +# 快速创建 MatrixOne Cloud (MO Cloud) 实例 在本篇文档中,我们将指导您快速创建和使用 MatrixOne Cloud (MO Cloud) 实例。 ## 第一步:创建 MO Cloud 账户 -### 1. 申请试用 MO Cloud +### 1。申请试用 MO Cloud 如果您想尝试 MO Cloud 1.0 版本前的内测版本,可以通过以下步骤进行申请。 @@ -21,38 +21,38 @@ 请注意,当使用第三方账户注册时,MO Cloud 将获取并使用您账户中的主要邮箱作为平台注册邮箱。因此,MO Cloud 不支持使用相同邮箱进行多个第三方账户或电子邮箱的重复注册。 -### 2. 注册 MO Cloud 账户 +### 2。注册 MO Cloud 账户 一旦您的试用申请获得批准,我们会发送一封注册邮件到您提供的邮箱地址。请按照邮件中的链接完成注册。 -### 3. 登录 MO Cloud 账户 +### 3。登录 MO Cloud 账户 注册成功后,您可以点击激活邮件中的链接,以登录 MO Cloud 实例管理平台。 ## 第二步:创建一个 MO Serverless 实例 -### 1. 打开实例创建页面 +### 1。打开实例创建页面 在**实例**页面,点击 **+创建实例**按钮。 -### 2. 配置实例信息 +### 2。配置实例信息 - **云厂商:**根据您所在地选择合适的公有云供应商和地区。 - **访问控制:**设置实例管理员 admin 的初始密码。 - **网络策略:**建议设置为允许指定的 IP 访问。 - **实例名称:**为您的实例取一个名称,或者使用平台自动生成的名称。 -### 3. 完成创建 +### 3。完成创建 点击**创建 Serverless 实例**完成创建。几秒后,实例状态变为绿色的**激活**时,表示实例创建成功。 ## 第三步:连接实例 -### 1. 打开数据库管理平台 +### 1。打开数据库管理平台 点击实例卡片下方的**连接**按钮,然后选择**通过云平台连接**,以打开数据库管理平台的登录页面。 -### 2. 输入管理员用户名和密码 +### 2。输入管理员用户名和密码 在登录页面中输入以下信息: @@ -61,13 +61,13 @@ ## 运行样例数据 -### 1. 加载样例数据 TPC-H +### 1。加载样例数据 TPC-H - 在数据库管理平台右上角,找到并点击**导入数据**按钮。 - 依次选择**试用样例数据 > TPC-H 基准测试**。 - 点击**导入 TPC-H 数据**完成样例数据导入。 -### 2. 查询 TPC-H 数据集 +### 2。查询 TPC-H 数据集 - 在菜单栏中点击并进入**查询 > 查询编辑器**页面。 - 在编辑器上方的数据库下拉框中选择 **mo_sample_data_tpch_sf1**。 diff --git a/docs/MatrixOne-Cloud/Instance-Mgmt/create-instance.md b/docs/MatrixOne-Cloud/Instance-Mgmt/create-instance.md index c9101df..7d80255 100644 --- a/docs/MatrixOne-Cloud/Instance-Mgmt/create-instance.md +++ b/docs/MatrixOne-Cloud/Instance-Mgmt/create-instance.md @@ -77,7 +77,7 @@ Compute Unit (CU) 是 MatrixOne Cloud Serverless 实例的计算资源开销的 ### 管理员密码 -在创建 MO Cloud 实例时,您需要设置实例的最高权限管理员(admin)的密码。为了保障数据库的安全性,密码需符合以下规则: +在创建 MO Cloud 实例时,您需要设置实例的最高权限管理员 (admin) 的密码。为了保障数据库的安全性,密码需符合以下规则: - 至少包含 8 个字符 - 必须包含至少一个数字 diff --git a/docs/MatrixOne-Cloud/Instance-Mgmt/terminate-recovery-instance.md b/docs/MatrixOne-Cloud/Instance-Mgmt/terminate-recovery-instance.md index 49115ab..d9b09af 100644 --- a/docs/MatrixOne-Cloud/Instance-Mgmt/terminate-recovery-instance.md +++ b/docs/MatrixOne-Cloud/Instance-Mgmt/terminate-recovery-instance.md @@ -12,8 +12,8 @@ 3. 在弹窗中确认要终止实例的名称,实例将进入终止中状态。数秒后,实例将完全终止,并显示在**终止实例**页签中。 !!! note - 1. 实例终止后,将立即终止数据库的所有访问连接。 - 2. 我们会为终止状态的实例保留 7 天的数据,7 天后,MO Cloud 将自动永久删除该实例的数据信息。 + 1。实例终止后,将立即终止数据库的所有访问连接。 + 2。我们会为终止状态的实例保留 7 天的数据,7 天后,MO Cloud 将自动永久删除该实例的数据信息。 ## 恢复实例 diff --git a/docs/MatrixOne-Cloud/Migrate-Data/Load-Local-Data.md b/docs/MatrixOne-Cloud/Migrate-Data/Load-Local-Data.md index d1de27e..db23049 100644 --- a/docs/MatrixOne-Cloud/Migrate-Data/Load-Local-Data.md +++ b/docs/MatrixOne-Cloud/Migrate-Data/Load-Local-Data.md @@ -56,14 +56,14 @@ LOAD DATA LOCAL INFILE '/ssb-dbgen-path/lineorder_flat.tbl ' INTO TABLE lineorde 加载 csv 格式支持 JSON 类型,但需确保 JSON 内不包含字段终止符号,否则 JSON 需要用双引号括起来,例如: -- 正确示例:"{"a": 1, "b": 2}", 2 -- 错误示例:{"a": 1, "b": 2}, 2 +- 正确示例:“{” a “:1,” b “:2}”,2 +- 错误示例:{“a”:1,“b”:2},2 ### 导入 jsonlines 文件 **关于 jsonlines 格式** -JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。JSONLines 是一种更方便存储结构化数据的格式,也称为换行符分隔的 JSON。每一行都是独立、完整和合法的 JSON 值,行与行之间采用 '\n' 作为分隔符。 +JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。JSONLines 是一种更方便存储结构化数据的格式,也称为换行符分隔的 JSON。每一行都是独立、完整和合法的 JSON 值,行与行之间采用 ‘\n’ 作为分隔符。 MatrixOne Cloud 对于 JSONLines 格式有一些要求,它只允许包含相同数据类型和普通结构的 JSON 对象或 JSON 数组。MatrixOne Cloud 暂时不支持具有嵌套结构的 JSONLines 文件。 @@ -75,7 +75,7 @@ MatrixOne Cloud 对于 JSONLines 格式有一些要求,它只允许包含相 {"id":3,"father":"Bob","mother":"Monika"} ``` -**无效 JSONLines 对象示例(包含嵌套结构)** +**无效 JSONLines 对象示例 (包含嵌套结构)** ```json {"id":1,"father":"Mark","mother":"Charlotte","children":["Tom"]} @@ -83,7 +83,7 @@ MatrixOne Cloud 对于 JSONLines 格式有一些要求,它只允许包含相 {"id":3,"father":"Bob","mother":"Monika","children":["Jerry","Karol"]} ``` -**有效 JSONLines 数组示例(类似于 csv 格式)** +**有效 JSONLines 数组示例 (类似于 csv 格式)** ```json ["Name", "Session", "Score", "Completed"] @@ -93,7 +93,7 @@ MatrixOne Cloud 对于 JSONLines 格式有一些要求,它只允许包含相 ["Deloise", "2012A", 19, true] ``` -**无效 JSONLines 数组示例(数据类型和列数不匹配)** +**无效 JSONLines 数组示例 (数据类型和列数不匹配)** ```json ["Gilbert", "2013", 24, true, 100] @@ -136,7 +136,7 @@ LOAD DATA LOCAL INFILE {'filepath'='/mo_data/data.jl.gz', 'compression'='gzip',' ## 使用 Source 命令导入 -MatrixOne Cloud 支持使用 SOURCE 命令从外部 SQL 脚本文件执行 SQL 语句,从而导入整个数据库结构(包括表结构和数据)。需要注意的是,当处理大量数据时,性能可能不如 LOAD DATA 命令高,因为 SOURCE 命令需要解析和执行每个 SQL 语句。 +MatrixOne Cloud 支持使用 SOURCE 命令从外部 SQL 脚本文件执行 SQL 语句,从而导入整个数据库结构 (包括表结构和数据)。需要注意的是,当处理大量数据时,性能可能不如 LOAD DATA 命令高,因为 SOURCE 命令需要解析和执行每个 SQL 语句。 **语法结构** diff --git a/docs/MatrixOne-Cloud/Migrate-Data/Load-S3.md b/docs/MatrixOne-Cloud/Migrate-Data/Load-S3.md index 6cd1847..3ebef27 100644 --- a/docs/MatrixOne-Cloud/Migrate-Data/Load-S3.md +++ b/docs/MatrixOne-Cloud/Migrate-Data/Load-S3.md @@ -24,7 +24,7 @@ MatrixOne 支持从对象存储服务批量导入以下数据文件类型: #### 关于 JSONLines 格式 -JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,而 JSONLines 是一种更为方便存储结构化数据的格式,它采用换行符作为分隔符,每行都包含独立、完整且合法的 JSON 值。这种格式适合处理数据流,因为每行都代表一个单独的条目,可以轻松流式传输,无需自定义解析器。请注意,MatrixOne 对 JSONLines 格式的要求较为严格,只允许包含相同类型值和普通结构的 JSON 对象或 JSON 数组。如果 JSONLines 文件具有嵌套结构,MatrixOne 目前不支持加载它。 +JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,而 JSONLines 是一种更为方便存储结构化数据的格式,它采用换行符作为分隔符,每行都包含独立、完整且合法的 JSON 值。这种格式适合处理数据流,因为每行都代表一个单独的条目,可以轻松流式传输,无需自定义解析器。请注意,MatrixOne 对 JSONLines 格式的要求较为严格,只允许包含相同类型值和普通结构的 JSON 对象或 JSON 数组。如果 JSONLines 文件具有嵌套结构,MatrixOne 目前不支持加载它。 以下是 JSONLines 格式的示例: @@ -36,7 +36,7 @@ JSON(JavaScript Object Notation)是一种轻量级的数据交换格式, {"id": 3, "father": "Bob", "mother": "Monika"} ``` -**无效 JSONLines 对象示例(具有嵌套结构):** +**无效 JSONLines 对象示例 (具有嵌套结构):** ```json {"id": 1, "father": "Mark", "mother": "Charlotte", "children": ["Tom"]} @@ -44,7 +44,7 @@ JSON(JavaScript Object Notation)是一种轻量级的数据交换格式, {"id": 3, "father": "Bob", "mother": "Monika", "children": ["Jerry", "Karol"]} ``` -**有效 JSONLines 数组示例(类似于 CSV 格式):** +**有效 JSONLines 数组示例 (类似于 CSV 格式):** ```json ["Name", "Session", "Score", "Completed"] @@ -54,7 +54,7 @@ JSON(JavaScript Object Notation)是一种轻量级的数据交换格式, ["Deloise", "2012A", 19, true] ``` -**无效 JSONLines 数组示例(因数据类型和列数不匹配而无效):** +**无效 JSONLines 数组示例 (因数据类型和列数不匹配而无效):** ```json ["Gilbert", "2013", 24, true, 100] @@ -75,19 +75,19 @@ MatrixOne Cloud 提供了界面化的引导方式,使数据导入变得简单 #### 步骤一:打开导入窗口 -在 SQL 编辑器功能中,单击 "导入" 按钮,如下图所示: +在 SQL 编辑器功能中,单击 “导入” 按钮,如下图所示: ![打开导入窗口](https://community-shared-data-1308875761.cos.ap-beijing.myqcloud.com/artwork/mocdocs/import/s3/s3-1.png) #### 步骤二:选择文件所在的对象存储 -点击 "导入你的数据",并选择要导入的对象存储服务,如下图所示: +点击 “导入你的数据”,并选择要导入的对象存储服务,如下图所示: ![选择对象存储服务](https://community-shared-data-1308875761.cos.ap-beijing.myqcloud.com/artwork/mocdocs/import/s3/s3-2.png) #### 步骤三:选择数据文件格式 -对于 **CSV 文件格式**,您可以根据文件结构选择适当的字段分隔符和字段包围符。默认的字段分隔符是逗号(","),字段包围符是回车和换行符("\r\n"),如下图所示: +对于 **CSV 文件格式**,您可以根据文件结构选择适当的字段分隔符和字段包围符。默认的字段分隔符是逗号 (“,”),字段包围符是回车和换行符 (“\r\n”),如下图所示: ![选择 CSV 文件格式](https://community-shared-data-1308875761.cos.ap-beijing.myqcloud.com/artwork/mocdocs/import/s3/s3-3.png) @@ -152,13 +152,13 @@ INTO TABLE tbl_name - `provider`:对象存储所在的公有云,例如 AWS 或阿里云。如果不填写,默认是 AWS。 - `endpoint`:OSS 的访问域名,例如 oss-cn-hangzhou.internal.aliyuncs.com。对于阿里云,此参数必填;对于 AWS,无需填写。 - `bucket`:数据所在的存储桶。 -- `access_key_id`:AccessKey ID(可选)。 -- `secret_access_key`:AccessKey Secret(可选)。 -- `role_arn`:RAM 角色的 ARN(可选)。 -- `external_id`:(可选) +- `access_key_id`:AccessKey ID (可选)。 +- `secret_access_key`:AccessKey Secret (可选)。 +- `role_arn`:RAM 角色的 ARN (可选)。 +- `external_id`:(可选) - `file_path`:完整的对象存储文件路径,例如 mocloud_sampledata/tpch-sf1/lineitems.csv。 - `format`:对象存储文件格式,默认是 CSV。 -- `compression`:对象存储文件的压缩格式,如果不填写或值为 "none"。 +- `compression`:对象存储文件的压缩格式,如果不填写或值为 “none”。 注意:本方法用于导入 CSV 文件。 @@ -225,14 +225,14 @@ INTO TABLE tbl_name - `endpoint`:OSS 的访问域名,例如 oss-cn-hangzhou.internal.aliyuncs.com。对于阿里云,此参数必填;对于 AWS,无需填写。 - `bucket`:数据所在的存储桶。 -- `access_key_id`:AccessKey ID(可选)。 -- `secret_access_key`:AccessKey Secret(可选)。 -- `role_arn`:RAM 角色的 ARN(可选)。 -- `external_id`:(可选) +- `access_key_id`:AccessKey ID (可选)。 +- `secret_access_key`:AccessKey Secret (可选)。 +- `role_arn`:RAM 角色的 ARN (可选)。 +- `external_id`:(可选) - `file_path`:完整的对象存储文件路径,例如 mocloud_sampledata/tpch-sf1/lineitems.csv。 -- `format`:对象存储文件格式,必须填写为 "jsonline"。 -- `jsondata`:JSON 数据格式(可选)。 -- `compression`:对象存储文件的压缩格式,如果不填写或值为 "none"。 +- `format`:对象存储文件格式,必须填写为 “jsonline”。 +- `jsondata`:JSON 数据格式 (可选)。 +- `compression`:对象存储文件的压缩格式,如果不填写或值为 “none”。 注意:本方法用于导入 JSONLines 文件。 @@ -278,7 +278,7 @@ INTO TABLE t1; ##### **AWS** -建议使用 IAM 用户(而不是 AWS 账户的根用户)创建访问密钥。具体步骤如下: +建议使用 IAM 用户 (而不是 AWS 账户的根用户) 创建访问密钥。具体步骤如下: 1. 创建 IAM 用户,并为该用户分配源数据存储桶的 `AmazonS3ReadOnlyAccess` 策略,以及 `CreateOwnAccessKeys` 和 `ManageOwnAccessKeys` 的策略。详情请参阅[创建 IAM 用户](https://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/id_users_create.html#id_users_create_console)。 2. 使用 IAM 用户登录 [IAM 控制台](https://console.aws.amazon.com/iam)。 @@ -286,7 +286,7 @@ INTO TABLE t1; ##### **阿里云** -建议使用 RAM 用户(而不是阿里云账户的根用户)创建访问密钥。具体步骤如下: +建议使用 RAM 用户 (而不是阿里云账户的根用户) 创建访问密钥。具体步骤如下: 1. 创建 RAM 用户,并为该用户分配源数据存储桶的 `AliyunOSSReadOnlyAccess` 策略。详情请参阅[创建 RAM 用户](https://help.aliyun.com/zh/ram/user-guide/create-a-ram-user?spm=a2c4g.11174283.0.0.40572230YxfiT6)。 2. 使用 RAM 用户登录 [RAM 控制台](https://ram.console.aliyun.com/overview)。 diff --git a/docs/MatrixOne-Cloud/Overview/matrixonecloud-introduction.md b/docs/MatrixOne-Cloud/Overview/matrixonecloud-introduction.md index 34ff160..54de2e1 100644 --- a/docs/MatrixOne-Cloud/Overview/matrixonecloud-introduction.md +++ b/docs/MatrixOne-Cloud/Overview/matrixonecloud-introduction.md @@ -12,7 +12,7 @@ MO Cloud 架构图如下所示: ### 共享存储层 -这一层包括共享存储(Shared Storage)和共享日志(Log Service)。在 TN 节点完成冲突检测后,事务的日志将被写入 Log Service,从而确保高性能的日志读写。这一层还基于统一存储引擎 TAE,支持数据的行列存储和处理,将数据可靠地存储到 S3 等存储介质。通过 Cache 和 S3 的冷热数据分级存储策略,MO Cloud 不仅简化了数据的缓存、迁移和校验等操作,还提高了数据操作的并发能力,降低了存储成本。 +这一层包括共享存储 (Shared Storage) 和共享日志 (Log Service)。在 TN 节点完成冲突检测后,事务的日志将被写入 Log Service,从而确保高性能的日志读写。这一层还基于统一存储引擎 TAE,支持数据的行列存储和处理,将数据可靠地存储到 S3 等存储介质。通过 Cache 和 S3 的冷热数据分级存储策略,MO Cloud 不仅简化了数据的缓存、迁移和校验等操作,还提高了数据操作的并发能力,降低了存储成本。 ### 事务层 @@ -20,7 +20,7 @@ MO Cloud 架构图如下所示: ### 计算层 -计算层接收客户端和驱动程序的 SQL 请求,生成逻辑执行计划,并通过优化器生成物理执行计划,然后将其分发到各个计算节点(CN 节点)进行分布式执行。CN 节点完全实现了 Serverless 化,可以根据工作负载的需求自动伸缩,从而实现了资源的最优利用。 +计算层接收客户端和驱动程序的 SQL 请求,生成逻辑执行计划,并通过优化器生成物理执行计划,然后将其分发到各个计算节点 (CN 节点) 进行分布式执行。CN 节点完全实现了 Serverless 化,可以根据工作负载的需求自动伸缩,从而实现了资源的最优利用。 ### 云服务层 @@ -42,7 +42,7 @@ MO Cloud 注重用户体验,提供了一系列核心特性,让用户轻松 ### Serverless 化 SQL 体验 -- **按 SQL 用量计费:**以 CU(Compute Unit)为计量单位,按实际 SQL 消耗计费,让你专注于 SQL 需求本身,避免不必要的成本。 +- **按 SQL 用量计费:**以 CU (Compute Unit) 为计量单位,按实际 SQL 消耗计费,让你专注于 SQL 需求本身,避免不必要的成本。 - **极致 SQL 性能:**实际计算资源会自动弹性扩展,永远保证最佳性能体验。不同实例间资源相互隔离,SQL 性能互不干扰。 ### 极速在线分析 diff --git a/docs/MatrixOne-Cloud/Overview/mysql-compatibility.md b/docs/MatrixOne-Cloud/Overview/mysql-compatibility.md index 300dd02..e40c9fe 100644 --- a/docs/MatrixOne-Cloud/Overview/mysql-compatibility.md +++ b/docs/MatrixOne-Cloud/Overview/mysql-compatibility.md @@ -121,11 +121,11 @@ MatrixOne Cloud 与 MySQL 8.0 的协议,以及 MySQL 8.0 常用的功能和语 ## 数据类型 -- BOOL: 与 MySQL 的布尔值类型实际上是 int 不同,MatrixOne Cloud 的布尔值是一个新的类型,它的值只能是 true 或 false。 +- BOOL:与 MySQL 的布尔值类型实际上是 int 不同,MatrixOne Cloud 的布尔值是一个新的类型,它的值只能是 true 或 false。 - DECIMAL:DECIMAL(P,D),MatrixOne Cloud 的有效数字 P 和小数点后的位数 D 最大精度均为 38 位,MySQL 则分别为 65 和 30。 - 浮点数:MySQL8.0.17 后废弃 Float(M,D) 及 Double(M,D) 用法,但 MatrixOne Cloud 仍保留该用法。 -- DATETIME: MySQL 的最大取值范围为 `'1000-01-01 00:00:00'` 到 `'9999-12-31 23:59:59'`,MatrixOne Cloud 的最大范围为 `'0001-01-01 00:00:00'` 到 `'9999-12-31 23:59:59'`。 -- TIMESTAMP: MySQL 的最大取值范围是 `'1970-01-01 00:00:01.000000'` UTC 到 `'2038-01-19 03:14:07.999999'` UTC,MatrixOne Cloud 的最大范围 `'0001-01-01 00:00:00'` UTC 到 `'9999-12-31 23:59:59'` UTC。 +- DATETIME:MySQL 的最大取值范围为 `'1000-01-01 00:00:00'` 到 `'9999-12-31 23:59:59'`,MatrixOne Cloud 的最大范围为 `'0001-01-01 00:00:00'` 到 `'9999-12-31 23:59:59'`。 +- TIMESTAMP:MySQL 的最大取值范围是 `'1970-01-01 00:00:01.000000'` UTC 到 `'2038-01-19 03:14:07.999999'` UTC,MatrixOne Cloud 的最大范围 `'0001-01-01 00:00:00'` UTC 到 `'9999-12-31 23:59:59'` UTC。 - MatrixOne Cloud 支持 UUID 类型。 - 不支持空间 Spatial 类型。 - 不支持 BIT,SET 类型。 diff --git a/docs/MatrixOne-Cloud/Reference/Data-Types/blob-text-type.md b/docs/MatrixOne-Cloud/Reference/Data-Types/blob-text-type.md index c807b70..05ae8e3 100644 --- a/docs/MatrixOne-Cloud/Reference/Data-Types/blob-text-type.md +++ b/docs/MatrixOne-Cloud/Reference/Data-Types/blob-text-type.md @@ -4,12 +4,12 @@ - `BLOB` 是可以存储可变数量的大数据二进制对象。 -- `BLOB` 值为二进制字符串(字节字符串),对应二进制字符集和排序规则,比较和排序基于列值中字节的数值。 +- `BLOB` 值为二进制字符串 (字节字符串),对应二进制字符集和排序规则,比较和排序基于列值中字节的数值。 **TEXT** -- `TEXT` 为非二进制字符串(字符串),用于存储所有类型的文本数据。它们具有二进制以外的字符集,并且基于字符集的排序规则对值进行排序和比较。 +- `TEXT` 为非二进制字符串 (字符串),用于存储所有类型的文本数据。它们具有二进制以外的字符集,并且基于字符集的排序规则对值进行排序和比较。 **关于 BLOB 和 TEXT** -如果为 `BLOB` 或 `TEXT` 列分配的值超过该列的最大长度,则该值超出长度的部分将被截断并生成告警。如果截断的是非空格字符,会发生错误(而不是告警)并禁止插入值。对于 `TEXT`,截断插入到 `TEXT` 列的值中多余的尾部空格时,总是会生成告警。 +如果为 `BLOB` 或 `TEXT` 列分配的值超过该列的最大长度,则该值超出长度的部分将被截断并生成告警。如果截断的是非空格字符,会发生错误 (而不是告警) 并禁止插入值。对于 `TEXT`,截断插入到 `TEXT` 列的值中多余的尾部空格时,总是会生成告警。 diff --git a/docs/MatrixOne-Cloud/Reference/Data-Types/date-time-data-types/timestamp-initialization.md b/docs/MatrixOne-Cloud/Reference/Data-Types/date-time-data-types/timestamp-initialization.md index 8ad916f..12c60e8 100644 --- a/docs/MatrixOne-Cloud/Reference/Data-Types/date-time-data-types/timestamp-initialization.md +++ b/docs/MatrixOne-Cloud/Reference/Data-Types/date-time-data-types/timestamp-initialization.md @@ -1,6 +1,6 @@ # TIMESTAMP 和 DATETIME 的自动初始化和更新 -`TIMESTAMP` 和 `DATETIME` 列可以自动初始化并更新为当前日期和时间(即当前时间戳)。 +`TIMESTAMP` 和 `DATETIME` 列可以自动初始化并更新为当前日期和时间 (即当前时间戳)。 对于表中的任何 `TIMESTAMP` 或 `DATETIME` 列,你可以将当前时间戳指定为默认值、自动更新值或两者均可: @@ -10,7 +10,7 @@ 要指定自动属性,请在列定义中使用 `DEFAULT CURRENT_TIMESTAMP` 和 `ON UPDATE CURRENT_TIMESTAMP` 子句。两个子句如果同时定义一个列,它们的顺序可互换,不影响逻辑计算。另外,`CURRENT_TIMESTAMP` 与 `CURRENT_TIMESTAMP()` 或者 `NOW()` 意义一致。 -`DEFAULT CURRENT_TIMESTAMP` 和 `ON UPDATE CURRENT_TIMESTAMP` 的使用是特定于 `TIMESTAMP` 和 `DATETIME` 的。`DEFAULT` 子句还可用于指定常量(非自动)默认值(例如,`DEFAULT 0` 或 `DEFAULT '2000-01-01 00:00:00'`)。 +`DEFAULT CURRENT_TIMESTAMP` 和 `ON UPDATE CURRENT_TIMESTAMP` 的使用是特定于 `TIMESTAMP` 和 `DATETIME` 的。`DEFAULT` 子句还可用于指定常量 (非自动) 默认值 (例如,`DEFAULT 0` 或 `DEFAULT '2000-01-01 00:00:00'`)。 `TIMESTAMP` 或 `DATETIME` 列定义可以为默认值和自动更新值指定当前时间戳,仅指定其中一个,或者两者都不指定。不同的列可以有不同的自动属性组合。以下规则描述了这些可能性: diff --git a/docs/MatrixOne-Cloud/Reference/Data-Types/date-time-data-types/year-type.md b/docs/MatrixOne-Cloud/Reference/Data-Types/date-time-data-types/year-type.md index 3d5b9b0..c0265e8 100644 --- a/docs/MatrixOne-Cloud/Reference/Data-Types/date-time-data-types/year-type.md +++ b/docs/MatrixOne-Cloud/Reference/Data-Types/date-time-data-types/year-type.md @@ -6,9 +6,9 @@ MatrixOne 以 YYYY 格式显示 YEAR 值,范围从 0001 年到 9999 年。 YEAR 接受各种格式的输入值: -- 作为范围在 '0001' 到 '9999' 之间的 4 位字符串。 +- 作为范围在 ‘0001’ 到 ‘9999’ 之间的 4 位字符串。 - 作为范围在 0001 到 9999 之间的 4 位数字。 -- 作为范围在 '0' 到 '99' 之间的 1 位或 2 位字符串。MatrixOne 将范围在 '0' 到 '00' 和之间的值转换为 YEAR 值,自动补全前两位 '00',即 '0000' ~ '0099'。 +- 作为范围在 ‘0’ 到 ‘99’ 之间的 1 位或 2 位字符串。MatrixOne 将范围在 ‘0’ 到 ‘00’ 和之间的值转换为 YEAR 值,自动补全前两位 ‘00’,即 ‘0000’ ~ ‘0099’。 - 作为返回在 YEAR 上下文中可接受的值的函数的结果,例如 `NOW()`。 ## 日期中的两位数年份 diff --git a/docs/MatrixOne-Cloud/Reference/Data-Types/enum-type.md b/docs/MatrixOne-Cloud/Reference/Data-Types/enum-type.md index 9a36e78..564876f 100644 --- a/docs/MatrixOne-Cloud/Reference/Data-Types/enum-type.md +++ b/docs/MatrixOne-Cloud/Reference/Data-Types/enum-type.md @@ -7,7 +7,7 @@ `ENUM` 数据类型具有以下优点: - 列值的可读性更强。 -- 紧凑的数据存储。MatrixOne 存储 ENUM 时只存储枚举值对应的数字索引 (1, 2, 3, …)。 +- 紧凑的数据存储。MatrixOne 存储 ENUM 时只存储枚举值对应的数字索引 (1,2,3, …)。 ## 语法结构 @@ -31,7 +31,7 @@ CREATE TABLE table_name ( - value1 到 valuen 是此 `ENUM` 类型的可选项列表,使用 ENUM 类型的列的值只能是上面值中的其中一个。 - 枚举值可以是 string、int 或 time 类型。 -__Note:__ 在 `ENUM` 数据类型中,你可以拥有多个枚举值。但是,建议将枚举值的数量保持在 20 以下。 +__Note:__在 `ENUM` 数据类型中,你可以拥有多个枚举值。但是,建议将枚举值的数量保持在 20 以下。 ## 示例解释 diff --git a/docs/MatrixOne-Cloud/Reference/Data-Types/fixed-point-types.md b/docs/MatrixOne-Cloud/Reference/Data-Types/fixed-point-types.md index c1c2eb9..bb86da6 100644 --- a/docs/MatrixOne-Cloud/Reference/Data-Types/fixed-point-types.md +++ b/docs/MatrixOne-Cloud/Reference/Data-Types/fixed-point-types.md @@ -17,7 +17,7 @@ MatrixOne 中 DECIMAL 类型的最大位数为 38 位。另外 DECIMAL 中指定 该部分内容主要介绍 Decimal 数据类型的一些特点,尤其是在位数精度和存储形式上的。 -DECIMAL 列的声明语法是 DECIMAL(M, D),M 是有效数字的位数,取值范围是 1 到 38,D 是小数位数,取值范围是 1 到 38,但是不能大于 M。 +DECIMAL 列的声明语法是 DECIMAL(M,D),M 是有效数字的位数,取值范围是 1 到 38,D 是小数位数,取值范围是 1 到 38,但是不能大于 M。 如果不指定 D,默认为 0。如果不指定 M,默认为 10。 DECIMAL 列的数值以二进制的形式进行存储,在 MatrixOne 内部,只有 decimal64 和 decimal128 这两种表示形式。在 0-18 位精度内,一个 Decimal 数值占用 8 个字节的存储空间,在 19-38 位精度内,一个 Decimal 数值占用 16 个字节的存储空间。 diff --git a/docs/MatrixOne-Cloud/Reference/Data-Types/json-type.md b/docs/MatrixOne-Cloud/Reference/Data-Types/json-type.md index 6b50a9b..a83c5ca 100644 --- a/docs/MatrixOne-Cloud/Reference/Data-Types/json-type.md +++ b/docs/MatrixOne-Cloud/Reference/Data-Types/json-type.md @@ -1,6 +1,6 @@ # JSON 数据类型 -MatrixOne 支持由 RFC 7159 定义的原生 JSON 数据类型,可以有效访问 JSON(JavaScript 对象表示法)文档中的数据。与将 JSON 格式的字符串存储在字符串列中相比,JSON 数据类型具有以下优势: +MatrixOne 支持由 RFC 7159 定义的原生 JSON 数据类型,可以有效访问 JSON (JavaScript 对象表示法) 文档中的数据。与将 JSON 格式的字符串存储在字符串列中相比,JSON 数据类型具有以下优势: - 自动验证存储在 JSON 列中的 JSON 文档。无效的文档会产生报错。 @@ -24,7 +24,7 @@ JSON 类型有 JSON 数组和 JSON 对象。 {"k1": "value", "k2": 10} ``` -JSON 数组和对象可以包含标量值,即字符串或数字、JSON 空字面量或 JSON 布尔真或假字面量。JSON 对象中的键值必须是字符串。JSON 也允许时间(日期,日期时间)标量值。如: +JSON 数组和对象可以包含标量值,即字符串或数字、JSON 空字面量或 JSON 布尔真或假字面量。JSON 对象中的键值必须是字符串。JSON 也允许时间 (日期,日期时间) 标量值。如: ``` ["12:18:29.000000", "2015-07-29", "2015-07-29 12:18:29.000000"] diff --git a/docs/MatrixOne-Cloud/Reference/Data-Types/uuid-type.md b/docs/MatrixOne-Cloud/Reference/Data-Types/uuid-type.md index dbfac02..a697a22 100644 --- a/docs/MatrixOne-Cloud/Reference/Data-Types/uuid-type.md +++ b/docs/MatrixOne-Cloud/Reference/Data-Types/uuid-type.md @@ -9,9 +9,9 @@ UUID 是一种通用唯一标识符,它由 32 位十六进制数字以及 4 - 前三个数字是从时间戳的低、中和高部分生成的。高位部分还包括 UUID 版本号。 -- 第四个数字保留时间唯一性,以防时间戳值失去单一性(例如,夏令时)。 +- 第四个数字保留时间唯一性,以防时间戳值失去单一性 (例如,夏令时)。 -- 第五个数字是空间唯一性的 IEEE 802 节点号。如果后者不可用(例如,因为主机设备没有以太网卡,或者不知道如何在主机操作系统上找到接口的硬件地址),则用随机数代替。在这种情况下,无法保证空间唯一性。然而,第五位数字重合的概率很低。 +- 第五个数字是空间唯一性的 IEEE 802 节点号。如果后者不可用 (例如,因为主机设备没有以太网卡,或者不知道如何在主机操作系统上找到接口的硬件地址),则用随机数代替。在这种情况下,无法保证空间唯一性。然而,第五位数字重合的概率很低。 **UUID 类型支持的 SQL 语句**: @@ -29,7 +29,7 @@ UUID 是一种通用唯一标识符,它由 32 位十六进制数字以及 4 **其他支持的 UUID 类型功能**: - UUID 类型字段可以设置为表的主键。 -- UUID 类型字段可以作为聚合函数(如 max, min, count)的参数。 +- UUID 类型字段可以作为聚合函数 (如 max,min,count) 的参数。 - UUID 类型数据可在字符串类型之间进行转换。 ## 示例解释 diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Aggregate-Functions/count.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Aggregate-Functions/count.md index 935da2a..e22dd9a 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Aggregate-Functions/count.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Aggregate-Functions/count.md @@ -2,7 +2,7 @@ ## **函数说明 n** -`COUNT()` 是聚合函数的一种,计算了查询结果的记录数(`NULL` 值不参与统计)。 +`COUNT()` 是聚合函数的一种,计算了查询结果的记录数 (`NULL` 值不参与统计)。 ## **函数语法** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Aggregate-Functions/sum.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Aggregate-Functions/sum.md index 2cbede5..6365c85 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Aggregate-Functions/sum.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Aggregate-Functions/sum.md @@ -2,7 +2,7 @@ ## **函数说明** -`SUM()` 聚合函数用于计算一组值的和(NULL 值被忽略)。 +`SUM()` 聚合函数用于计算一组值的和 (NULL 值被忽略)。 ## **函数语法** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/curdate.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/curdate.md index bba68c6..274fc81 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/curdate.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/curdate.md @@ -5,7 +5,7 @@ `CURDATE()` 函数返回当前日期的 `YYYY-MM-DD` 格式的值。 !!! note - 与 MySQL 行为不同的是:`curdate()+int` 表示当前日期至 1970-01-01 再加上 `int`(天数)的总天数。比如,`curdate()+1` 表示当前日期减去 1970-01-01 再加 1 天。 + 与 MySQL 行为不同的是:`curdate()+int` 表示当前日期至 1970-01-01 再加上 `int` (天数) 的总天数。比如,`curdate()+1` 表示当前日期减去 1970-01-01 再加 1 天。 ## **函数语法** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/month.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/month.md index 56a3ac1..751590f 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/month.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/month.md @@ -2,7 +2,7 @@ ## **函数说明** -返回日期的月份,对于 1 月到 12 月,返回范围为 1 到 12;对于“0000-00-00”或“2008-00-00”等日期,返回 0 月份。如果 `date` 为 `NULL` 则返回 `NULL`。 +返回日期的月份,对于 1 月到 12 月,返回范围为 1 到 12;对于 “0000-00-00” 或 “2008-00-00” 等日期,返回 0 月份。如果 `date` 为 `NULL` 则返回 `NULL`。 ## **函数语法** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/to-days.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/to-days.md index ce73ad8..8a790ba 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/to-days.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/to-days.md @@ -2,7 +2,7 @@ ## **函数说明** -`TO_DAYS()` 用于计算给定日期与公历日历的开始日期(0000 年 1 月 1 日)之间的天数差。如果 `date` 是 `NULL`,则返回 `NULL`。 +`TO_DAYS()` 用于计算给定日期与公历日历的开始日期 (0000 年 1 月 1 日) 之间的天数差。如果 `date` 是 `NULL`,则返回 `NULL`。 !!! note `0000-00-00` 和 `0000-01-01` 该日期本身被视为无效。MatrixOne 年份查询应该从 `0001` 年开始。查询 `0000-00-00` 和 `0000-01-01`,`TO_DAYS()` 返回报错信息: diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/unix-timestamp.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/unix-timestamp.md index 38de21b..ff66183 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/unix-timestamp.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/unix-timestamp.md @@ -24,7 +24,7 @@ ### 非 UTC 时区的值和 Unix 时间戳值之间的转换 -如果使用 `UNIX_TIMESTAMP()` 和 `FROM_UNIXTIME()` 在非 UTC(Coordinated Universal Time,协调世界时)时区的值和 Unix 时间戳值之间进行转换,则转换是有损的,因为映射在两个方向上不是一对一的。例如,由于诸如夏令时 (DST) 等本地时区更改的约定,`UNIX_TIMESTAMP()` 可以将在非 UTC 时区中不同的两个值映射到相同的 Unix 时间戳值。`FROM_UNIXTIME()` 将该值仅映射回原始值之一。下面的示例,即,使用在 `MET` 时区不同的值: +如果使用 `UNIX_TIMESTAMP()` 和 `FROM_UNIXTIME()` 在非 UTC (Coordinated Universal Time,协调世界时) 时区的值和 Unix 时间戳值之间进行转换,则转换是有损的,因为映射在两个方向上不是一对一的。例如,由于诸如夏令时 (DST) 等本地时区更改的约定,`UNIX_TIMESTAMP()` 可以将在非 UTC 时区中不同的两个值映射到相同的 Unix 时间戳值。`FROM_UNIXTIME()` 将该值仅映射回原始值之一。下面的示例,即,使用在 `MET` 时区不同的值: ```sql mysql> SET time_zone = 'MET'; diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/weekday.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/weekday.md index a9dac8c..588e07a 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/weekday.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/weekday.md @@ -2,7 +2,7 @@ ## **函数说明** -返回日期的工作日索引(0 = 星期一,1 = 星期二,... 6 = 星期日)。如果日期为 `NULL`,则返回 `NULL`。 +返回日期的工作日索引 (0 = 星期一,1 = 星期二,... 6 = 星期日)。如果日期为 `NULL`,则返回 `NULL`。 ## **函数语法** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/year.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/year.md index bebfaa9..b845b17 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/year.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Datetime/year.md @@ -2,7 +2,7 @@ ## **函数说明** -`YEAR()` 和 `TOYEAR()` 函数返回了给定日期的年份(从 1000 到 9999)。 +`YEAR()` 和 `TOYEAR()` 函数返回了给定日期的年份 (从 1000 到 9999)。 ## **函数语法** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Json/json-functions.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Json/json-functions.md index 38be9f1..65b9856 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Json/json-functions.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Json/json-functions.md @@ -42,7 +42,7 @@ mysql> SELECT JSON_EXTRACT('{"id": 14, "name": "Aztalan"}', '$.name'); - `prefix**suffix`:计算以命名前缀开头并以命名后缀结尾的所有路径。 -- 文档中不存在的路径(或不存在的数据)评估为 `NULL`。 +- 文档中不存在的路径 (或不存在的数据) 评估为 `NULL`。 **示例**: @@ -54,15 +54,15 @@ mysql> SELECT JSON_EXTRACT('{"id": 14, "name": "Aztalan"}', '$.name'); - `$[0]` 表示 3。 -- `$[1]` 表示 {"a": [5, 6], "b": 10}。 +- `$[1]` 表示 {“a”:[5,6],“b”:10}。 -- `$[2]` 表示 [99, 100]。 +- `$[2]` 表示 [99,100]。 - `$[3]` 为 NULL (数组路径从 `$[0]` 开始,而 `$[3]` 表示第四组数据,这组数据不存在)。 由于 `$[1]` 与 `$[2]` 计算为非标量值,那么表达式可以嵌套。例如: -- `$[1].a` 表示 [5, 6]。 +- `$[1].a` 表示 [5,6]。 - `$[1].a[1]` 表示 6。 diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/acos.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/acos.md index c98abd7..718e04e 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/acos.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/acos.md @@ -2,7 +2,7 @@ ## **函数说明** -ACOS() 函数返回给定数值的余弦(用弧度表示)。 +ACOS() 函数返回给定数值的余弦 (用弧度表示)。 ## **函数语法** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/atan.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/atan.md index 95ccf13..08abd18 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/atan.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/atan.md @@ -2,7 +2,7 @@ ## **函数说明** -ATAN() 函数返回给定数值的反正切(用弧度表示)。 +ATAN() 函数返回给定数值的反正切 (用弧度表示)。 ## **函数语法** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/cos.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/cos.md index f485a4e..4cf5c74 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/cos.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/cos.md @@ -2,7 +2,7 @@ ## **函数说明** -COS() 函数返回输入参数(用弧度表示)的余弦值。 +COS() 函数返回输入参数 (用弧度表示) 的余弦值。 ## **函数语法** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/cot.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/cot.md index 12ecfa4..3df959e 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/cot.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/cot.md @@ -2,7 +2,7 @@ ## **函数说明** -COT() 函数返回输入参数(用弧度表示)的余切值。 +COT() 函数返回输入参数 (用弧度表示) 的余切值。 ## **函数语法** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/power.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/power.md index f169c11..1fc40a1 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/power.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/power.md @@ -2,7 +2,7 @@ ## **函数说明** -POWER(X, Y) 返回 X 的 Y 次方指数值。 +POWER(X,Y) 返回 X 的 Y 次方指数值。 ## **函数语法** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/rand.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/rand.md index 307e9f0..60fe116 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/rand.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/rand.md @@ -72,4 +72,4 @@ mysql> SELECT * FROM Users ORDER BY RAND() LIMIT 1; ## **限制** -MatrixOne Cloud 暂不支持指定 `RAND(seed)` 函数的种子值(即 `seed` 参数)。 +MatrixOne Cloud 暂不支持指定 `RAND(seed)` 函数的种子值 (即 `seed` 参数)。 diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/round.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/round.md index fbdb734..bd19bb5 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/round.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/round.md @@ -3,7 +3,7 @@ ## **函数说明** `ROUND()` 函数返回了某个数字在特定位数四舍五入后的数值。 -该函数返回指定位数上最接近的数字。如果给定的数字与周围的数字距离相等(比如为 5),那么将采用“banker's rounding”(银行进位法)的方式进行舍入。 +该函数返回指定位数上最接近的数字。如果给定的数字与周围的数字距离相等 (比如为 5),那么将采用 “banker's rounding” (银行进位法) 的方式进行舍入。 ## **函数语法** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/sin.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/sin.md index 2d93c79..3309e9e 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/sin.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/sin.md @@ -2,7 +2,7 @@ ## **函数说明** -SIN() 函数返回输入参数(用弧度表示)的正弦值。 +SIN() 函数返回输入参数 (用弧度表示) 的正弦值。 ## **函数语法** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/sinh.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/sinh.md index d6f5c3c..9a3a54a 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/sinh.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/sinh.md @@ -2,7 +2,7 @@ ## **函数说明** -SINH() 函数返回输入参数(用弧度表示)的双曲正弦值。 +SINH() 函数返回输入参数 (用弧度表示) 的双曲正弦值。 ## **函数语法** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/tan.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/tan.md index 04462f1..a68e846 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/tan.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Mathematical/tan.md @@ -2,7 +2,7 @@ ## **函数说明** -TAN() 函数返回输入参数(用弧度表示)的正切值。 +TAN() 函数返回输入参数 (用弧度表示) 的正切值。 ## **函数语法** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Other/sleep.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Other/sleep.md index 15f2da8..fa93505 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Other/sleep.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Other/sleep.md @@ -2,7 +2,7 @@ ## **函数说明** -`SLEEP()` 函数将当前查询暂停(睡眠)指定的秒数。结果将返回 0。 +`SLEEP()` 函数将当前查询暂停 (睡眠) 指定的秒数。结果将返回 0。 ## **函数语法** @@ -19,7 +19,7 @@ SLEEP(duration) ## **返回值** -- 当 `SLEEP()` 正常返回时(没有中断),它返回 0。 +- 当 `SLEEP()` 正常返回时 (没有中断),它返回 0。 - 当 `SLEEP()` 被中断的查询调用唯一的结果时,它返回 1 并且查询本身不返回错误。 diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Other/uuid.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Other/uuid.md index ddfba55..e71b79c 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Other/uuid.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Other/uuid.md @@ -13,9 +13,9 @@ UUID 在空间和时间上是全球唯一的数字。即使是在两个未连接 - 前三个数字是从时间戳的低、中和高部分生成的。高位部分还包括 UUID 版本号。 -- 第四个数字保留时间唯一性,以防时间戳值失去单一性(例如,夏令时)。 +- 第四个数字保留时间唯一性,以防时间戳值失去单一性 (例如,夏令时)。 -- 第五个数字是空间唯一性的 IEEE 802 节点号。如果后者不可用(例如,因为主机设备没有以太网卡,或者不知道如何在主机操作系统上找到接口的硬件地址),则用随机数代替。在这种情况下,无法保证空间唯一性。然而,第五位数字重合的概率很低。 +- 第五个数字是空间唯一性的 IEEE 802 节点号。如果后者不可用 (例如,因为主机设备没有以太网卡,或者不知道如何在主机操作系统上找到接口的硬件地址),则用随机数代替。在这种情况下,无法保证空间唯一性。然而,第五位数字重合的概率很低。 UUID 既是数据类型,也是函数,如需了解更多 UUID 数据类型,参见 [UUID 类型](../../Data-Types/uuid-type.md)。 diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/Regular-Expressions/Regular-Expression-Functions-Overview.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/Regular-Expressions/Regular-Expression-Functions-Overview.md index 6243c3e..35ae1d1 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/Regular-Expressions/Regular-Expression-Functions-Overview.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/Regular-Expressions/Regular-Expression-Functions-Overview.md @@ -1,6 +1,6 @@ # 正则表达式概述 -正则表达式提供了一种强大的匹配文本模式的方法。你可以在 LIKE 语句中使用简单的通配符(如 %,_),但是正则表达式为你提供了更多的灵活性和匹配选项。 +正则表达式提供了一种强大的匹配文本模式的方法。你可以在 LIKE 语句中使用简单的通配符 (如 %,_),但是正则表达式为你提供了更多的灵活性和匹配选项。 ## 使用场景 @@ -35,7 +35,7 @@ ## 特殊字符 -正则表达式使用 POSIX(Portable Operating System Interface)扩展正则表达式。下面是一些需要注意的特殊字符: +正则表达式使用 POSIX (Portable Operating System Interface) 扩展正则表达式。下面是一些需要注意的特殊字符: |字符 | 说明| |---|---| diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/Regular-Expressions/regexp-instr.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/Regular-Expressions/regexp-instr.md index 1d5bd0f..5d56fba 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/Regular-Expressions/regexp-instr.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/Regular-Expressions/regexp-instr.md @@ -24,8 +24,8 @@ - `match_type` 参数是一个可选的字符串,用于指定匹配的方式。这个参数可以由以下字符构成,每个字符指定一种匹配方式,字符的顺序不影响结果: - - `'c'`:区分大小写进行匹配(即,大写和小写字母被视为不同的字符)。默认情况下,匹配区分大小写。 - - `'i'`:不区分大小写进行匹配(即,大写和小写字母被视为相同的字符)。 + - `'c'`:区分大小写进行匹配 (即,大写和小写字母被视为不同的字符)。默认情况下,匹配区分大小写。 + - `'i'`:不区分大小写进行匹配 (即,大写和小写字母被视为相同的字符)。 - `'n'`:允许 `.` 符号匹配换行符。默认情况下,`.` 符号不会匹配换行符。 - `'m'`:将字符串视为多行。即,`^` 匹配字符串的开头或任何行的开头,`$` 匹配字符串的结尾或任何行的结尾。默认情况下,`^` 只匹配字符串的开头,`$` 只匹配字符串的结尾。 - `'u'`:将模式视为 UTF-8 字符串。默认情况下,模式视为字节字符串。 diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/Regular-Expressions/regexp-like.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/Regular-Expressions/regexp-like.md index 5317523..58c0618 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/Regular-Expressions/regexp-like.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/Regular-Expressions/regexp-like.md @@ -20,8 +20,8 @@ REGEXP 和 RLIKE 是 `REGEXP_LIKE()` 的同义词。 - `match_type` 参数是一个可选的字符串,用于指定匹配的方式。这个参数可以由以下字符构成,每个字符指定一种匹配方式,字符的顺序不影响结果: - - `'c'`:区分大小写进行匹配(即,大写和小写字母被视为不同的字符)。默认情况下,匹配区分大小写。 - - `'i'`:不区分大小写进行匹配(即,大写和小写字母被视为相同的字符)。 + - `'c'`:区分大小写进行匹配 (即,大写和小写字母被视为不同的字符)。默认情况下,匹配区分大小写。 + - `'i'`:不区分大小写进行匹配 (即,大写和小写字母被视为相同的字符)。 - `'n'`:允许 `.` 符号匹配换行符。默认情况下,`.` 符号不会匹配换行符。 - `'m'`:将字符串视为多行。即,`^` 匹配字符串的开头或任何行的开头,`$` 匹配字符串的结尾或任何行的结尾。默认情况下,`^` 只匹配字符串的开头,`$` 只匹配字符串的结尾。 - `'u'`:将模式视为 UTF-8 字符串。默认情况下,模式视为字节字符串。 diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/Regular-Expressions/regexp-replace.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/Regular-Expressions/regexp-replace.md index fdc4f5f..548877e 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/Regular-Expressions/regexp-replace.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/Regular-Expressions/regexp-replace.md @@ -24,8 +24,8 @@ - `match_type` 参数是一个可选的字符串,用于指定匹配的方式。这个参数可以由以下字符构成,每个字符指定一种匹配方式,字符的顺序不影响结果: - - `'c'`:区分大小写进行匹配(即,大写和小写字母被视为不同的字符)。默认情况下,匹配区分大小写。 - - `'i'`:不区分大小写进行匹配(即,大写和小写字母被视为相同的字符)。 + - `'c'`:区分大小写进行匹配 (即,大写和小写字母被视为不同的字符)。默认情况下,匹配区分大小写。 + - `'i'`:不区分大小写进行匹配 (即,大写和小写字母被视为相同的字符)。 - `'n'`:允许 `.` 符号匹配换行符。默认情况下,`.` 符号不会匹配换行符。 - `'m'`:将字符串视为多行。即,`^` 匹配字符串的开头或任何行的开头,`$` 匹配字符串的结尾或任何行的结尾。默认情况下,`^` 只匹配字符串的开头,`$` 只匹配字符串的结尾。 - `'u'`:将模式视为 UTF-8 字符串。默认情况下,模式视为字节字符串。 diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/Regular-Expressions/regexp-substr.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/Regular-Expressions/regexp-substr.md index 7ccac9a..17f5680 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/Regular-Expressions/regexp-substr.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/Regular-Expressions/regexp-substr.md @@ -22,8 +22,8 @@ - `match_type` 参数是一个可选的字符串,用于指定匹配的方式。这个参数可以由以下字符构成,每个字符指定一种匹配方式,字符的顺序不影响结果: - - `'c'`:区分大小写进行匹配(即,大写和小写字母被视为不同的字符)。默认情况下,匹配区分大小写。 - - `'i'`:不区分大小写进行匹配(即,大写和小写字母被视为相同的字符)。 + - `'c'`:区分大小写进行匹配 (即,大写和小写字母被视为不同的字符)。默认情况下,匹配区分大小写。 + - `'i'`:不区分大小写进行匹配 (即,大写和小写字母被视为相同的字符)。 - `'n'`:允许 `.` 符号匹配换行符。默认情况下,`.` 符号不会匹配换行符。 - `'m'`:将字符串视为多行。即,`^` 匹配字符串的开头或任何行的开头,`$` 匹配字符串的结尾或任何行的结尾。默认情况下,`^` 只匹配字符串的开头,`$` 只匹配字符串的结尾。 - `'u'`:将模式视为 UTF-8 字符串。默认情况下,模式视为字节字符串。 diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/char-length.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/char-length.md index f288f4d..854022a 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/char-length.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/char-length.md @@ -16,7 +16,7 @@ | ---- | ---- | | str | 必要参数,想要计算长度的字符串 | -!!! note "note" +!!! note “note`CHAR_LENGTH` 也可以写为 `lengthUTF8()`。 ## **示例** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/concat.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/concat.md index b948e40..f2c4805 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/concat.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/concat.md @@ -2,7 +2,7 @@ ## **函数说明** -`CONCAT()` 将多个字符串(或仅含有一个字符串)连接成一个字符串。如果所有参数都是非二进制字符串,则结果是非二进制字符串。如果参数包含任何二进制字符串,则结果为二进制字符串。 +`CONCAT()` 将多个字符串 (或仅含有一个字符串) 连接成一个字符串。如果所有参数都是非二进制字符串,则结果是非二进制字符串。如果参数包含任何二进制字符串,则结果为二进制字符串。 `CONCAT()` 中如果有任何一个参数为 `NULL`,则返回 `NULL`。 diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/find-in-set.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/find-in-set.md index 58eef96..d686bba 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/find-in-set.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/find-in-set.md @@ -3,10 +3,10 @@ ## **函数说明** - str 为要查询的字符串 -- strList 为字段名,参数以“,”分隔,如 (1,2,6,8) +- strList 为字段名,参数以 “,” 分隔,如 (1,2,6,8) - 查询字段 (strList) 中包含的结果,返回结果 NULL 或记录。 -如果字符串 *str* 在由 N 个子字符串组成的字符串列表 *strlist* 中,则返回值的范围在 *1* 到 *N* 之间。一个字符串列表就是由*‘,’*符号分开的子字符串组成。如果第一个参数是常量字符串,第二个参数是 ``SET`` 类型的列,那么 ``FIND_IN_SET()`` 函数将优化为使用位运算。如果 *str* 不在 *strlist* 中或者 *strlist* 是空字符串,则返回 *0*。如果任一参数为 *NULL* 则返回 ``NULL``。如果第一个参数包含逗号 ``(,)`` 字符,此函数将无法正常运行。 +如果字符串 *str* 在由 N 个子字符串组成的字符串列表 *strlist* 中,则返回值的范围在 *1* 到 *N* 之间。一个字符串列表就是由 *‘,’* 符号分开的子字符串组成。如果第一个参数是常量字符串,第二个参数是 ``SET`` 类型的列,那么 ``FIND_IN_SET()`` 函数将优化为使用位运算。如果 *str* 不在 *strlist* 中或者 *strlist* 是空字符串,则返回 *0*。如果任一参数为 *NULL* 则返回 ``NULL``。如果第一个参数包含逗号 ``(,)`` 字符,此函数将无法正常运行。 ## **函数语法** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/format.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/format.md index ed98bca..0051ebe 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/format.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/format.md @@ -2,7 +2,7 @@ ## **函数说明** -`FORMAT` 函数用于将数字格式设置为 "#,###,###.##" 格式,并四舍五入到小数点后一位。格式化数字后,它将以字符串的形式返回值。 +`FORMAT` 函数用于将数字格式设置为 “#,###,###.##” 格式,并四舍五入到小数点后一位。格式化数字后,它将以字符串的形式返回值。 ## **语法** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/instr.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/instr.md index 142b157..9067849 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/instr.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/instr.md @@ -2,9 +2,9 @@ ## **函数说明** -`INSTR()` 函数也是用来返回子字符串在给定字符串中首次出现的位置。这个函数是多字节安全的,这意味着它适用于各种字符编码,并且能正确处理多字节字符(例如 UTF-8 编码的字符)。 +`INSTR()` 函数也是用来返回子字符串在给定字符串中首次出现的位置。这个函数是多字节安全的,这意味着它适用于各种字符编码,并且能正确处理多字节字符 (例如 UTF-8 编码的字符)。 -`INSTR()` 函数主要是进行数据清洗和转换,例如当你需要在文本字段中查找特定的子字符串或根据特定的字符分割文本字段时。这对于处理包含某种模式或格式的数据(如电子邮件地址、电话号码等)非常有用。 +`INSTR()` 函数主要是进行数据清洗和转换,例如当你需要在文本字段中查找特定的子字符串或根据特定的字符分割文本字段时。这对于处理包含某种模式或格式的数据 (如电子邮件地址、电话号码等) 非常有用。 关于大小写的处理,`INSTR()` 函数只有在至少有一个参数是二进制字符串的情况下才是大小写敏感的。也就是说,对于非二进制字符串,`INSTR()` 函数是不区分大小写的。但是,如果你希望进行大小写敏感的比较,你可以使用 `BINARY` 关键字来将字符串转换为二进制格式。 @@ -14,7 +14,7 @@ SELECT INSTR(BINARY 'abc', 'A'); ``` -上述查询将返回 0,因为在二进制格式下,'A' 和 'a' 被认为是不同的字符。 +上述查询将返回 0,因为在二进制格式下,‘A’ 和 ‘a’ 被认为是不同的字符。 ## **函数语法** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/split_part.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/split_part.md index 3d97d14..16e4d68 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/split_part.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/split_part.md @@ -4,7 +4,7 @@ `SPLIT_PART()` 用于在给定的分隔符基础上将一个字符串分解成多个部分,并返回指定的部分。 -如果指定的部分(由 `unsigned_integer` 参数指定)超出了实际存在的部分数量,`SPLIT_PART()` 将返回 `NULL`。 +如果指定的部分 (由 `unsigned_integer` 参数指定) 超出了实际存在的部分数量,`SPLIT_PART()` 将返回 `NULL`。 `SPLIT_PART()` 只会从左到右开始计数部分,如果 `unsigned_integer` 为负数,将会报错。 diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/substring-index.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/substring-index.md index cb55cf7..74ca1ac 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/substring-index.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/String/substring-index.md @@ -4,9 +4,9 @@ 此函数 ``SUBSTRING_INDEX()`` 以分隔符为索引,获取不同索引位的字符。 -如果 count 为正,则返回最后一个分隔符左侧(从左侧开始计数)的所有内容。 +如果 count 为正,则返回最后一个分隔符左侧 (从左侧开始计数) 的所有内容。 -如果 count 为负数,则返回最后一个分隔符右侧(从右侧开始计数)的所有内容。 +如果 count 为负数,则返回最后一个分隔符右侧 (从右侧开始计数) 的所有内容。 如果参数为 `NULL`,`SUBSTRING_INDEX()` 将返回 `NULL`。 @@ -16,7 +16,7 @@ > SUBSTRING_INDEX(str,delim,count) ``` -即,substring_index(“待截取有用部分的字符串”,“截取数据依据的字符”,截取字符的位置 N) +即,substring_index (“待截取有用部分的字符串”,“截取数据依据的字符”,截取字符的位置 N) ## **参数释义** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Window-Functions/dense_rank.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Window-Functions/dense_rank.md index ccf8933..ebef376 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Window-Functions/dense_rank.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Window-Functions/dense_rank.md @@ -4,7 +4,7 @@ `DENSE_RANK()` 为数据集中的每一行提供一个唯一的排名,与 RANK() 函数非常相似。`DENSE_RANK()` 函数首先根据 ORDER BY 子句中指定的列对数据集进行排序,然后为每一行赋予一个唯一的排名。 -`DENSE_RANK()` 函数处理平局(即两行或更多行具有相同的值)的方式与 `RANK()` 函数略有不同。在存在平局的情况下,`DENSE_RANK()` 会为具有相同值的所有行赋予相同的排名,但是不会跳过紧随其后的任何排名。例如,如果两行获得排名 1,那么下一行将获得排名 2,而不是 3。 +`DENSE_RANK()` 函数处理平局 (即两行或更多行具有相同的值) 的方式与 `RANK()` 函数略有不同。在存在平局的情况下,`DENSE_RANK()` 会为具有相同值的所有行赋予相同的排名,但是不会跳过紧随其后的任何排名。例如,如果两行获得排名 1,那么下一行将获得排名 2,而不是 3。 ## **函数语法** @@ -16,7 +16,7 @@ ``` - `PARTITION BY` 子句是可选的,它将数据集分为多个分区,在每个分区内部单独计算排名。 -- `ORDER BY` 子句定义了数据集的排序方式,即根据哪一列或哪些列进行排序。可以指定升序(ASC)或降序(DESC)排序。 +- `ORDER BY` 子句定义了数据集的排序方式,即根据哪一列或哪些列进行排序。可以指定升序 (ASC) 或降序 (DESC) 排序。 ## **示例** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Window-Functions/rank.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Window-Functions/rank.md index e5086b2..549d421 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Window-Functions/rank.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Window-Functions/rank.md @@ -4,7 +4,7 @@ `RANK()` 为数据集中的每一行提供一个唯一的排名。`RANK()` 首先根据 `ORDER BY` 子句中指定的列对数据集进行排序,然后为每一行赋予一个唯一的排名。 -`RANK()` 函数在处理相同值(即平局)的情况时,有一个特殊的行为:当两行或更多行具有相同的值时,它们将获得相同的排名。然后,它将跳过紧随其后的一个或多个排名。例如,如果两行获得排名 1,那么下一行将获得排名 3,而不是 2。 +`RANK()` 函数在处理相同值 (即平局) 的情况时,有一个特殊的行为:当两行或更多行具有相同的值时,它们将获得相同的排名。然后,它将跳过紧随其后的一个或多个排名。例如,如果两行获得排名 1,那么下一行将获得排名 3,而不是 2。 ## **函数语法** @@ -16,7 +16,7 @@ ``` - `PARTITION BY` 子句是可选的,它将数据集分为多个分区,在每个分区内部单独计算排名。 -- `ORDER BY` 子句定义了数据集的排序方式,即根据哪一列或哪些列进行排序。可以指定升序(ASC)或降序(DESC)排序。 +- `ORDER BY` 子句定义了数据集的排序方式,即根据哪一列或哪些列进行排序。可以指定升序 (ASC) 或降序 (DESC) 排序。 ## **示例** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Window-Functions/row_number.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Window-Functions/row_number.md index 7c5ae8c..00c59d5 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Window-Functions/row_number.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/Window-Functions/row_number.md @@ -4,7 +4,7 @@ `ROW_NUMBER()` 为数据集中的每一行提供一个唯一的序号,从 1 开始,直到结果集的最后一行。它首先会根据 `ORDER BY` 子句中指定的列对数据集进行排序,然后为每一行赋予一个唯一的行号。 -与 `RANK()` 和 `DENSE_RANK()` 函数不同,`ROW_NUMBER()` 在处理平局(即两行或更多行具有相同的值)时会为每一行赋予不同的行号。 +与 `RANK()` 和 `DENSE_RANK()` 函数不同,`ROW_NUMBER()` 在处理平局 (即两行或更多行具有相同的值) 时会为每一行赋予不同的行号。 ## **函数语法** @@ -16,7 +16,7 @@ ``` - `PARTITION BY` 子句是可选的,它将数据集分为多个分区,在每个分区内部单独计算行号。 -- `ORDER BY` 子句定义了数据集的排序方式,即根据哪一列或哪些列进行排序。可以指定升序(ASC)或降序(DESC)排序。 +- `ORDER BY` 子句定义了数据集的排序方式,即根据哪一列或哪些列进行排序。可以指定升序 (ASC) 或降序 (DESC) 排序。 ## **示例** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/system-ops/current_user.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/system-ops/current_user.md index ed5bdf1..b166a30 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/system-ops/current_user.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/system-ops/current_user.md @@ -1,4 +1,4 @@ -# **CURRENT_USER, CURRENT_USER()** +# **CURRENT_USER,CURRENT_USER()** ## **语法说明** diff --git a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/system-ops/version.md b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/system-ops/version.md index 5d376e4..1e94cf4 100644 --- a/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/system-ops/version.md +++ b/docs/MatrixOne-Cloud/Reference/Functions-and-Operators/system-ops/version.md @@ -2,7 +2,7 @@ ## **函数说明** -`VERSION()` 函数用于获取当前 MatrixOne Cloud 系统的版本信息。这个函数通常返回一个字符串,包含了数据库管理系统的版本号。如 8.0.30-MatrixOne-v1.0.0-rc1,表示 MatrixOne Cloud 数据库的版本号是 8.0.30-MatrixOne-v1.0.0-rc1, 它的定义是 MySQL 兼容版本号 (8.0.30) + MatrixOne + MatrixOne 内核版本 (v1.0.0-rc1)。 +`VERSION()` 函数用于获取当前 MatrixOne Cloud 系统的版本信息。这个函数通常返回一个字符串,包含了数据库管理系统的版本号。如 8.0.30-MatrixOne-v1.0.0-rc1,表示 MatrixOne Cloud 数据库的版本号是 8.0.30-MatrixOne-v1.0.0-rc1,它的定义是 MySQL 兼容版本号 (8.0.30) + MatrixOne + MatrixOne 内核版本 (v1.0.0-rc1)。 ## **函数语法** diff --git a/docs/MatrixOne-Cloud/Reference/Language-Structure/comment.md b/docs/MatrixOne-Cloud/Reference/Language-Structure/comment.md index 4bd0466..3c955d7 100644 --- a/docs/MatrixOne-Cloud/Reference/Language-Structure/comment.md +++ b/docs/MatrixOne-Cloud/Reference/Language-Structure/comment.md @@ -16,7 +16,7 @@ MatrixOne 支持以下注释格式: 1 row in set (0.01 sec) ``` -- 使用 `--` 来注释一行。`--`(双破折号)注释样式要求第二个破折号后跟至少一个空格或控制字符(例如空格、制表符、换行符等)。 +- 使用 `--` 来注释一行。`--` (双破折号) 注释样式要求第二个破折号后跟至少一个空格或控制字符 (例如空格、制表符、换行符等)。 ```sql mysql> select 100-99; -- 注释内容 diff --git a/docs/MatrixOne-Cloud/Reference/Language-Structure/keywords.md b/docs/MatrixOne-Cloud/Reference/Language-Structure/keywords.md index 9d7a0de..ede4a2e 100644 --- a/docs/MatrixOne-Cloud/Reference/Language-Structure/keywords.md +++ b/docs/MatrixOne-Cloud/Reference/Language-Structure/keywords.md @@ -29,7 +29,7 @@ Query OK, 0 rows affected (0.01 sec) ``` !!! note - 与 MySQL 不同,在 MatrixOne 中,如果使用了限定符*.*,保留关键字如果不使用反引号包裹也会产生报错,建议在创建表和数据库时,避免使用保留关键字: + 与 MySQL 不同,在 MatrixOne 中,如果使用了限定符*。*,保留关键字如果不使用反引号包裹也会产生报错,建议在创建表和数据库时,避免使用保留关键字: ``` mysql> CREATE TABLE test.select (BEGIN int); diff --git a/docs/MatrixOne-Cloud/Reference/Limitations/load-data-support.md b/docs/MatrixOne-Cloud/Reference/Limitations/load-data-support.md index 7ea2e4c..3f63fc8 100644 --- a/docs/MatrixOne-Cloud/Reference/Limitations/load-data-support.md +++ b/docs/MatrixOne-Cloud/Reference/Limitations/load-data-support.md @@ -33,14 +33,14 @@ LOAD DATA - REPLACE - PARTITION - CHARACTER SET:目前仅支持 UTF8 -- FIELDS TERMINATED BY 'string':simdcsv 不接受 \r,\n,Unicode replacement character (0xFFFD). -- FIELDS [OPTIONALLY] ENCLOSED BY 'char':simdCSV 固定是 `"`。 -- FIELDS ESCAPED BY 'char': simdcsv 暂不支持。 -- LINES STARTING BY 'string': simdcsv 不支持。'#' 是第一个字符的行都会被过滤掉。 -- LINES TERMINATED BY 'string': simdcsv 不支持修改。固定 '\n',`\r\n`. +- FIELDS TERMINATED BY ‘string’:simdcsv 不接受 \r,\n,Unicode replacement character (0xFFFD)。 +- FIELDS [OPTIONALLY] ENCLOSED BY ‘char’:simdCSV 固定是 `"`。 +- FIELDS ESCAPED BY ‘char’:simdcsv 暂不支持。 +- LINES STARTING BY ‘string’:simdcsv 不支持。‘#’ 是第一个字符的行都会被过滤掉。 +- LINES TERMINATED BY ‘string’:simdcsv 不支持修改。固定 ‘\n’,`\r\n`。 - user_var:不支持。变量对应的数据列,被过滤掉。 -- SET col_name={expr | DEFAULT}: 不支持。 -- LOW_PRIORITY: 不支持 +- SET col_name={expr | DEFAULT}:不支持。 +- LOW_PRIORITY:不支持 - CONCURRENT:不支持 - LOCAL:不支持。local 需要从 client 端将数据传输到 server 端。 diff --git a/docs/MatrixOne-Cloud/Reference/Limitations/mo-jdbc-feature-list.md b/docs/MatrixOne-Cloud/Reference/Limitations/mo-jdbc-feature-list.md index 179f670..639db54 100644 --- a/docs/MatrixOne-Cloud/Reference/Limitations/mo-jdbc-feature-list.md +++ b/docs/MatrixOne-Cloud/Reference/Limitations/mo-jdbc-feature-list.md @@ -2,14 +2,14 @@ 使用 JDBC 开发应用,MatrixOne 支持以下类和对象: -## 1. Connection(类):获取数据库连接对象 +## 1。Connection (类):获取数据库连接对象 ### 类中的方法 1. 获取执行 Sql 对象 Statement - - Statement createStatement(); - - Statement prepareStatement(String sql); + - Statement createStatement(); + - Statement prepareStatement(String sql); 2. 管理事务 @@ -72,7 +72,7 @@ | setNetworkTimeout(Executor executor, int milliseconds) | Y | | getNetworkTimeout() | Y | -## 2. Statement 类中的方法 +## 2。Statement 类中的方法 |Statement 类中的方法 | 支持(Y)/不支持(N) | |---|---| @@ -119,7 +119,7 @@ | closeOnCompletion() | Y | | isCloseOnCompletion() | Y | -## 3. ResultSet interface 中的方法 +## 3。ResultSet interface 中的方法 |ResultSet 类中的方法 | 支持(Y)/不支持(N)| |---|---| @@ -173,7 +173,7 @@ | update()(一连串数据类型) | Y | | updateNull() | Y | -## 4. ResultSetMetaData 中的方法 +## 4。ResultSetMetaData 中的方法 | ResultSetMetaData 类中的方法 | 支持(Y)/不支持(N) | |---|---| diff --git a/docs/MatrixOne-Cloud/Reference/Limitations/mo-partition-support.md b/docs/MatrixOne-Cloud/Reference/Limitations/mo-partition-support.md index 7389b2d..a0b6e74 100644 --- a/docs/MatrixOne-Cloud/Reference/Limitations/mo-partition-support.md +++ b/docs/MatrixOne-Cloud/Reference/Limitations/mo-partition-support.md @@ -1,19 +1,19 @@ # MatrixOne DDL 语句分区支持的说明 -## 1. MatrixOne 支持的分区类型 +## 1。MatrixOne 支持的分区类型 目前 MatrixOne 的 DDL 语句支持的 6 种分区类型,与 MySQL 官网基本一致,具体如下: - KEY Partitioning - HASH Partitioning -目前支持子分区(Subpartitioning)语法,但是不支持计划构建。 +目前支持子分区 (Subpartitioning) 语法,但是不支持计划构建。 -## 2. 关于分区键的说明 +## 2。关于分区键的说明 -### Partition Keys, Primary Keys 和 Unique Keys 的关系 +### Partition Keys,Primary Keys 和 Unique Keys 的关系 -分区键(Partition Keys)、主键(Primary Keys)和唯一键(Unique Keys)的关系规则可以概括为: +分区键 (Partition Keys)、主键 (Primary Keys) 和唯一键 (Unique Keys) 的关系规则可以概括为: 分区表的分区表达式中使用的所有列必须是该表可能具有的每个唯一键的一部分。 @@ -56,7 +56,7 @@ ERROR 1503 (HY000): A PRIMARY KEY must include all columns in the table's partit 1. KEY 只接受零个或多个列名的列表。在表有主键的情况下,用作分区键的任何列必须包含表主键的一部分或全部。 - 如果没有指定列名作为分区键,则使用表的主键(如果有)。例如,以下 `CREATE TABLE` 语句在 MySQL 中有效。 + 如果没有指定列名作为分区键,则使用表的主键 (如果有)。例如,以下 `CREATE TABLE` 语句在 MySQL 中有效。 2. 如果没有主键,但有 UNIQUE KEY,那么 UNIQUE KEY 用于分区键。 @@ -77,7 +77,7 @@ PARTITIONS 4; !!! note 其他分区规则与 MySQL 基本保持一致。 -## 3. 关于 MatrixOne 分区表达式的说明 +## 3。关于 MatrixOne 分区表达式的说明 ​ 在 DDL 语句构建分区表时,会针对每一种分区定义生成一个分区表达式,该分区表达式可用于计算数据的所属的分区。 diff --git a/docs/MatrixOne-Cloud/Reference/Operators/operators/bit-functions-and-operators/bitwise-and.md b/docs/MatrixOne-Cloud/Reference/Operators/operators/bit-functions-and-operators/bitwise-and.md index f5fdaad..8f4f61f 100644 --- a/docs/MatrixOne-Cloud/Reference/Operators/operators/bit-functions-and-operators/bitwise-and.md +++ b/docs/MatrixOne-Cloud/Reference/Operators/operators/bit-functions-and-operators/bitwise-and.md @@ -2,7 +2,7 @@ ## **运算符说明** -`Bitwise AND` 运算符,对每对比特位执行与(AND)操作。只有 a 和 b 都是 1 时,a AND b 才是 1。`Bitwise AND` 返回一个无符号的 64 位整数。 +`Bitwise AND` 运算符,对每对比特位执行与 (AND) 操作。只有 a 和 b 都是 1 时,a AND b 才是 1。`Bitwise AND` 返回一个无符号的 64 位整数。 结果类型取决于参数是否为二进制字符串或数字: diff --git a/docs/MatrixOne-Cloud/Reference/Operators/operators/bit-functions-and-operators/bitwise-inversion.md b/docs/MatrixOne-Cloud/Reference/Operators/operators/bit-functions-and-operators/bitwise-inversion.md index 66ffac2..b071a9d 100644 --- a/docs/MatrixOne-Cloud/Reference/Operators/operators/bit-functions-and-operators/bitwise-inversion.md +++ b/docs/MatrixOne-Cloud/Reference/Operators/operators/bit-functions-and-operators/bitwise-inversion.md @@ -2,7 +2,7 @@ ## **运算符说明** -一元运算符,二进制取反。对每一个比特位执行非(NOT)操作。NOT a 结果为 a 的反转(即反码),参数只能是数字或 NULL。 +一元运算符,二进制取反。对每一个比特位执行非 (NOT) 操作。NOT a 结果为 a 的反转 (即反码),参数只能是数字或 NULL。 ## **语法结构** diff --git a/docs/MatrixOne-Cloud/Reference/Operators/operators/bit-functions-and-operators/bitwise-or.md b/docs/MatrixOne-Cloud/Reference/Operators/operators/bit-functions-and-operators/bitwise-or.md index 87f90df..d58a1da 100644 --- a/docs/MatrixOne-Cloud/Reference/Operators/operators/bit-functions-and-operators/bitwise-or.md +++ b/docs/MatrixOne-Cloud/Reference/Operators/operators/bit-functions-and-operators/bitwise-or.md @@ -2,7 +2,7 @@ ## **运算符说明** -位运算符或,按位或。对每一对比特位执行或(OR)操作。如果 a 或 b 为 1,则 a OR b 结果为 1。 +位运算符或,按位或。对每一对比特位执行或 (OR) 操作。如果 a 或 b 为 1,则 a OR b 结果为 1。 结果类型取决于参数是否为二进制字符串或数字: diff --git a/docs/MatrixOne-Cloud/Reference/Operators/operators/bit-functions-and-operators/bitwise-xor.md b/docs/MatrixOne-Cloud/Reference/Operators/operators/bit-functions-and-operators/bitwise-xor.md index 5787c93..412ae51 100644 --- a/docs/MatrixOne-Cloud/Reference/Operators/operators/bit-functions-and-operators/bitwise-xor.md +++ b/docs/MatrixOne-Cloud/Reference/Operators/operators/bit-functions-and-operators/bitwise-xor.md @@ -2,7 +2,7 @@ ## **运算符说明** -按位异或。对每一对比特位执行异或(XOR)操作。当 a 和 b 不相同时,a XOR b 的结果为 1。 +按位异或。对每一对比特位执行异或 (XOR) 操作。当 a 和 b 不相同时,a XOR b 的结果为 1。 结果类型取决于参数是否为二进制字符串或数字: diff --git a/docs/MatrixOne-Cloud/Reference/Operators/operators/cast-functions-and-operators/cast.md b/docs/MatrixOne-Cloud/Reference/Operators/operators/cast-functions-and-operators/cast.md index c241924..1a43ff3 100644 --- a/docs/MatrixOne-Cloud/Reference/Operators/operators/cast-functions-and-operators/cast.md +++ b/docs/MatrixOne-Cloud/Reference/Operators/operators/cast-functions-and-operators/cast.md @@ -22,9 +22,9 @@ * 数值类型之间转换,主要包括 SIGNED,UNSIGNED,FLOAT,DOUBLE 类型 * 数值类型向字符 CHAR 类型转换 -* 格式为数值的字符类型向数值类型转换(负数需要转换为 SIGNED) -* Time 类型(包括 Date, Datetime, Timestamp 和 Time)转换为 INT 类型,存在小数点位四舍五入 -* Time 类型(包括 Date, Datetime, Timestamp 和 Time)转换为定点类型,保留小数位 +* 格式为数值的字符类型向数值类型转换 (负数需要转换为 SIGNED) +* Time 类型 (包括 Date,Datetime,Timestamp 和 Time) 转换为 INT 类型,存在小数点位四舍五入 +* Time 类型 (包括 Date,Datetime,Timestamp 和 Time) 转换为定点类型,保留小数位 详细的数据类型转换规则,请参见[数据类型转换](../../../Data-Types/data-type-conversion.md)。 diff --git a/docs/MatrixOne-Cloud/Reference/Operators/operators/cast-functions-and-operators/convert.md b/docs/MatrixOne-Cloud/Reference/Operators/operators/cast-functions-and-operators/convert.md index b11ed03..329652a 100644 --- a/docs/MatrixOne-Cloud/Reference/Operators/operators/cast-functions-and-operators/convert.md +++ b/docs/MatrixOne-Cloud/Reference/Operators/operators/cast-functions-and-operators/convert.md @@ -29,7 +29,7 @@ * 数值类型之间转换,主要包括 SIGNED,UNSIGNED,FLOAT,DOUBLE 类型 * 数值类型向字符 CHAR 类型转换 -* 格式为数值的字符类型向数值类型转换(负数需要转换为 SIGNED) +* 格式为数值的字符类型向数值类型转换 (负数需要转换为 SIGNED) ## **示例** diff --git a/docs/MatrixOne-Cloud/Reference/Operators/operators/comparison-functions-and-operators/function_isnull.md b/docs/MatrixOne-Cloud/Reference/Operators/operators/comparison-functions-and-operators/function_isnull.md index fab28b7..626baee 100644 --- a/docs/MatrixOne-Cloud/Reference/Operators/operators/comparison-functions-and-operators/function_isnull.md +++ b/docs/MatrixOne-Cloud/Reference/Operators/operators/comparison-functions-and-operators/function_isnull.md @@ -2,7 +2,7 @@ ## **语法说明** -可以使用 `ISNULL()` 函数代替 `=` 来测试值是否为 `NULL`。(使用 `=` 将值与 `NULL` 进行比较始终会产生 `NULL`。) +可以使用 `ISNULL()` 函数代替 `=` 来测试值是否为 `NULL`。(使用 `=` 将值与 `NULL` 进行比较始终会产生 `NULL`。) 如果表达式为 `NULL`,则该函数返回 `true`。否则,它返回 `false`。 diff --git a/docs/MatrixOne-Cloud/Reference/Operators/operators/comparison-functions-and-operators/like.md b/docs/MatrixOne-Cloud/Reference/Operators/operators/comparison-functions-and-operators/like.md index 4d09dd0..eda4120 100644 --- a/docs/MatrixOne-Cloud/Reference/Operators/operators/comparison-functions-and-operators/like.md +++ b/docs/MatrixOne-Cloud/Reference/Operators/operators/comparison-functions-and-operators/like.md @@ -6,15 +6,15 @@ 有两个通配符经常与 `LIKE` 操作符一起使用: -- 百分号 `%` 通配符:表示匹配任意字符序列(包括空字符序列)。 +- 百分号 `%` 通配符:表示匹配任意字符序列 (包括空字符序列)。 - - %text:匹配以 "text" 结尾的字符串。 - - text%:匹配以 "text" 开头的字符串。 - - %text%:匹配包含 "text" 的字符串。 + - %text:匹配以 “text” 结尾的字符串。 + - text%:匹配以 “text” 开头的字符串。 + - %text%:匹配包含 “text” 的字符串。 - 下划线 `_` 通配符:表示匹配单个字符。 - - `te_t`:可以匹配 "text"、"test" 等。 + - `te_t`:可以匹配 “text”、“test” 等。 - 其他字符:`LIKE` 操作符对其他字符是大小写敏感的。 diff --git a/docs/MatrixOne-Cloud/Reference/Operators/operators/flow-control-functions/case-when.md b/docs/MatrixOne-Cloud/Reference/Operators/operators/flow-control-functions/case-when.md index 9f06b81..5e91926 100644 --- a/docs/MatrixOne-Cloud/Reference/Operators/operators/flow-control-functions/case-when.md +++ b/docs/MatrixOne-Cloud/Reference/Operators/operators/flow-control-functions/case-when.md @@ -29,8 +29,8 @@ CASE WHEN condition THEN result [WHEN condition THEN result ...] [ELSE result] E 如果没有一个 `value=compare_value` 或者 `condition` 为 `true`,那么就会返回 `ELSE` 对应的结果,如果没有 `ELSE` 分支,那么返回 `NULL`。 -!!! note "note" - `CASE` 语句不能有 `ELSE NULL` 从句, 并且 `CASE` 语句必须以 `END` 结尾。 +!!! note “note” + `CASE` 语句不能有 `ELSE NULL` 从句,并且 `CASE` 语句必须以 `END` 结尾。 ## **示例** diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Control-Language/alter-user.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Control-Language/alter-user.md index 1c21b16..a0a5060 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Control-Language/alter-user.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Control-Language/alter-user.md @@ -5,8 +5,8 @@ 修改数据库用户的属性和密码。 !!! note - 1. 租户可以修改它所创建的用户的密码,每次只修改 1 个用户的密码,修改后的密码将在下次登录生效,当前会话不会被中断。 - 2. 用户可以修改自己的密码,修改后的密码将在下次登录生效,当前会话不会被中断。 + 1。租户可以修改它所创建的用户的密码,每次只修改 1 个用户的密码,修改后的密码将在下次登录生效,当前会话不会被中断。 + 2。用户可以修改自己的密码,修改后的密码将在下次登录生效,当前会话不会被中断。 ## **语法结构** diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Control-Language/create-user.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Control-Language/create-user.md index 5e3a08f..fe501b6 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Control-Language/create-user.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Control-Language/create-user.md @@ -6,7 +6,7 @@ 使用 `CREATE USER`,你需要拥有 `CREATE USER` 权限。 -- 默认拥有 `CREATE USER` 权限的角色为 MOADMIN 或 ACCOUNTADMIN:集群管理员(默认账户为 root)和由集群管理员创建的租户管理员默认拥有权限。 +- 默认拥有 `CREATE USER` 权限的角色为 MOADMIN 或 ACCOUNTADMIN:集群管理员 (默认账户为 root) 和由集群管理员创建的租户管理员默认拥有权限。 ## **语法结构** @@ -34,7 +34,7 @@ create user user_name identified by 'password'; `CREATE USER` 允许这些 `auth_option`: -- 'auth_string':在 MatrixOne Cloud 中,'auth_string' 为密码,即将密码存储在 *mo_user* 系统表的帐户行中。 +- ‘auth_string’:在 MatrixOne Cloud 中,‘auth_string’ 为密码,即将密码存储在 *mo_user* 系统表的帐户行中。 #### DEFAULT ROLE diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Control-Language/grant.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Control-Language/grant.md index 47151c4..b86c67c 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Control-Language/grant.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Control-Language/grant.md @@ -6,7 +6,7 @@ ### GRANT 概述 -系统权限是 MatrixOne Cloud 实例 Admin 管理员的权限。Admin 管理员可以创建和删除其他*用户(Users)*,管理*用户(Users)*,并给他们授予角色与权限。 +系统权限是 MatrixOne Cloud 实例 Admin 管理员的权限。Admin 管理员可以创建和删除其他*用户 (Users)*,管理*用户 (Users)*,并给他们授予角色与权限。 要使用 `GRANT` 授予其他用户或角色权限,你首先必须具有 `WITH GRANT OPTION` 权限,并且你必须具有你正在授予的权限。了解你当前角色的授权情况或其他角色的授权情况,请使用 `SHOW GRANTS` 语句,更多信息,参见 [SHOW GRANTS](../Other/SHOW-Statements/show-grants.md)。 diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/alter-stage.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/alter-stage.md index ca2654c..f05503c 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/alter-stage.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/alter-stage.md @@ -5,7 +5,7 @@ `ALTER STAGE` 用于修改现有已命名的内部或外部阶段的属性。 !!! note - 集群管理员(即 root 用户)和租户管理员可以修改数据阶段。 + 集群管理员 (即 root 用户) 和租户管理员可以修改数据阶段。 ## **语法结构** @@ -36,11 +36,11 @@ ENABLE = { TRUE | FALSE } - `StageParams`:这是一个参数组,用于指定 Stage 的配置参数。 - - `endpoint`:Stage 的连接 URL,指定对象存储服务的位置。对于不同的对象存储服务(如 Amazon S3、Aliyun OSS、文件系统等),这个 URL 的内容可能有所不同。例如:s3.us-west-2.amazonaws.com + - `endpoint`:Stage 的连接 URL,指定对象存储服务的位置。对于不同的对象存储服务 (如 Amazon S3、Aliyun OSS、文件系统等),这个 URL 的内容可能有所不同。例如:s3.us-west-2.amazonaws.com - `CREDENTIALS`:这是一个 JSON 对象,包含连接到对象存储服务所需的凭证信息,如 `access_key_id`、`secret_access_key` 等。 -- `directoryTableParams`:这是一个参数组,用于指定 Stage 的目录表(directory table)的配置。 +- `directoryTableParams`:这是一个参数组,用于指定 Stage 的目录表 (directory table) 的配置。 - `ENABLE`:是否修改启用目录表,值为 `TRUE` 或 `FALSE`。 diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/alter-table.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/alter-table.md index 9ae4677..d9607aa 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/alter-table.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/alter-table.md @@ -54,10 +54,10 @@ table_option: { 1. `ALTER TABLE tbl_name`:表示修改名为 `tbl_name` 的表。 2. `alter_option`:表示可以执行一个或多个更改选项,用逗号分隔。 - - `table_options`:用于设置或修改表的选项,例如表的注释(COMMENT)。 - - `ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name]`:在表中添加一个新列,可以指定新列插入的位置(在某列之前或之后)。 + - `table_options`:用于设置或修改表的选项,例如表的注释 (COMMENT)。 + - `ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name]`:在表中添加一个新列,可以指定新列插入的位置 (在某列之前或之后)。 - `ADD [COLUMN] (col_name column_definition,...)`:同时添加多个新列。 - - `ADD {[INDEX | KEY] [index_name] [index_option] ...`:添加一个索引,可以指定索引名和索引选项(例如,注释)。 + - `ADD {[INDEX | KEY] [index_name] [index_option] ...`:添加一个索引,可以指定索引名和索引选项 (例如,注释)。 - `ADD [CONSTRAINT] UNIQUE [INDEX | KEY] [index_name][index_option] ...`:添加一个 UNIQUE 约束或 UNIQUE 索引。 - `ADD [CONSTRAINT] FOREIGN KEY [index_name] (col_name,...) reference_definition`:添加一个 FOREIGN KEY 约束。 - `ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (key_part,...)`:添加主键约束。 @@ -71,10 +71,10 @@ table_option: { - `MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name]`:修改列定义与顺序。 - `RENAME COLUMN old_col_name TO new_col_name`:重命名列。 -3. `key_part`:表示索引的组成部分,可以使用列名(在创建一个文本列的索引时,你可以为索引指定一个长度,字符长度可变。如果您在创建索引时使用列名且不指定长度,索引将会使用整个列的值作为索引组成部分。这在某些情况下可能导致性能降低,特别是在处理较大文本列或二进制数据列时。对于较小的数据类型,例如整数或日期,通常不需要指定长度)。 -4. `index_option`:表示索引的选项,例如注释(COMMENT)。 -5. `table_options`:表示表的选项,如表的注释(COMMENT)。 -6. `table_option`:具体的表选项,例如注释(COMMENT)。 +3. `key_part`:表示索引的组成部分,可以使用列名 (在创建一个文本列的索引时,你可以为索引指定一个长度,字符长度可变。如果您在创建索引时使用列名且不指定长度,索引将会使用整个列的值作为索引组成部分。这在某些情况下可能导致性能降低,特别是在处理较大文本列或二进制数据列时。对于较小的数据类型,例如整数或日期,通常不需要指定长度)。 +4. `index_option`:表示索引的选项,例如注释 (COMMENT)。 +5. `table_options`:表示表的选项,如表的注释 (COMMENT)。 +6. `table_option`:具体的表选项,例如注释 (COMMENT)。 ## **示例** diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/create-index.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/create-index.md index 479f267..0fcad9c 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/create-index.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/create-index.md @@ -6,7 +6,7 @@ 你无法看到索引,索引只能被用来加速搜索/查询。 -更新一个包含索引的表需要比更新一个没有索引的表花费更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。 +更新一个包含索引的表需要比更新一个没有索引的表花费更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列 (以及表) 上面创建索引。 索引有两种常见的类型,分别为: diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/create-sequence.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/create-sequence.md index ad8d5da..609a873 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/create-sequence.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/create-sequence.md @@ -2,7 +2,7 @@ ## **语法说明** -`CREATE SEQUENCE` 用户创建一个序列对象。序列(Sequence)是一种特殊的数据库对象,它可以被用来自动生成唯一的数字序列。通常情况下,序列被用来为一个表的主键字段自动生成唯一的值。 +`CREATE SEQUENCE` 用户创建一个序列对象。序列 (Sequence) 是一种特殊的数据库对象,它可以被用来自动生成唯一的数字序列。通常情况下,序列被用来为一个表的主键字段自动生成唯一的值。 `CREATE SEQUENCE` 是一种用于创建自增数字序列的命令,用于生成唯一的、连续的数字值,通常用于为主键列或其他需要自增数字的列生成值。 @@ -111,7 +111,7 @@ SELECT LASTVAL(); 要在表格中使用序列,需要完成以下步骤: -1. 创建一个序列对象:可以使用以下 SQL 命令创建一个名为 "my_sequence" 的序列: +1. 创建一个序列对象:可以使用以下 SQL 命令创建一个名为 “my_sequence” 的序列: ```sql CREATE SEQUENCE my_sequence; @@ -127,11 +127,11 @@ SELECT LASTVAL(); name VARCHAR(50)); ``` - 上面的例子中,"id" 字段将自动从序列中获取下一个唯一的值作为其默认值。 + 上面的例子中,“id” 字段将自动从序列中获取下一个唯一的值作为其默认值。 -3. 插入数据:表格和序列都已经定义完成后,可以使用 `INSERT` 语句来向表格中插入数据。当插入一行数据时,如果没有指定 "id" 字段的值,那么 MatrixOne 将会自动从序列中获取下一个唯一的值作为其默认值。 +3. 插入数据:表格和序列都已经定义完成后,可以使用 `INSERT` 语句来向表格中插入数据。当插入一行数据时,如果没有指定 “id” 字段的值,那么 MatrixOne 将会自动从序列中获取下一个唯一的值作为其默认值。 - 例如,下面的语句将会向 "my_table" 表格中插入一行数据,并且自动为 "id" 字段分配一个唯一的值: + 例如,下面的语句将会向 “my_table” 表格中插入一行数据,并且自动为 “id” 字段分配一个唯一的值: ```sql INSERT INTO my_table (name) VALUES ('John'); diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/create-stage.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/create-stage.md index 493a4d5..7a5d480 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/create-stage.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/create-stage.md @@ -2,11 +2,11 @@ ## **语法说明** -`CREATE STAGE` 用于在 MatrixOne Cloud 数据库中创建一个命名的内部或外部数据阶段(Stage),用于**数据导出**,你可以创建一个数据阶段,通过将数据导出到数据阶段,你可以将数据文件下载到本地或将其存储在云存储服务中。 +`CREATE STAGE` 用于在 MatrixOne Cloud 数据库中创建一个命名的内部或外部数据阶段 (Stage),用于**数据导出**,你可以创建一个数据阶段,通过将数据导出到数据阶段,你可以将数据文件下载到本地或将其存储在云存储服务中。 -- **内部阶段(Internal Stage)**:内部阶段将数据文件存储在 MatrixOne Cloud 内部。内部阶段可以是永久性的或临时性的。 +- **内部阶段 (Internal Stage)**:内部阶段将数据文件存储在 MatrixOne Cloud 内部。内部阶段可以是永久性的或临时性的。 -- **外部阶段(External Stage)**:外部阶段引用存储在 MatrixOne Cloud 之外位置的数据文件。目前,支持以下云存储服务: +- **外部阶段 (External Stage)**:外部阶段引用存储在 MatrixOne Cloud 之外位置的数据文件。目前,支持以下云存储服务: - Amazon S3 存储桶 - Aliyun 存储桶 @@ -22,8 +22,8 @@ - 如果不使用 `STAGE`,用户 `SELECT INTO` 时必须强行加入 `credential` 信息。 !!! note - 1. 集群管理员(即 root 用户)和租户管理员可以创建数据阶段。 - 2. 创建完成数据阶段以后,数据表只能导入至 STAGE 指定路径。 + 1。集群管理员 (即 root 用户) 和租户管理员可以创建数据阶段。 + 2。创建完成数据阶段以后,数据表只能导入至 STAGE 指定路径。 ## **语法结构** @@ -54,11 +54,11 @@ ENABLE = { TRUE | FALSE } - `StageParams`:这是一个参数组,用于指定 Stage 的配置参数。 - - `endpoint`:Stage 的连接 URL,指定对象存储服务的位置。对于不同的对象存储服务(如 Amazon S3、Aliyun OSS、文件系统等),这个 URL 的内容可能有所不同。例如:s3.us-west-2.amazonaws.com + - `endpoint`:Stage 的连接 URL,指定对象存储服务的位置。对于不同的对象存储服务 (如 Amazon S3、Aliyun OSS、文件系统等),这个 URL 的内容可能有所不同。例如:s3.us-west-2.amazonaws.com - `CREDENTIALS`:这是一个 JSON 对象,包含连接到对象存储服务所需的凭证信息,如 `access_key_id`、`secret_access_key` 等。 -- `directoryTableParams`:这是一个参数组,用于指定 Stage 的目录表(directory table)的配置。 +- `directoryTableParams`:这是一个参数组,用于指定 Stage 的目录表 (directory table) 的配置。 - `ENABLE`:是否启用目录表,值为 `TRUE` 或 `FALSE`。 diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/create-table.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/create-table.md index a78c4fc..f10cd4c 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/create-table.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/create-table.md @@ -134,7 +134,7 @@ partition_definition: `AUTO_INCREMENT`:表的初始值,初始值默认从 1 开始,每条新纪录递增 1,且数据列的值必须唯一。 - 设置 `AUTO_INCREMENT` 的列,需为整数或者浮点数据类型。 -- 自增列需要设置为 `NOT NULL`,否则会直接存储 `NULL`。当你将 NULL(推荐)或 0 值插入索引的 `AUTO_INCREMENT` 列时,该列将设置为下一个序列值。通常这是 *value+1*,其中 *value* 是表中当前列的最大值。 +- 自增列需要设置为 `NOT NULL`,否则会直接存储 `NULL`。当你将 NULL (推荐) 或 0 值插入索引的 `AUTO_INCREMENT` 列时,该列将设置为下一个序列值。通常这是 *value+1*,其中 *value* 是表中当前列的最大值。 - 每个表只能有一个 `AUTO_INCREMENT` 列,它必须可以被索引,且不能设置默认值。`AUTO_INCREMENT` 列需要含有正数值,如果插入一个负数被判断为插入一个非常大的正数,这样做是为了避免数字出现精度问题,并确保不会意外出现包含 0 的 `AUTO_INCREMENT` 列。 @@ -150,8 +150,8 @@ create table t1(id int auto_increment primary key) auto_increment = 10; 在这个例子中,`id` 列是自增列,其起始值为 10,当向表中插入新记录时,`id` 列的值将从 10 开始,每次自动递增 1。如果没有指定 `AUTO_INCREMENT` 的起始值,默认起始值为 1,每次自动递增 1。 !!! note - 1. MatrixOne Cloud 目前仅支持默认的递增步长为 1,无论自增列的初始值为何,每次自动递增都为 1。暂时不支持设置递增步长大小。 - 2. MatrixOne Cloud 仅语法上支持使用系统变量 `set @@auto_increment_offset=n` 来设置自增列初始值,实际并不生效。 + 1。MatrixOne Cloud 目前仅支持默认的递增步长为 1,无论自增列的初始值为何,每次自动递增都为 1。暂时不支持设置递增步长大小。 + 2。MatrixOne Cloud 仅语法上支持使用系统变量 `set @@auto_increment_offset=n` 来设置自增列初始值,实际并不生效。 #### PRIMARY KEY @@ -174,7 +174,7 @@ create table t1(id int auto_increment primary key) auto_increment = 10; ``` !!! Note 注意区分 - 上述示例中只有一个主键,并且其中仅包含了一列(`ID`) + 上述示例中只有一个主键,并且其中仅包含了一列 (`ID`) 而下面 SQL 语句在创建 `Students` 表时,在其中的 `ID` 和 `LastName` 列创建主键: @@ -190,7 +190,7 @@ create table t1(id int auto_increment primary key) auto_increment = 10; #### FOREIGN KEY -FOREIGN KEY 约束,即外键约束,是表的一个特殊字段,经常与主键约束一起使用。外键约束是用于防止破坏表之间链接的行为。对于两个具有关联关系的表而言,相关联字段中主键所在的表就是主表(父表),外键所在的表就是从表(子表)。外键用来建立主表与从表的关联关系,为两个表的数据建立连接,约束两个表中数据的一致性和完整性。 +FOREIGN KEY 约束,即外键约束,是表的一个特殊字段,经常与主键约束一起使用。外键约束是用于防止破坏表之间链接的行为。对于两个具有关联关系的表而言,相关联字段中主键所在的表就是主表 (父表),外键所在的表就是从表 (子表)。外键用来建立主表与从表的关联关系,为两个表的数据建立连接,约束两个表中数据的一致性和完整性。 FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。 @@ -280,7 +280,7 @@ CREATE TABLE Orders ( - 单列语法为:`create table() cluster by col;` - 多列语法为:`create table() cluster by (col1, col2);` -**Note:** `Cluster by` 不能和主键同时存在,否则会语法报错;`Cluster by` 只能在建表时指定,不支持动态创建。 +**Note:**`Cluster by` 不能和主键同时存在,否则会语法报错;`Cluster by` 只能在建表时指定,不支持动态创建。 #### Table PARTITION 和 PARTITIONS @@ -340,7 +340,7 @@ CREATE TABLE t1 (col1 INT, col2 CHAR(5), col3 DATETIME) · KEY 分区,按照某个字段取余。分区对象必须为列,不能是基于列的表达式,且允许多列。KEY 分区列可以不指定,默认为主键列或者唯一键列,无主键和唯一键的情况下,则必须显性指定列。 -类似于 `HASH`。`column_list` 参数只是一个包含 1 个或多个表列的列表(最大值:16)。下面的示例为一个按 `KEY` 分区的简单表,有 4 个分区: +类似于 `HASH`。`column_list` 参数只是一个包含 1 个或多个表列的列表 (最大值:16)。下面的示例为一个按 `KEY` 分区的简单表,有 4 个分区: ``` CREATE TABLE tk (col1 INT, col2 CHAR(5), col3 DATE) diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/drop-stage.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/drop-stage.md index a83d0e2..f7fb850 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/drop-stage.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/drop-stage.md @@ -5,7 +5,7 @@ `DROP STAGE` 用于从数据库中删除一个已命名的内部或外部数据阶段。数据阶段是用于加载数据从文件到数据库表中,或将数据从数据库表导出到文件的临时存储区域。使用 `DROP STAGE` 命令可以将不再需要的数据阶段从数据库中移除,从而释放存储空间并避免产生额外的存储费用。 !!! note - 集群管理员(即 root 用户)和租户管理员可以删除数据阶段。 + 集群管理员 (即 root 用户) 和租户管理员可以删除数据阶段。 ## **语法结构** diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/mo-partition-support.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/mo-partition-support.md index 47ed300..b08d117 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/mo-partition-support.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/mo-partition-support.md @@ -1,19 +1,19 @@ # MatrixOne Cloud DDL 语句分区支持的说明 -## 1. MatrixOne Cloud 支持的分区类型 +## 1。MatrixOne Cloud 支持的分区类型 目前 MatrixOne Cloud 的 DDL 语句支持的 6 种分区类型,与 MySQL 官网基本一致,具体如下: - KEY Partitioning - HASH Partitioning -目前支持子分区(Subpartitioning)语法,但是不支持计划构建。 +目前支持子分区 (Subpartitioning) 语法,但是不支持计划构建。 -## 2. 关于分区键的说明 +## 2。关于分区键的说明 -### Partition Keys, Primary Keys 和 Unique Keys 的关系 +### Partition Keys,Primary Keys 和 Unique Keys 的关系 -分区键(Partition Keys)、主键(Primary Keys)和唯一键(Unique Keys)的关系规则可以概括为: +分区键 (Partition Keys)、主键 (Primary Keys) 和唯一键 (Unique Keys) 的关系规则可以概括为: 分区表的分区表达式中使用的所有列必须是该表可能具有的每个唯一键的一部分。 @@ -56,7 +56,7 @@ ERROR 1503 (HY000): A PRIMARY KEY must include all columns in the table's partit 1. KEY 只接受零个或多个列名的列表。在表有主键的情况下,用作分区键的任何列必须包含表主键的一部分或全部。 - 如果没有指定列名作为分区键,则使用表的主键(如果有)。例如,以下 `CREATE TABLE` 语句在 MatrixOne Cloud 中有效。 + 如果没有指定列名作为分区键,则使用表的主键 (如果有)。例如,以下 `CREATE TABLE` 语句在 MatrixOne Cloud 中有效。 2. 如果没有主键,但有 UNIQUE KEY,那么 UNIQUE KEY 用于分区键。 @@ -77,7 +77,7 @@ PARTITIONS 4; !!! note 其他分区规则与 MySQL 基本保持一致。 -## 3. 关于 MatrixOne Cloud 分区表达式的说明 +## 3。关于 MatrixOne Cloud 分区表达式的说明 ​ 在 DDL 语句构建分区表时,会针对每一种分区定义生成一个分区表达式,该分区表达式可用于计算数据的所属的分区。 diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/truncate-table.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/truncate-table.md index 7b1cd96..cc42f43 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/truncate-table.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Definition-Language/truncate-table.md @@ -10,9 +10,9 @@ - 如果表具有 `AUTO_INCREMENT` 列,则 `TRUNCATE TABLE` 语句将自动递增值重置为零。 -- 如果表具有任何外键约束(`FOREIGN KEY`),则 `TRUNCATE TABLE` 语句会逐个删除行。 +- 如果表具有任何外键约束 (`FOREIGN KEY`),则 `TRUNCATE TABLE` 语句会逐个删除行。 -- 如果表没有任何外键约束(`FOREIGN KEY`),则 `TRUNCATE TABLE` 语句将删除该表并重新创建一个具有相同结构的新表 +- 如果表没有任何外键约束 (`FOREIGN KEY`),则 `TRUNCATE TABLE` 语句将删除该表并重新创建一个具有相同结构的新表 `DROP TABLE`、`TRUNCATE TABLE` 和 `DELETE TABLE` 的区别: diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/information-functions/last-insert-id.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/information-functions/last-insert-id.md index 4c5f05e..06298e4 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/information-functions/last-insert-id.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/information-functions/last-insert-id.md @@ -4,7 +4,7 @@ 若表中含自增字段 `AUTO_INCREMENT`,则向表中插入一条记录后,可以调用 `LAST_INSERT_ID()` 来获得最近插入的那行记录的自增字段值。 -如果没有插入参数,LAST_INSERT_ID() 返回一个 BIGINT UNSIGNED(64 位)值,该值表示作为最近执行的 INSERT 语句的结果成功插入到 `AUTO_INCREMENT` 列的第一个自动生成的值。返回值取决于之前 `AUTO_INCREMENT` 列的值,如果你之前没有插入一个列,那么返回值从 1 开始,如果你之前插入了一个列,那么返回值为 `AUTO_INCREMENT` 列的值增加 1。 +如果没有插入参数,LAST_INSERT_ID() 返回一个 BIGINT UNSIGNED (64 位) 值,该值表示作为最近执行的 INSERT 语句的结果成功插入到 `AUTO_INCREMENT` 列的第一个自动生成的值。返回值取决于之前 `AUTO_INCREMENT` 列的值,如果你之前没有插入一个列,那么返回值从 1 开始,如果你之前插入了一个列,那么返回值为 `AUTO_INCREMENT` 列的值增加 1。 如果没有成功插入参数,`LAST_INSERT_ID()` 的值保持不变。 diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/information-functions/last-query-id.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/information-functions/last-query-id.md index 86c0a84..bd89b90 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/information-functions/last-query-id.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/information-functions/last-query-id.md @@ -26,7 +26,7 @@ num 为正数,即从会话中执行的第一个查询开始。例如: num 为负数,即从会话中最近执行的查询开始。例如: -- `LAST_QUERY_ID(-1)`:返回最近执行的查询(相当于 LAST_QUERY_ID())。 +- `LAST_QUERY_ID(-1)`:返回最近执行的查询 (相当于 LAST_QUERY_ID())。 - `LAST_QUERY_ID(-2)`:返回最近执行的第二个查询。 diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/insert-on-duplicate.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/insert-on-duplicate.md index 7ea9d50..0bcae3b 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/insert-on-duplicate.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/insert-on-duplicate.md @@ -63,4 +63,4 @@ mysql> select * from user; ## **限制** -`INSERT ... ON DUPLICATE KEY UPDATE` 当前还不支持唯一键(Unique key),由于唯一键可以为 `NULL`,可能会导致一些未知错误。 +`INSERT ... ON DUPLICATE KEY UPDATE` 当前还不支持唯一键 (Unique key),由于唯一键可以为 `NULL`,可能会导致一些未知错误。 diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/load-data-inline.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/load-data-inline.md index 8d64396..7542e98 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/load-data-inline.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/load-data-inline.md @@ -25,7 +25,7 @@ INTO TABLE tbl_name; ### 示例:使用 `LOAD DATA INLINE` 导入数据 -1. 在执行 `LOAD DATA INLINE` 之前,需要提前在数据库中创建完成数据表 `user`: +1. 在执行 `LOAD DATA INLINE` 之前,需要提前在数据库中创建完成数据表 `user`: ```mysql diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/load-data-support.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/load-data-support.md index 3a71e02..efd466c 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/load-data-support.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/load-data-support.md @@ -33,14 +33,14 @@ LOAD DATA - REPLACE - PARTITION - CHARACTER SET:目前仅支持 UTF8 -- FIELDS TERMINATED BY 'string':simdcsv 不接受 \r,\n,Unicode replacement character (0xFFFD). -- FIELDS [OPTIONALLY] ENCLOSED BY 'char':simdCSV 固定是 `"`。 -- FIELDS ESCAPED BY 'char': simdcsv 暂不支持。 -- LINES STARTING BY 'string': simdcsv 不支持。'#' 是第一个字符的行都会被过滤掉。 -- LINES TERMINATED BY 'string': simdcsv 不支持修改。固定 '\n',`\r\n`. +- FIELDS TERMINATED BY ‘string’:simdcsv 不接受 \r,\n,Unicode replacement character (0xFFFD)。 +- FIELDS [OPTIONALLY] ENCLOSED BY ‘char’:simdCSV 固定是 `"`。 +- FIELDS ESCAPED BY ‘char’:simdcsv 暂不支持。 +- LINES STARTING BY ‘string’:simdcsv 不支持。‘#’ 是第一个字符的行都会被过滤掉。 +- LINES TERMINATED BY ‘string’:simdcsv 不支持修改。固定 ‘\n’,`\r\n`。 - user_var:不支持。变量对应的数据列,被过滤掉。 -- SET col_name={expr | DEFAULT}: 不支持。 -- LOW_PRIORITY: 不支持 +- SET col_name={expr | DEFAULT}:不支持。 +- LOW_PRIORITY:不支持 - CONCURRENT:不支持 - LOCAL:不支持。local 需要从 client 端将数据传输到 server 端。 diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/load-data.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/load-data.md index e05ad1d..067e036 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/load-data.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/load-data.md @@ -51,7 +51,7 @@ LOAD DATA INFILE '/tmp/test.txt' INTO TABLE table1 IGNORE 1 LINES; 对于 `LOAD DATA` 和 `SELECT ... INTO OUTFILE` 语句,`FIELDS` 和 `LINES` 子句的语法是相同的。这两个子句都是可选的,但如果两者都指定,则 `FIELDS` 必须在 `LINES` 之前。 -如果指定 `FIELDS` 子句,那么 `FIELDS` 的每个子句(`TERMINATED BY`、`[OPTIONALLY] ENCLOSED BY`)也是可选的,但是你必须至少指定其中一个。 +如果指定 `FIELDS` 子句,那么 `FIELDS` 的每个子句 (`TERMINATED BY`、`[OPTIONALLY] ENCLOSED BY`) 也是可选的,但是你必须至少指定其中一个。 `LOAD DATA` 也支持使用十六进制 `ASCII` 字符表达式或二进制 `ASCII` 字符表达式作为 `FIELDS ENCLOSED BY` 和 `FIELDS TERMINATED BY` 的参数。 @@ -119,7 +119,7 @@ LOAD DATA LOCAL INFILE 'data.txt' INTO TABLE table1 **LINE STARTING BY** -如果所有输入行都有一个你想忽略的公共前缀,你可以使用 `LINES STARTING BY` 'prefix_string' 来忽略前缀和前缀之前的任何内容。 +如果所有输入行都有一个你想忽略的公共前缀,你可以使用 `LINES STARTING BY` ‘prefix_string’ 来忽略前缀和前缀之前的任何内容。 如果一行不包含前缀,则跳过整行。如下语句所示: @@ -136,7 +136,7 @@ something xxx"def",2 "ghi",3 ``` -则输出的结果行是 ("abc",1) 和 ("def",2)。文件中的第三行由于没有前缀,则被忽略。 +则输出的结果行是 (“abc”,1) 和 (“def”,2)。文件中的第三行由于没有前缀,则被忽略。 ### SET @@ -204,19 +204,19 @@ load data local infile 'file_name' into table tbl_name FIELDS TERMINATED BY '|' !!! note `[PARALLEL {'TRUE' | 'FALSE'}]` 内字段,当前仅支持 `TRUE` 或 `FALSE`,且大小写不敏感。 -**Note:** `LOAD` 语句中如果不加 `PARALLEL` 字段,对于 *CSV* 文件,是默认关闭并行加载;对于 *JSONLines* 文件,默认开启并行加载。如果 *CSV* 文件中有行结束符,比如 '\n',那么有可能会导致文件加载时数据出错。如果文件过大,建议从换行符为起止点手动拆分文件后再开启并行加载。 +**Note:**`LOAD` 语句中如果不加 `PARALLEL` 字段,对于 *CSV* 文件,是默认关闭并行加载;对于 *JSONLines* 文件,默认开启并行加载。如果 *CSV* 文件中有行结束符,比如 ‘\n’,那么有可能会导致文件加载时数据出错。如果文件过大,建议从换行符为起止点手动拆分文件后再开启并行加载。 ## 支持的文件格式 在 MatrixOne Cloud 当前版本中,`LOAD DATA` 支持 *CSV* 格式和 *JSONLines* 格式文件。 -有关导入这两种格式的文档,参见[导入*. csv* 格式数据](../../../App-Develop/import-data/bulk-load/load-csv.md)和[导入 JSONLines 数据](../../../App-Develop/import-data/bulk-load/load-jsonline.md)。 +有关导入这两种格式的文档,参见[导入*。csv* 格式数据](../../../App-Develop/import-data/bulk-load/load-csv.md)和[导入 JSONLines 数据](../../../App-Develop/import-data/bulk-load/load-jsonline.md)。 ### *CSV* 格式标准说明 MatrixOne Cloud 加载 *CSV* 格式符合 RFC4180 标准,规定 *CSV* 格式如下: -1. 每条记录位于单独的一行,由换行符(CRLF)分隔: +1. 每条记录位于单独的一行,由换行符 (CRLF) 分隔: ``` aaa,bbb,ccc CRLF @@ -232,7 +232,7 @@ MatrixOne Cloud 加载 *CSV* 格式符合 RFC4180 标准,规定 *CSV* 格式 | zzz | yyy | xxx | +---------+---------+---------+ -2. 文件中最后一条记录可以有结束换行符,也可以无结束换行符(CRLF): +2. 文件中最后一条记录可以有结束换行符,也可以无结束换行符 (CRLF): ``` aaa,bbb,ccc CRLF @@ -320,7 +320,7 @@ MatrixOne Cloud 加载 *CSV* 格式符合 RFC4180 标准,规定 *CSV* 格式 | zzz | yyy | xxx | +---------+---------+---------+ -6. 包含换行符(CRLF)、双引号和逗号的字段应该用双引号引起来。例如: +6. 包含换行符 (CRLF)、双引号和逗号的字段应该用双引号引起来。例如: ``` "aaa","b CRLF @@ -472,7 +472,7 @@ mysql> select * from t1; 可以看到,查询结果忽略了前 10 行,并且忽略了公共前缀 aa。 -有关如何导入 *CSV* 格式文件的详细步骤,参见[导入*. csv* 格式数据](../../../App-Develop/import-data/bulk-load/load-csv.md)。 +有关如何导入 *CSV* 格式文件的详细步骤,参见[导入*。csv* 格式数据](../../../App-Develop/import-data/bulk-load/load-csv.md)。 ### 示例 2:LOAD JSONLines @@ -543,7 +543,7 @@ mysql> select * from t1; 1. `REPLACE` 和 `IGNORE` 修饰符用来解决唯一索引的冲突:`REPLACE` 表示若表中已经存在,则用新的数据替换掉旧的数据;`IGNORE` 则表示保留旧的数据,忽略掉新数据。这两个修饰符在 MatrixOne Cloud 中尚不支持。 2. MatrixOne Cloud 当前部分支持 `SET`,仅支持 `SET columns_name=nullif(col_name,expr2)`。 -3. 开启并行加载操作时必须要保证文件中每行数据中不包含指定的行结束符,比如 '\n',否则有可能会导致文件加载时数据出错。 +3. 开启并行加载操作时必须要保证文件中每行数据中不包含指定的行结束符,比如 ‘\n’,否则有可能会导致文件加载时数据出错。 4. 文件的并行加载要求文件必须是非压缩格式,暂不支持并行加载压缩格式的文件。 5. 如果你需要用 `LOAD DATA LOCAL` 进行本地加载,则需要使用命令行连接 MatrixOne Cloud 服务主机:`mysql -h -P 6001 -uroot -p111 --local-infile`。 6. MatrixOne Cloud 当前暂不支持 `ESCAPED BY`,写入或读取特殊字符与 MySQL 存在一定的差异。 diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/replace.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/replace.md index 628a45a..bc43d5e 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/replace.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Manipulation-Language/replace.md @@ -46,21 +46,21 @@ assignment_list: 以下是各个参数的解释: -1. `INTO`: 可选关键字,表示向哪张表插入数据或更新数据。 +1. `INTO`:可选关键字,表示向哪张表插入数据或更新数据。 -2. `tbl_name`: 表示要插入或更新数据的表的名称。 +2. `tbl_name`:表示要插入或更新数据的表的名称。 -3. `col_name`: 可选参数,表示要插入或更新的列名。在插入形式中,可以通过列名指定要插入的列;在更新形式中,指定要更新的列。 +3. `col_name`:可选参数,表示要插入或更新的列名。在插入形式中,可以通过列名指定要插入的列;在更新形式中,指定要更新的列。 -4. `value`: 表示要插入或更新的值。可以是具体的表达式(expr)或默认值(DEFAULT)。 +4. `value`:表示要插入或更新的值。可以是具体的表达式 (expr) 或默认值 (DEFAULT)。 -5. `value_list`: 表示一组要插入的值。多个值之间用逗号分隔。 +5. `value_list`:表示一组要插入的值。多个值之间用逗号分隔。 -6. (暂不支持)`row_constructor_list`: 表示用于插入的一组值构成的行。每一行的值使用括号括起来,并用逗号分隔。 +6. (暂不支持) `row_constructor_list`:表示用于插入的一组值构成的行。每一行的值使用括号括起来,并用逗号分隔。 -7. `assignment`: 表示一个列名和其对应的值的关联,用于更新形式。 +7. `assignment`:表示一个列名和其对应的值的关联,用于更新形式。 -8. `assignment_list`: 表示多个列名和对应值的关联,用于更新形式。多个列名和值之间用逗号分隔。 +8. `assignment_list`:表示多个列名和对应值的关联,用于更新形式。多个列名和值之间用逗号分隔。 !!! note - 当使用插入形式时,可以使用 `VALUES` 关键字后跟 `value_list` 或 `row_constructor_list` 来插入数据。`VALUES` 后跟 `value_list` 表示插入一行数据,`VALUES` 后跟 `row_constructor_list` 表示插入多行数据。 diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/join/full-join.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/join/full-join.md index af9cfbc..c6f92cd 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/join/full-join.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/join/full-join.md @@ -2,7 +2,7 @@ ## **语法说明** -``FULL JOIN`` 关键字只要左表(table1)和右表(table2)其中一个表中存在匹配,则返回行。 +``FULL JOIN`` 关键字只要左表 (table1) 和右表 (table2) 其中一个表中存在匹配,则返回行。 ``FULL JOIN`` 关键字结合了 ``LEFT JOIN`` 和 ``RIGHT JOIN`` 的结果。 diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/join/inner-join.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/join/inner-join.md index 07ef310..eb15bf0 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/join/inner-join.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/join/inner-join.md @@ -2,7 +2,7 @@ ## **语法说明** -``INNER JOIN`` 选取两个表中具有匹配值的数据记录。(等同于 ``JOIN``) +``INNER JOIN`` 选取两个表中具有匹配值的数据记录。(等同于 ``JOIN``) ## **语法结构** diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/join/left-join.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/join/left-join.md index 7eb29e4..216ee2c 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/join/left-join.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/join/left-join.md @@ -2,7 +2,7 @@ ## **语法说明** -``LEFT JOIN`` 关键字从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 ``NULL``。 +``LEFT JOIN`` 关键字从左表 (table1) 返回所有的行,即使右表 (table2) 中没有匹配。如果右表中没有匹配,则结果为 ``NULL``。 **说明**:在一些数据库中:``LEFT JOIN`` 等同于 ``LEFT OUTER JOIN``。 diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/join/outer-join.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/join/outer-join.md index 7b68ff7..1e31c64 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/join/outer-join.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/join/outer-join.md @@ -4,9 +4,9 @@ 在 ``OUTER JOIN`` 中,可以返回一个或两个表中的不匹配行。``OUT JOIN`` 请参考: -- ``LEFT JOIN`` 关键字从左表(table1)返回所有的行。参见 [LEFT JOIN](left-join.md). -- ``RIGHT JOIN`` 关键字从右表(table2)返回所有的行。参见 [RIGHT JOIN](right-join.md). -- ``FULL OUTER JOIN`` 关键字只要左表(table1)和右表(table2)其中一个表中存在匹配,则返回行。参见 [FULL JOIN](full-join.md). +- ``LEFT JOIN`` 关键字从左表 (table1) 返回所有的行。参见 [LEFT JOIN](left-join.md)。 +- ``RIGHT JOIN`` 关键字从右表 (table2) 返回所有的行。参见 [RIGHT JOIN](right-join.md)。 +- ``FULL OUTER JOIN`` 关键字只要左表 (table1) 和右表 (table2) 其中一个表中存在匹配,则返回行。参见 [FULL JOIN](full-join.md)。 # **示例** diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/join/right-join.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/join/right-join.md index 2c8e56e..2da91ac 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/join/right-join.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/join/right-join.md @@ -2,7 +2,7 @@ ## **语法说明** -``RIGHT JOIN`` 关键字从右表(table2)返回所有的行,即使左表(table1)中没有匹配。如果左表中没有匹配,则结果为 ``NULL``。 +``RIGHT JOIN`` 关键字从右表 (table2) 返回所有的行,即使左表 (table1) 中没有匹配。如果左表中没有匹配,则结果为 ``NULL``。 **说明**:在一些数据库中:``RIGHT JOIN`` 等同于 ``RIGHT OUTER JOIN``。 diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/select.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/select.md index 23d9916..60e7325 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/select.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/select.md @@ -52,7 +52,7 @@ SELECT t1.*, t2.* FROM t1 #### `WHERE` -`WHERE` 子句(如果给定)指示要选择行必须满足的一个或多个条件。`where_condition` 表达式,对于要选择的每一行计算结果为真。如果没有 `WHERE` 子句,该语句将选择所有行。 +`WHERE` 子句 (如果给定) 指示要选择行必须满足的一个或多个条件。`where_condition` 表达式,对于要选择的每一行计算结果为真。如果没有 `WHERE` 子句,该语句将选择所有行。 #### `GROUP BY` @@ -70,7 +70,7 @@ SELECT t1.*, t2.* FROM t1 #### `ORDER BY` -`ORDER BY` 默认为升序;可以使用 ASC 关键字明确指定。要以相反的顺序排序,请将(降序)关键字添加到你作为排序依据 DESC 的子句中的列的名称。 +`ORDER BY` 默认为升序;可以使用 ASC 关键字明确指定。要以相反的顺序排序,请将 (降序) 关键字添加到你作为排序依据 DESC 的子句中的列的名称。 #### `LIMIT` @@ -80,7 +80,7 @@ SELECT t1.*, t2.* FROM t1 `SELECT...FOR UPDATE` 主要用于在事务处理中锁定一组数据行,以防止被其他并发的事务修改。这个语句最常用于处理**读 - 改 - 写**场景,也就是说,当你需要读取一组数据,对其进行更改,然后将结果写回数据库,而在此过程中你不希望其他事务修改这组数据。 -在一个事务中使用 `SELECT FOR UPDATE` 可以锁定所选的行,直到事务结束(通过提交或回滚)才释放锁。这样,其他尝试修改这些行的事务将被阻塞,直到第一个事务完成。 +在一个事务中使用 `SELECT FOR UPDATE` 可以锁定所选的行,直到事务结束 (通过提交或回滚) 才释放锁。这样,其他尝试修改这些行的事务将被阻塞,直到第一个事务完成。 参见下面的例子: diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/subqueries/derived-tables.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/subqueries/derived-tables.md index fb11cde..8d5a63a 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/subqueries/derived-tables.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/subqueries/derived-tables.md @@ -63,7 +63,7 @@ mysql> SELECT sc1, sc2, sc3 FROM (SELECT c1 AS sc1, c2 AS sc2, c3*3 AS sc3 FROM 2 rows in set (0.02 sec) ``` -- **Subquery with Join**: +- **Subquery with Join**: ```sql > create table t1 (libname1 varchar(21) not null primary key, city varchar(20)); diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/subqueries/subquery-with-any-some.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/subqueries/subquery-with-any-some.md index c223127..f82c3d5 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/subqueries/subquery-with-any-some.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/subqueries/subquery-with-any-some.md @@ -2,7 +2,7 @@ ## **语法描述** -由于列子查询返回的结果集是多行一列,因此不能直接使用(=,>,<,>=,<=,<>)这些比较操作符。在列子查询中可以使用 `ANY`、`SOME` 操作符与比较操作符联合使用: +由于列子查询返回的结果集是多行一列,因此不能直接使用 (=,>,<,>=,<=,<>) 这些比较操作符。在列子查询中可以使用 `ANY`、`SOME` 操作符与比较操作符联合使用: - `ANY`:与比较操作符联合使用,表示与子查询返回的任何值比较为 `TRUE`,则返回结果为 `true`。 - `SOME`:`ANY` 的别名,与 `ANY` 意义相同,但较少使用。 diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/subqueries/subquery-with-exists.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/subqueries/subquery-with-exists.md index d62d8b8..bdfc1b4 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/subqueries/subquery-with-exists.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/subqueries/subquery-with-exists.md @@ -2,7 +2,7 @@ ## **语法描述** -`EXISTS` 用于检查子查询是否至少会返回一行数据。即将主查询的数据,放到子查询中做条件验证,根据验证结果(TRUE 或 FALSE)来决定主查询的数据结果是否得以保留。 +`EXISTS` 用于检查子查询是否至少会返回一行数据。即将主查询的数据,放到子查询中做条件验证,根据验证结果 (TRUE 或 FALSE) 来决定主查询的数据结果是否得以保留。 如果子查询返回任何行,`EXISTS` 子查询条件为 `TRUE`,`NOT EXISTS` 子查询条件为 `FALSE`。 diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/subqueries/subquery-with-in.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/subqueries/subquery-with-in.md index 01a225f..e8c443e 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/subqueries/subquery-with-in.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/subqueries/subquery-with-in.md @@ -2,7 +2,7 @@ ## **语法描述** -子查询可以与 `IN` 操作符一起使用,作为“表达式 IN (子查询)”,查询某个范围内的数据。子查询应该返回带有一行或多行的单个列,以形成 `IN` 操作使用的值列表。 +子查询可以与 `IN` 操作符一起使用,作为 “表达式 IN (子查询)”,查询某个范围内的数据。子查询应该返回带有一行或多行的单个列,以形成 `IN` 操作使用的值列表。 对多记录、单列子查询使用 `IN` 子句。子查询返回 `IN` 或 `NOT IN` 引入的结果后,外部查询使用它们返回最终结果。 diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/subqueries/subquery.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/subqueries/subquery.md index 5621457..232a4e3 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/subqueries/subquery.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/subqueries/subquery.md @@ -8,7 +8,7 @@ SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2); ``` -在示例中,`SELECT * FROM t1 WHERE column1` 是外部查询(或外部语句),`(SELECT column1 FROM t2)` 是子查询。子查询语句必须写在括号内,然后嵌套在外部查询语句中,也可以嵌套在其他子查询语句中,形成多层嵌套。 +在示例中,`SELECT * FROM t1 WHERE column1` 是外部查询 (或外部语句),`(SELECT column1 FROM t2)` 是子查询。子查询语句必须写在括号内,然后嵌套在外部查询语句中,也可以嵌套在其他子查询语句中,形成多层嵌套。 **子查询的主要优点**: diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/union-intersect-minus-overview.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/union-intersect-minus-overview.md index caf7558..da9a419 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/union-intersect-minus-overview.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/union-intersect-minus-overview.md @@ -1,4 +1,4 @@ -# 组合查询 (UNION, INTERSECT, MINUS) +# 组合查询 (UNION,INTERSECT,MINUS) 两个查询的结果可以使用 `UNION`,`INTERSECT` 和 `MINUS` 语法进行组合查询。 @@ -10,15 +10,15 @@ query1 INTERSECT [ALL] query2 query1 MINUS [ALL] query2 ``` -__Tips:__ *query1* 和 *query2* 是可以使用到目前为止讨论的任何功能的查询。 +__Tips:__*query1* 和 *query2* 是可以使用到目前为止讨论的任何功能的查询。 -`UNION` 有效地将 *query2* 的结果合并到 *query1* 的结果中(但不能保证这是返回行的顺序)。此外,它与 `DISTINCT` 语法相同,即从结果中消除重复行;使用了 `UNION ALL`,即从结果中不消除重复行。 +`UNION` 有效地将 *query2* 的结果合并到 *query1* 的结果中 (但不能保证这是返回行的顺序)。此外,它与 `DISTINCT` 语法相同,即从结果中消除重复行;使用了 `UNION ALL`,即从结果中不消除重复行。 `INTERSECT` 返回 *query1* 和 *query2* 相交的结果中的所有行。不使用 `INTERSECT ALL`,则消除结果中的重复的行;使用 `INTERSECT ALL`,不消除结果中的重复的行。 `MINUS` 返回 *query1* 结果,但不在 *query2* 中的所有行。即 *query1* 和 *query2* 的结果的差集。同样,不使用 `MINUS ALL`,则消除结果中的重复的行;使用 `MINUS ALL`,不消除结果中的重复的行。 -要计算两个查询的并集、交集或差集,这两个查询必须是“并集兼容的”,这意味着它们返回相同数量的列并且对应的列具有兼容的数据类型。 +要计算两个查询的并集、交集或差集,这两个查询必须是 “并集兼容的”,这意味着它们返回相同数量的列并且对应的列具有兼容的数据类型。 `UNION`,`INTERSECT` 和 `MINUS` 操作可以组合,例如: @@ -44,7 +44,7 @@ query1 UNION query2 INTERSECT query3 query1 UNION (query2 INTERSECT query3) ``` -你还可以用括号将单个查询括起来。如果查询需要使用以下示例中的子句(例如 `LIMIT` 子句),如果没有括号,将会导致语法错误,该子句在计算过程中将被理解为应用于组合操作的输出而不是其输入之一。如下述例子所示: +你还可以用括号将单个查询括起来。如果查询需要使用以下示例中的子句 (例如 `LIMIT` 子句),如果没有括号,将会导致语法错误,该子句在计算过程中将被理解为应用于组合操作的输出而不是其输入之一。如下述例子所示: ``` SELECT a FROM b UNION SELECT x FROM y LIMIT 10 diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/union.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/union.md index ac5346d..c26ed03 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/union.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/union.md @@ -23,7 +23,7 @@ SELECT column_list ... - 所有 `SELECT` 语句中出现的列的数量和顺序必须相同。 - 列的数据类型必须相同或可转换。 -使用 `UNION ALL`,则重复行(如果可用)将保留在结果中。因为 `UNION ALL` 不需要处理重复项。 +使用 `UNION ALL`,则重复行 (如果可用) 将保留在结果中。因为 `UNION ALL` 不需要处理重复项。 #### `UNION` 与 `ORDER BY`,`LIMIT` diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/with-cte.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/with-cte.md index e1786db..3aea709 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/with-cte.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Data-Query-Language/with-cte.md @@ -2,7 +2,7 @@ ## **语法说明** -公共表达式(CTE,common table expression),它是在单个语句的执行范围内定义的临时结果集,只在查询期间有效。它可以自引用,也可在同一查询中多次引用。作用是简化复杂的查询,提高代码的可读性和可维护性。公共表达式可以被视为一个临时视图,只在查询的执行周期内存在,对于外部查询是不可见的。 +公共表达式 (CTE,common table expression),它是在单个语句的执行范围内定义的临时结果集,只在查询期间有效。它可以自引用,也可在同一查询中多次引用。作用是简化复杂的查询,提高代码的可读性和可维护性。公共表达式可以被视为一个临时视图,只在查询的执行周期内存在,对于外部查询是不可见的。 定义 `CTE` 后,可以像 `SELECT`,`INSERT`,`UPDATE`,`DELETE` 或 `CREATE VIEW` 语句一样引用它。 @@ -18,7 +18,7 @@ - 非递归公共表达式:是指 CTE 中不引用自身的表达式,它只用于构建一次性的临时结果集,不涉及递归操作。 -- 递归公共表达式:是指 CTE 中引用自身的表达式,用于处理具有递归结构的数据,例如树形结构、图形等。递归 CTE 在定义中包含一个基本查询(起始条件),然后在该基本查询的结果上进行递归操作,直到满足停止条件为止。 +- 递归公共表达式:是指 CTE 中引用自身的表达式,用于处理具有递归结构的数据,例如树形结构、图形等。递归 CTE 在定义中包含一个基本查询 (起始条件),然后在该基本查询的结果上进行递归操作,直到满足停止条件为止。 ### 非递归 CTE @@ -67,7 +67,7 @@ SELECT ... FROM ; ##### 锚定成员与递归成员 -递归 CTE 必须包含至少两个查询定义,一个是锚定成员(anchor member),一个是递归成员(recursive member)。锚定成员必须位于第一个递归成员之前,可以定义多个锚定和递归成员。所有 CTE 查询定义都被视为锚定成员,除非它们引用 CTE 本身。 +递归 CTE 必须包含至少两个查询定义,一个是锚定成员 (anchor member),一个是递归成员 (recursive member)。锚定成员必须位于第一个递归成员之前,可以定义多个锚定和递归成员。所有 CTE 查询定义都被视为锚定成员,除非它们引用 CTE 本身。 假设有一个名为 `Employee` 的表,包含员工的信息,其中包括 `EmployeeID`、`Name` 和 `ManagerID` 字段,表示员工的 ID、姓名和上级经理的 ID。我们可以使用递归 CTE 来查询员工及其下属的层级关系。 @@ -104,15 +104,15 @@ FROM EmployeeHierarchy; 在上面的示例中: -- 锚定成员选择顶层员工(`ManagerID` 为 NULL)并将其级别(Level)设置为 0。 -- 递归成员基于上一轮的结果(`EmployeeHierarchy`)查询下属员工,并将级别递增。 +- 锚定成员选择顶层员工 (`ManagerID` 为 NULL) 并将其级别 (Level) 设置为 0。 +- 递归成员基于上一轮的结果 (`EmployeeHierarchy`) 查询下属员工,并将级别递增。 - 查询最终使用 `SELECT` 从递归 CTE 中检索员工姓名和层级。 执行此查询后,将获得员工及其下属的层级关系信息,其中锚定成员和递归成员共同构成了递归查询的结构。非递归 CTE 用于创建临时的查询结果集,你只需要提供一个查询定义,然后在查询中引用这个 CTE,而无需关心锚定成员和递归成员的问题。 ##### 运算符与语句要求 -- **集合运算符**:锚定成员必须使用集合运算符(如 `UNION ALL`、`UNION`、`INTERSECT` 或 `EXCEPT`)进行组合。只有在最后一个锚定成员与第一个递归成员之间,以及在组合多个递归成员时,允许使用 UNION ALL。 +- **集合运算符**:锚定成员必须使用集合运算符 (如 `UNION ALL`、`UNION`、`INTERSECT` 或 `EXCEPT`) 进行组合。只有在最后一个锚定成员与第一个递归成员之间,以及在组合多个递归成员时,允许使用 UNION ALL。 - **列匹配**:锚定成员和递归成员中的列数量必须相同。 @@ -125,8 +125,8 @@ FROM EmployeeHierarchy; - 使用 `SELECT DISTINCT` 关键字进行去重查询。 - 使用 `GROUP BY` 对结果进行分组。 - 使用 `HAVING` 筛选分组后的结果。 - - 进行标量聚合,即对一组行应用聚合函数(如 `SUM`、`AVG` 等)得到一个单一的值。 - - 使用 `LEFT`、`RIGHT`、`OUTER JOIN` 等外连接操作(但是 `INNER JOIN` 是允许的)。 + - 进行标量聚合,即对一组行应用聚合函数 (如 `SUM`、`AVG` 等) 得到一个单一的值。 + - 使用 `LEFT`、`RIGHT`、`OUTER JOIN` 等外连接操作 (但是 `INNER JOIN` 是允许的)。 - 使用子查询。 ## **示例** diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/Explain/explain-analyze.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/Explain/explain-analyze.md index 9ab4f20..4cf0851 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/Explain/explain-analyze.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/Explain/explain-analyze.md @@ -14,7 +14,7 @@ - 返回第一行的时间 -- 执行此迭代器(仅包括子迭代器,但不包括父迭代器)所花费的时间,以毫秒为单位。 +- 执行此迭代器 (仅包括子迭代器,但不包括父迭代器) 所花费的时间,以毫秒为单位。 - 迭代器返回的行数 diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/Explain/explain.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/Explain/explain.md index b9663aa..52110bb 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/Explain/explain.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/Explain/explain.md @@ -23,19 +23,19 @@ where option can be one of: ## 参数释义 -* ANALYZE: +* ANALYZE: 执行该命令并显示实际运行时和其他统计数据。该参数默认为 `FALSE`。 -* VERBOSE: +* VERBOSE: `VERBOSE` 用作显示有关计划的其他信息。具体来说,包括计划树中每个节点的输出列列表、模式限定表和函数名称,始终使用范围表别名标记表达式中的变量,并且始终打印显示统计信息的每个触发器的名称。该参数默认为 `FALSE`。 -* FORMAT: +* FORMAT: `FORMAT` 用作指定输出格式,可以是 *TEXT*、*JSON*。非文本输出包含与文本输出格式相同的信息,且容易被程序解析。该参数默认为 `TEXT`。 -* BOOLEAN: +* BOOLEAN: `BOOLEAN` 指定所选选项是打开还是关闭。你可以写 `TRUE` 来启用该选项,或者写 `FALSE` 来禁用它。 diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/Prepared-Statements/prepare.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/Prepared-Statements/prepare.md index 2572d8a..fe26f08 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/Prepared-Statements/prepare.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/Prepared-Statements/prepare.md @@ -91,7 +91,7 @@ PREPARE stmt_name FROM preparable_stmt 这些规则也适用于在预编译语句中引用的用户变量。 -在预编译语句中为给定参数或用户变量时,如果在第一次执行时使用不同的数据类型,则会导致重新准备该预编译语句,不但运行效率低,而且还可能导致参数(或变量)的实际类型发生变化,实际执行结果与语句的预期结果不一致。建议在预编译语句中对给定参数使用相同的数据类型。 +在预编译语句中为给定参数或用户变量时,如果在第一次执行时使用不同的数据类型,则会导致重新准备该预编译语句,不但运行效率低,而且还可能导致参数 (或变量) 的实际类型发生变化,实际执行结果与语句的预期结果不一致。建议在预编译语句中对给定参数使用相同的数据类型。 ## **示例** diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/SHOW-Statements/show-collation.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/SHOW-Statements/show-collation.md index 79edbdb..96beedf 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/SHOW-Statements/show-collation.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/SHOW-Statements/show-collation.md @@ -2,7 +2,7 @@ ## **语法说明** -显示 MatrixOne Cloud 支持字符集的排序规则。默认情况下,`SHOW COLLATION` 的输出包括所有可用的排序规则。`LIKE` 子句(如果存在)指示要匹配的排序规则名称。`WHERE` 子句可以使用更一般的条件来选择行。 +显示 MatrixOne Cloud 支持字符集的排序规则。默认情况下,`SHOW COLLATION` 的输出包括所有可用的排序规则。`LIKE` 子句 (如果存在) 指示要匹配的排序规则名称。`WHERE` 子句可以使用更一般的条件来选择行。 ## **语法结构** diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/SHOW-Statements/show-processlist.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/SHOW-Statements/show-processlist.md index 873f177..464f48f 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/SHOW-Statements/show-processlist.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/SHOW-Statements/show-processlist.md @@ -2,7 +2,7 @@ ## **语法说明** -`SHOW PROCESSLIST` 用于查看当前正在执行的线程列表(也称为进程列表),提供了关于 MatrixOne Cloud 服务器上所有活动连接和执行中查询的信息。 +`SHOW PROCESSLIST` 用于查看当前正在执行的线程列表 (也称为进程列表),提供了关于 MatrixOne Cloud 服务器上所有活动连接和执行中查询的信息。 `SHOW PROCESSLIST` 用于监控和管理数据库中的活动,发现潜在问题,帮助查询性能问题,并帮助决策优化数据库的运行: diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/SHOW-Statements/show-roles.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/SHOW-Statements/show-roles.md index 2fb113d..fac6536 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/SHOW-Statements/show-roles.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/SHOW-Statements/show-roles.md @@ -4,7 +4,7 @@ 列出为你的账户下创建的角色的元信息,包括角色名称、创建者、创建时间以及注释内容。 -**Note:** 如果需要查询你当前所使用的角色,使用 [`select current_role()`](../../../Functions-and-Operators/system-ops/current_role.md) 语句。 +**Note:**如果需要查询你当前所使用的角色,使用 [`select current_role()`](../../../Functions-and-Operators/system-ops/current_role.md) 语句。 ## **函数语法** diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/Set/set-role.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/Set/set-role.md index ba8fbba..70a1ab1 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/Set/set-role.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/Other/Set/set-role.md @@ -20,7 +20,7 @@ SET ROLE role 角色是权限的集合,一个用户可以对应多个角色。 -例如,user1 拥有主要角色 role1,次要角色 role2 和 role3, role1 被授予 pri1 和 pri2 权限;role2 被赋予权限 pri3;role3 被赋予权限 pri4,授权示例表如下: +例如,user1 拥有主要角色 role1,次要角色 role2 和 role3,role1 被授予 pri1 和 pri2 权限;role2 被赋予权限 pri3;role3 被赋予权限 pri4,授权示例表如下: |用户名 | 角色名 | 权限名| |---|---|---| @@ -38,7 +38,7 @@ SET ROLE role 此时 Tom 的主要角色是应用开发者,Tom 需要调用*管理员权限*,那么 Tom 可以使用以下两种方法: -—使用 `SET role role` 语句将其角色切换为“数据库管理员”。 +—使用 `SET role role` 语句将其角色切换为 “数据库管理员”。 —如果需要使用主、从角色的所有权限,可以使用 `SET secondary ROLE all`。 diff --git a/docs/MatrixOne-Cloud/Reference/SQL-Reference/SQL-Type.md b/docs/MatrixOne-Cloud/Reference/SQL-Reference/SQL-Type.md index 6f0ce6c..54600c4 100644 --- a/docs/MatrixOne-Cloud/Reference/SQL-Reference/SQL-Type.md +++ b/docs/MatrixOne-Cloud/Reference/SQL-Reference/SQL-Type.md @@ -4,7 +4,7 @@ ## **DDL - 数据定义语言** -数据定义语言(Data Definition Language,DDL)是 DBMS 语言的一种,用于明确定义数据对象。在 MatrixOne 中,DDL 语句分为五个类别: +数据定义语言 (Data Definition Language,DDL) 是 DBMS 语言的一种,用于明确定义数据对象。在 MatrixOne 中,DDL 语句分为五个类别: ### CREATE 语句,创建 MatrixOne 中各类对象 @@ -40,7 +40,7 @@ ## **DML - 数据修改语言** -数据修改语言(Data Manipulation Language, DML)用于数据库操作,包括对数据库中的对象和资料执行访问工作的编程语句。在 MatrixOne 中,DML 包含如下分类: +数据修改语言 (Data Manipulation Language,DML) 用于数据库操作,包括对数据库中的对象和资料执行访问工作的编程语句。在 MatrixOne 中,DML 包含如下分类: ### INSERT 语句,用于在表中插入新行 @@ -66,20 +66,20 @@ ## **DQL - Data Query Language** -查询类语句(Data Query Language, DQL)用于检索 MatrixOne 中现有数据。以 SELECT 语句为核心,分为以下几类: +查询类语句 (Data Query Language,DQL) 用于检索 MatrixOne 中现有数据。以 SELECT 语句为核心,分为以下几类: ### 单表查询,查询层级只有一层,只涉及到单表的查询 - [SELECT](Data-Query-Language/select.md) -### 子查询(Subquery),也称为嵌套查询或子选择,是 SELECT 子查询语句嵌入在另一个 SQL 查询的查询方式,分为关联子查询与非关联子查询 +### 子查询 (Subquery),也称为嵌套查询或子选择,是 SELECT 子查询语句嵌入在另一个 SQL 查询的查询方式,分为关联子查询与非关联子查询 - [SUBQUERY with ANY or SOME](Data-Query-Language/subqueries/subquery-with-any-some.md) - [SUBQUERY with ALL](Data-Query-Language/subqueries/subquery-with-all.md) - [SUBQUERY with EXISTS](Data-Query-Language/subqueries/subquery-with-exists.md) - [SUBQUERY with IN](Data-Query-Language/subqueries/subquery-with-in.md) -### 关联查询(Join Query),将多表之间的结果进行关联并输出结果的查询方式 +### 关联查询 (Join Query),将多表之间的结果进行关联并输出结果的查询方式 - [INNER JOIN](Data-Query-Language/join/inner-join.md) - [LEFT JOIN](Data-Query-Language/join/left-join.md) @@ -88,11 +88,11 @@ - [OUTER JOIN](Data-Query-Language/join/outer-join.md) - [NATURAL JOIN](Data-Query-Language/join/natural-join.md) -### 公用表达式(Common Table Expressions),将某些查询作为是临时结果,可以在其他 SQL 中引用,如 SELECT, INSERT, UPDATE 和 DELETE,其仅存在于查询执行期间 +### 公用表达式 (Common Table Expressions),将某些查询作为是临时结果,可以在其他 SQL 中引用,如 SELECT,INSERT,UPDATE 和 DELETE,其仅存在于查询执行期间 - [With CTE](Data-Query-Language/with-cte.md) -### 组合查询,将多个查询的结果进行组合,以集合的方式进行呈现,分为并集(UNION)、交集(INTERSECT)、差集(MINUS) +### 组合查询,将多个查询的结果进行组合,以集合的方式进行呈现,分为并集 (UNION)、交集 (INTERSECT)、差集 (MINUS) - [UNION](Data-Query-Language/union.md) - [INTERSECT](Data-Query-Language/intersect.md) @@ -143,7 +143,7 @@ START TRANSACTION; ## **DCL - 数据控制语言** -数据控制语言(Data Control Language, DCL)包括资源的分配与回收、用户与角色的创建与删除、权限的授权与回收,分为如下分类: +数据控制语言 (Data Control Language,DCL) 包括资源的分配与回收、用户与角色的创建与删除、权限的授权与回收,分为如下分类: ### CREATE 语句,用于创建用户与角色 diff --git a/docs/MatrixOne-Cloud/Reference/System-tables.md b/docs/MatrixOne-Cloud/Reference/System-tables.md index bc0cd4c..04dae0d 100644 --- a/docs/MatrixOne-Cloud/Reference/System-tables.md +++ b/docs/MatrixOne-Cloud/Reference/System-tables.md @@ -236,7 +236,7 @@ MatrixOne 系统数据库和表是 MatrixOne 存储系统信息的地方,你 - role:MatrixOne 节点角色,包括 CN、TN 和 Log。 -- account:默认为“sys”租户,即触发 SQL 请求的账户。 +- account:默认为 “sys” 租户,即触发 SQL 请求的账户。 - type:SQL 类型,可以是 `select`,`insert`,`update`,`delete`,`other` 类型。 @@ -347,7 +347,7 @@ __Information Schema__ 提供了一种 ANSI 标准方式,用于查看系统的 - `IS_NULLABLE`:列是否可以为空。如果该列可以存储空值,则该值为 `YES`;否则为 `NO`。 - `DATA_TYPE`:列中的数据类型。 - `CHARACTER_MAXIMUM_LENGTH`:对于字符串列,字符的最大长度。 -- `CHARACTER_OCTET_LENGTH`:对于字符串列,最大长度(以字节为单位)。 +- `CHARACTER_OCTET_LENGTH`:对于字符串列,最大长度 (以字节为单位)。 - `NUMERIC_PRECISION`:数字类型列的数字精度。 - `NUMERIC_SCALE`:数字类型列的数字比例。 - `DATETIME_PRECISION`:对于时间类型列,小数秒精度。 @@ -387,11 +387,11 @@ __Information Schema__ 提供了一种 ANSI 标准方式,用于查看系统的 - `SUBPARTITION_NAME`:如果 `PARTITIONS` 表中的行表示一个子分区,则为该子分区的名称;否则为空。 - `PARTITION_ORDINAL_POSITION`:所有分区按照它们被定义的顺序进行索引,其中 1 表示分配给第一个分区的编号。随着分区的增加、删除和重新组织,索引可能会发生变化;该列中显示的编号反映了当前的顺序,考虑了任何索引变化。 - `SUBPARTITION_ORDINAL_POSITION`:在给定分区内,子分区的索引和重新索引方式与表内分区的方式相同。 -- `PARTITION_METHOD`:取值之一为 `RANGE`、`LIST`、`HASH`、`LINEAR HASH`、`KEY` 或 `LINEAR KEY`。__Note:__ MatrixOne 暂不支持 `RANGE` 和 `LIST` 分区。 +- `PARTITION_METHOD`:取值之一为 `RANGE`、`LIST`、`HASH`、`LINEAR HASH`、`KEY` 或 `LINEAR KEY`。__Note:__MatrixOne 暂不支持 `RANGE` 和 `LIST` 分区。 - `SUBPARTITION_METHOD`:取值之一为 `HASH`、`LINEAR HASH`、`KEY` 或 `LINEAR KEY`。 - `PARTITION_EXPRESSION`:在创建表的 `CREATE TABLE` 或 `ALTER TABLE` 语句中使用的分区函数表达式,用于创建表的当前分区方案。 - `SUBPARTITION_EXPRESSION`:这与 `PARTITION_EXPRESSION` 类似,用于定义表的子分区方式,如果表没有子分区,则该列为空。 -- `PARTITION_DESCRIPTION`:此列适用于 `RANGE` 和 `LIST` 分区。对于 `RANGE` 分区,它包含在分区的 `VALUES LESS THAN` 子句中设置的值,可以是整数或 `MAXVALUE`。对于 `LIST` 分区,此列包含在分区的 `VALUES IN` 子句中定义的值,这是一组逗号分隔的整数值。对于 `PARTITION_METHOD` 不是 `RANGE` 或 `LIST` 的分区,此列始终为空。__Note:__ MatrixOne 暂不支持 `RANGE` 和 `LIST` 分区。 +- `PARTITION_DESCRIPTION`:此列适用于 `RANGE` 和 `LIST` 分区。对于 `RANGE` 分区,它包含在分区的 `VALUES LESS THAN` 子句中设置的值,可以是整数或 `MAXVALUE`。对于 `LIST` 分区,此列包含在分区的 `VALUES IN` 子句中定义的值,这是一组逗号分隔的整数值。对于 `PARTITION_METHOD` 不是 `RANGE` 或 `LIST` 的分区,此列始终为空。__Note:__MatrixOne 暂不支持 `RANGE` 和 `LIST` 分区。 - `TABLE_ROWS`:分区中的表行数。 - `AVG_ROW_LENGTH`:存储在此分区或子分区中的行的平均长度,以字节为单位。这与 `DATA_LENGTH` 除以 `TABLE_ROWS` 得到的结果相同。 - `DATA_LENGTH`:此分区或子分区中存储的所有行的总长度,以字节为单位;即存储在分区或子分区中的字节总数。 @@ -473,7 +473,7 @@ __Information Schema__ 提供了一种 ANSI 标准方式,用于查看系统的 - `TABLE_NAME`:视图的名称。 - `VIEW_DEFINITION`:提供视图定义的 `SELECT` 语句。包含了在 `SHOW Create VIEW` 生成的__创建表__列中看到的大部分内容。 - `CHECK_OPTION`:`CHECK_OPTION` 属性的值。值为 `NONE`、`CASCADE` 或 `LOCAL`。 -- `IS_UPDATABLE`:在 `CREATE VIEW` 时设置一个名为视图可更新性标志的标志,如果 UPDATE 和 DELETE(以及类似的操作)对视图合法,则标志设置为 `YES(true)`。否则,标志设置为 `NO(false)`。 +- `IS_UPDATABLE`:在 `CREATE VIEW` 时设置一个名为视图可更新性标志的标志,如果 UPDATE 和 DELETE (以及类似的操作) 对视图合法,则标志设置为 `YES(true)`。否则,标志设置为 `NO(false)`。 - `DEFINER`:创建视图的用户的帐户,格式为 `username@hostname`。 - `SECURITY_TYPE`:视图 `SQL SECURITY` 特性。值为 `DEFINER` 或 `INVOKER`。 - `CHARACTER_SET_CLIENT`:创建视图时 `character_set_client` 系统变量的会话值。 @@ -483,7 +483,7 @@ __Information Schema__ 提供了一种 ANSI 标准方式,用于查看系统的 获取有关数据库表索引和统计信息的详细信息。例如,可以检查索引是否唯一,了解索引中的列顺序,以及估计索引中的唯一值数量。 -- `TABLE_CATALOG`:表的目录名称(始终为 'def')。 +- `TABLE_CATALOG`:表的目录名称 (始终为 ‘def’)。 - `TABLE_SCHEMA`:表所属的数据库名称。 - `TABLE_NAME`:表的名称。 - `NON_UNIQUE`:指示索引是否允许重复值。如果为 0,则索引是唯一索引。 @@ -496,7 +496,7 @@ __Information Schema__ 提供了一种 ANSI 标准方式,用于查看系统的 - `SUB_PART`:索引部分长度。对于整个列,该值为 NULL。 - `PACKED`:指示是否使用压缩存储的值。 - `NULLABLE`:指示列是否允许 NULL 值。 -- `INDEX_TYPE`:索引的类型(如 BTREE、HASH 等)。 +- `INDEX_TYPE`:索引的类型 (如 BTREE、HASH 等)。 - `COMMENT`:索引的注释信息。 ## `mysql` 数据库 diff --git a/docs/MatrixOne-Cloud/Reference/Variable/system-variables/save_query_result.md b/docs/MatrixOne-Cloud/Reference/Variable/system-variables/save_query_result.md index dd228e3..5c50db5 100644 --- a/docs/MatrixOne-Cloud/Reference/Variable/system-variables/save_query_result.md +++ b/docs/MatrixOne-Cloud/Reference/Variable/system-variables/save_query_result.md @@ -44,7 +44,7 @@ set query_result_timeout = 48 queryResultTimeout = 48 // 默认为 24 ``` -__Note:__ 保存时间如果设置的值比上一次设置的短,不影响之前的保存结果。 +__Note:__保存时间如果设置的值比上一次设置的短,不影响之前的保存结果。 ## 设置单个查询结果的最大值 @@ -64,7 +64,7 @@ set query_result_maxsize = 200 queryResultMaxsize = 200 // 默认为 100 ``` -__Note:__ 单个查询结果的最大值如果设置的值比上一次设置的小,不影响之前的保存结果大小。 +__Note:__单个查询结果的最大值如果设置的值比上一次设置的小,不影响之前的保存结果大小。 ### 查询元数据信息 @@ -117,15 +117,15 @@ MODUMP QUERY_RESULT query_id INTO s3_path tn-data etl local logservice-data s3 ``` - __Note:__ 如果你需要导出 `csv` 文件。路径需要以 `etl:` 开头。 + __Note:__如果你需要导出 `csv` 文件。路径需要以 `etl:` 开头。 -- [FIELDS TERMINATED BY 'char']:可选参数。字段分割符号,默认为单引号 `'`。 +- [FIELDS TERMINATED BY ‘char’]:可选参数。字段分割符号,默认为单引号 `'`。 -- [ENCLOSED BY 'char']:可选参数。字段包括符号,默认为引双号 `“`。 +- [ENCLOSED BY ‘char’]:可选参数。字段包括符号,默认为引双号 `“`。 -- [LINES TERMINATED BY 'string']:可选参数。行结束符号,默认为换行符号 `\n`。 +- [LINES TERMINATED BY ‘string’]:可选参数。行结束符号,默认为换行符号 `\n`。 -- [header 'bool']:可选参数。bool 类型可以选择 `true` 或 `false`。`csv` 文件第一行为各个列名的标题行。 +- [header ‘bool’]:可选参数。bool 类型可以选择 `true` 或 `false`。`csv` 文件第一行为各个列名的标题行。 - [MAX_FILE_SIZE unsigned_number]:可选参数。文件最大文件大小,单位为 KB。默认为 0。 diff --git a/docs/MatrixOne-Cloud/Reference/Variable/system-variables/sql-mode.md b/docs/MatrixOne-Cloud/Reference/Variable/system-variables/sql-mode.md index a11f36d..990c77d 100644 --- a/docs/MatrixOne-Cloud/Reference/Variable/system-variables/sql-mode.md +++ b/docs/MatrixOne-Cloud/Reference/Variable/system-variables/sql-mode.md @@ -27,11 +27,11 @@ sql_mode 常见的模式如下,在 MatrixOne 中也是默认的模式: ## sql_mode 的可选模式 -- ANSI:ANSI 是一种标准的 SQL 语言规范,由 ANSI(美国国家标准学会)制定。在 ANSI 模式下,SQL 语句必须符合 ANSI SQL 标准,这意味着你不能使用特定于某个数据库的 SQL 语言扩展或特性。 +- ANSI:ANSI 是一种标准的 SQL 语言规范,由 ANSI (美国国家标准学会) 制定。在 ANSI 模式下,SQL 语句必须符合 ANSI SQL 标准,这意味着你不能使用特定于某个数据库的 SQL 语言扩展或特性。 -- ALLOW_INVALID_DATES:ALLOW_INVALID_DATES 在 MatrixOne SQL 模式中被称为**宽松模式(loose mode)**。在 ALLOW_INVALID_DATES 模式下,MatrixOne 允许插入一些在标准日期格式中是无效的日期,如 '0000-00-00' 或 '2000-00-00'。此模式是为了兼容一些早期版本的 MySQL 和非标准的日期格式而存在的。需要注意的是,在 ALLOW_INVALID_DATES 模式下插入无效日期可能会导致一些意外的行为,因为无效的日期不会被正确地处理。因此,建议始终使用标准日期格式。 +- ALLOW_INVALID_DATES:ALLOW_INVALID_DATES 在 MatrixOne SQL 模式中被称为**宽松模式 (loose mode)**。在 ALLOW_INVALID_DATES 模式下,MatrixOne 允许插入一些在标准日期格式中是无效的日期,如 ‘0000-00-00’ 或 ‘2000-00-00’。此模式是为了兼容一些早期版本的 MySQL 和非标准的日期格式而存在的。需要注意的是,在 ALLOW_INVALID_DATES 模式下插入无效日期可能会导致一些意外的行为,因为无效的日期不会被正确地处理。因此,建议始终使用标准日期格式。 -- ANSI_QUOTES:ANSI_QUOTES 是 SQL 模式中的**严格模式(strict mode)**,用于更加严格地执行 SQL 标准。在 ANSI_QUOTES 模式下,MatrixOne 将双引号视为标识符引号,而不是字符串引号。这意味着,如果你想使用双引号引用一个标识符(如表名或列名),你必须使用双引号,而不是单引号。例如,以下 SQL 语句在 ANSI_QUOTES 模式下是正确的: +- ANSI_QUOTES:ANSI_QUOTES 是 SQL 模式中的**严格模式 (strict mode)**,用于更加严格地执行 SQL 标准。在 ANSI_QUOTES 模式下,MatrixOne 将双引号视为标识符引号,而不是字符串引号。这意味着,如果你想使用双引号引用一个标识符 (如表名或列名),你必须使用双引号,而不是单引号。例如,以下 SQL 语句在 ANSI_QUOTES 模式下是正确的: ```sql SELECT "column_name" FROM "table_name"; @@ -41,17 +41,17 @@ sql_mode 常见的模式如下,在 MatrixOne 中也是默认的模式: 需要注意的是,使用 ANSI_QUOTES 模式可能会导致与其他数据库系统的 SQL 语法不兼容,因为大多数其他数据库系统使用双引号作为字符串引号,而不是标识符引号。因此,在编写可移植的 SQL 语句时,应该谨慎使用 ANSI_QUOTES 模式。 -- HIGH_NOT_PRECEDENCE:HIGH_NOT_PRECEDENCE 在 MatrixOne SQL 模式中被称为**高优先级 NOT 操作符(high-priority NOT operator)模式**。在 HIGH_NOT_PRECEDENCE 模式下,MatrixOne 将 NOT 操作符视为高优先级操作符,即它的优先级高于其他大多数操作符。这意味着,如果你在一个 SQL 语句中同时使用了 NOT 操作符和其他操作符,MatrixOne 会首先计算 NOT 操作符的结果,然后再计算其他操作符的结果。例如: +- HIGH_NOT_PRECEDENCE:HIGH_NOT_PRECEDENCE 在 MatrixOne SQL 模式中被称为**高优先级 NOT 操作符 (high-priority NOT operator) 模式**。在 HIGH_NOT_PRECEDENCE 模式下,MatrixOne 将 NOT 操作符视为高优先级操作符,即它的优先级高于其他大多数操作符。这意味着,如果你在一个 SQL 语句中同时使用了 NOT 操作符和其他操作符,MatrixOne 会首先计算 NOT 操作符的结果,然后再计算其他操作符的结果。例如: ```sql SELECT * FROM table WHERE NOT column = 1 AND column2 = 'value'; ``` - 在 HIGH_NOT_PRECEDENCE 模式下,MatrixOne 会先计算 NOT column = 1 的结果,再计算 column2 = 'value' 的结果。如果 NOT 操作符没有被正确地放置在语句中,可能会导致产生意外结果。 + 在 HIGH_NOT_PRECEDENCE 模式下,MatrixOne 会先计算 NOT column = 1 的结果,再计算 column2 = ‘value’ 的结果。如果 NOT 操作符没有被正确地放置在语句中,可能会导致产生意外结果。 需要注意的是,在 MatrixOne 的默认 SQL 模式中,NOT 操作符的优先级与其他操作符相同。如果你需要使用 HIGH_NOT_PRECEDENCE 模式,请确保你的 SQL 语句中正确地使用了括号来明确优先级。 -- IGNORE_SPACE:IGNORE_SPACE 在 MatrixOne SQL 模式中被称为**忽略空格(ignore space)模式**。在 IGNORE_SPACE 模式下,MatrixOne 将忽略 SQL 语句中的多个空格或制表符,而只将一个空格或制表符视为分隔符。这意味着,在 IGNORE_SPACE 模式下,以下两个 SQL 语句是等效的: +- IGNORE_SPACE:IGNORE_SPACE 在 MatrixOne SQL 模式中被称为**忽略空格 (ignore space) 模式**。在 IGNORE_SPACE 模式下,MatrixOne 将忽略 SQL 语句中的多个空格或制表符,而只将一个空格或制表符视为分隔符。这意味着,在 IGNORE_SPACE 模式下,以下两个 SQL 语句是等效的: ```sql SELECT * FROM my_table; @@ -60,9 +60,9 @@ sql_mode 常见的模式如下,在 MatrixOne 中也是默认的模式: 这种模式的作用在于,使得 SQL 语句在书写时更加灵活,可以在各个关键字之间添加任意数量的空格或制表符,从而提高可读性。不过需要注意的是,在某些情况下,这种模式可能会导致意外的行为,例如当空格或制表符被错误地放置在 SQL 函数或列名中时,可能会导致语法错误。 - 默认情况下,MatrixOne 不启用 IGNORE_SPACE 模式。如果需要启用该模式,可以在连接 MatrixOne 时使用 SQL 命令 SET sql_mode='IGNORE_SPACE' 来开启。 + 默认情况下,MatrixOne 不启用 IGNORE_SPACE 模式。如果需要启用该模式,可以在连接 MatrixOne 时使用 SQL 命令 SET sql_mode=‘IGNORE_SPACE’ 来开启。 -- NO_AUTO_VALUE_ON_ZERO:NO_AUTO_VALUE_ON_ZERO 在 MatrixOne SQL 模式中被称为**禁止自动增量列为 0(no auto value on zero)模式**。在 NO_AUTO_VALUE_ON_ZERO 模式下,当你向一个自动增量列插入值为 0 的数据时,MatrixOne 不会将该值视为自动增量值,而是将其视为普通的 0 值。这意味着,如果你向一个自动增量列插入值为 0 的数据,在 NO_AUTO_VALUE_ON_ZERO 模式下,该列的值不会自动增加,而是保持为 0。例如,以下 SQL 语句在 NO_AUTO_VALUE_ON_ZERO 模式下不会将 id 列自动增量: +- NO_AUTO_VALUE_ON_ZERO:NO_AUTO_VALUE_ON_ZERO 在 MatrixOne SQL 模式中被称为**禁止自动增量列为 0 (no auto value on zero) 模式**。在 NO_AUTO_VALUE_ON_ZERO 模式下,当你向一个自动增量列插入值为 0 的数据时,MatrixOne 不会将该值视为自动增量值,而是将其视为普通的 0 值。这意味着,如果你向一个自动增量列插入值为 0 的数据,在 NO_AUTO_VALUE_ON_ZERO 模式下,该列的值不会自动增加,而是保持为 0。例如,以下 SQL 语句在 NO_AUTO_VALUE_ON_ZERO 模式下不会将 id 列自动增量: ```sql CREATE TABLE my_table ( @@ -78,7 +78,7 @@ sql_mode 常见的模式如下,在 MatrixOne 中也是默认的模式: 需要注意的是,如果你使用 NO_AUTO_VALUE_ON_ZERO 模式,插入值为 0 的数据可能会导致主键重复或唯一键冲突的问题。因此,在插入数据时需要格外注意。 -- NO_BACKSLASH_ESCAPES:NO_BACKSLASH_ESCAPES 在 MatrixOne SQL 模式中被称为**禁止反斜杠转义(no backslash escapes)模式**。在 NO_BACKSLASH_ESCAPES 模式下,MatrixOne 不会将反斜杠视为转义符号。这意味着,在 SQL 语句中,你不能使用反斜杠来转义特殊字符,例如引号或百分号。相反,如果你需要在 SQL 语句中使用这些特殊字符,那就需要使用其他方式来转义它们,例如使用单引号来表示字符串中的双引号。例如,在 NO_BACKSLASH_ESCAPES 模式下,以下 SQL 语句会导致语法错误: +- NO_BACKSLASH_ESCAPES:NO_BACKSLASH_ESCAPES 在 MatrixOne SQL 模式中被称为**禁止反斜杠转义 (no backslash escapes) 模式**。在 NO_BACKSLASH_ESCAPES 模式下,MatrixOne 不会将反斜杠视为转义符号。这意味着,在 SQL 语句中,你不能使用反斜杠来转义特殊字符,例如引号或百分号。相反,如果你需要在 SQL 语句中使用这些特殊字符,那就需要使用其他方式来转义它们,例如使用单引号来表示字符串中的双引号。例如,在 NO_BACKSLASH_ESCAPES 模式下,以下 SQL 语句会导致语法错误: ```sql SELECT 'It's a nice day' FROM my_table; @@ -88,7 +88,7 @@ sql_mode 常见的模式如下,在 MatrixOne 中也是默认的模式: 需要注意的是,如果你使用 NO_BACKSLASH_ESCAPES 模式,那就需要使用其他方式来转义特殊字符,这可能会使 SQL 语句变得更加复杂和难以理解。因此,在使用该模式时需要仔细考虑。 -- NO_DIR_IN_CREATE:NO_DIR_IN_CREATE 在 MatrixOne SQL 模式中被称为**禁止在 CREATE TABLE 中使用目录路径(no directory in create)模式**。在 NO_DIR_IN_CREATE 模式下,当你在 CREATE TABLE 语句中使用目录路径时,MatrixOne 会报错。目录路径指的是在列定义中使用的包含文件名的路径,例如: +- NO_DIR_IN_CREATE:NO_DIR_IN_CREATE 在 MatrixOne SQL 模式中被称为**禁止在 CREATE TABLE 中使用目录路径 (no directory in create) 模式**。在 NO_DIR_IN_CREATE 模式下,当你在 CREATE TABLE 语句中使用目录路径时,MatrixOne 会报错。目录路径指的是在列定义中使用的包含文件名的路径,例如: ```sql CREATE TABLE my_table ( @@ -114,7 +114,7 @@ sql_mode 常见的模式如下,在 MatrixOne 中也是默认的模式: 需要注意的是,NO_DIR_IN_CREATE 模式不影响已经创建的表中的列定义,只影响 CREATE TABLE 语句中的列定义。因此,在使用该模式时需要仔细考虑,以确保你的 SQL 语句符合该模式的要求。 -- NO_UNSIGNED_SUBTRACTION:NO_UNSIGNED_SUBTRACTION 在 MatrixOne SQL 模式中被称为**禁止无符号数减法(no unsigned subtraction)模式**。 +- NO_UNSIGNED_SUBTRACTION:NO_UNSIGNED_SUBTRACTION 在 MatrixOne SQL 模式中被称为**禁止无符号数减法 (no unsigned subtraction) 模式**。 在 NO_UNSIGNED_SUBTRACTION 模式下,当你使用减法运算符 (-) 对无符号整数进行减法运算时,MatrixOne 会将结果视为有符号整数,而不是无符号整数。这意味着,如果无符号整数的值小于减数,结果将是负数,而不是无符号整数。例如: @@ -127,7 +127,7 @@ sql_mode 常见的模式如下,在 MatrixOne 中也是默认的模式: 需要注意的是,NO_UNSIGNED_SUBTRACTION 模式只影响使用减法运算符 (-) 进行减法运算的无符号整数,其他使用无符号整数的运算不受影响。如果你需要在 MatrixOne 中进行大量的无符号整数运算,建议在代码中使用合适的类型转换来避免潜在的错误。 -- PAD_CHAR_TO_FULL_LENGTH:PAD_CHAR_TO_FULL_LENGTH 在 MatrixOne SQL 模式中被称为**使用全字符集填充 CHAR 列(pad CHAR to full length)模式**。 +- PAD_CHAR_TO_FULL_LENGTH:PAD_CHAR_TO_FULL_LENGTH 在 MatrixOne SQL 模式中被称为**使用全字符集填充 CHAR 列 (pad CHAR to full length) 模式**。 在 PAD_CHAR_TO_FULL_LENGTH 模式下,当你定义 CHAR 类型的列时,MatrixOne 会在该列的值后面使用空格填充,以使该值的长度达到该列定义的长度。这是因为在 MatrixOne 中,CHAR 类型的列在存储时总是占用定义的长度,不足部分会使用空格填充。但是,在默认情况下,MatrixOne 使用的字符集可能是多字节字符集,因此如果填充的字符是空格,可能会导致长度计算错误。 @@ -135,7 +135,7 @@ sql_mode 常见的模式如下,在 MatrixOne 中也是默认的模式: 需要注意的是,PAD_CHAR_TO_FULL_LENGTH 模式只影响 CHAR 类型的列,不影响其他类型的列。如果你需要在 MatrixOne 中使用 CHAR 类型的列,并且在多字节字符集下需要正确计算列值的长度,可以考虑使用 PAD_CHAR_TO_FULL_LENGTH 模式。 -- PIPES_AS_CONCAT:PIPES_AS_CONCAT 在 MatrixOne SQL 模式中被称为**管道符作为字符串连接符(pipes as concatenation)模式**。在 PIPES_AS_CONCAT 模式下,MatrixOne 将竖线符号(|)视为字符串连接符,而不是位运算符。这意味着,如果你使用竖线符号连接两个字符串,MatrixOne 会将它们连接为一个字符串,而不是将它们看作是二进制位的运算。 +- PIPES_AS_CONCAT:PIPES_AS_CONCAT 在 MatrixOne SQL 模式中被称为**管道符作为字符串连接符 (pipes as concatenation) 模式**。在 PIPES_AS_CONCAT 模式下,MatrixOne 将竖线符号 (|) 视为字符串连接符,而不是位运算符。这意味着,如果你使用竖线符号连接两个字符串,MatrixOne 会将它们连接为一个字符串,而不是将它们看作是二进制位的运算。 例如,以下 SQL 语句在默认模式下会返回错误,因为 MatrixOne 将竖线符号视为位运算符: @@ -143,11 +143,11 @@ sql_mode 常见的模式如下,在 MatrixOne 中也是默认的模式: SELECT 'abc' | 'def'; ``` - 但是,如果将 SQL 模式设置为 PIPES_AS_CONCAT,则上面的 SQL 语句将返回字符串 'abcdef'。 + 但是,如果将 SQL 模式设置为 PIPES_AS_CONCAT,则上面的 SQL 语句将返回字符串 ‘abcdef’。 需要注意的是,如果你使用的 SQL 语句中包含竖线符号并且需要将其视为位运算符,请不要使用 PIPES_AS_CONCAT 模式。反之,如果你需要将竖线符号视为字符串连接符,请使用 PIPES_AS_CONCAT 模式。 -- REAL_AS_FLOAT:REAL_AS_FLOAT 在 MatrixOne SQL 模式中被称为**将 REAL 类型视为 FLOAT 类型(real as float)模式**。 +- REAL_AS_FLOAT:REAL_AS_FLOAT 在 MatrixOne SQL 模式中被称为**将 REAL 类型视为 FLOAT 类型 (real as float) 模式**。 在 REAL_AS_FLOAT 模式下,MatrixOne 将 REAL 类型的数据视为 FLOAT 类型的数据。这意味着,MatrixOne 将使用 FLOAT 类型的存储格式来存储 REAL 类型的数据,而不是使用更精确但也更占用空间的 DOUBLE 类型的存储格式。 @@ -155,7 +155,7 @@ sql_mode 常见的模式如下,在 MatrixOne 中也是默认的模式: 如果你需要在 MatrixOne 中存储精度较高的浮点数数据,建议不要使用 REAL_AS_FLOAT 模式,并使用 DOUBLE 类型的数据来存储。如果你对数据精度要求不高,可以考虑使用 REAL_AS_FLOAT 模式来节省存储空间。 -- STRICT_ALL_TABLES:STRICT_ALL_TABLES 在 MatrixOne SQL 模式中被称为**启用严格模式(strict all tables)模式**。在 STRICT_ALL_TABLES 模式下,MatrixOne 启用了一系列的严格性检查,以确保插入、更新和删除操作符合数据类型、NULL 值和外键等约束。具体来说,STRICT_ALL_TABLES 模式会执行以下操作: +- STRICT_ALL_TABLES:STRICT_ALL_TABLES 在 MatrixOne SQL 模式中被称为**启用严格模式 (strict all tables) 模式**。在 STRICT_ALL_TABLES 模式下,MatrixOne 启用了一系列的严格性检查,以确保插入、更新和删除操作符合数据类型、NULL 值和外键等约束。具体来说,STRICT_ALL_TABLES 模式会执行以下操作: 拒绝将非法值插入到任何列中。 拒绝将 NULL 值插入到非允许 NULL 的列中。 @@ -167,11 +167,11 @@ sql_mode 常见的模式如下,在 MatrixOne 中也是默认的模式: 需要注意的是,启用严格模式可能会导致一些旧的应用程序出现问题,因为它们可能假定 MatrixOne 不会执行强制性的约束检查。如果你在更新或迁移应用程序时遇到问题,请考虑禁用严格模式或修改应用程序以符合严格模式的要求。 -- TIME_TRUNCATE_FRACTIONAL:TIME_TRUNCATE_FRACTIONAL 在 MatrixOne SQL 模式中被称为**截断时间的小数部分(time truncate fractional)模式**。在 TIME_TRUNCATE_FRACTIONAL 模式下,MatrixOne 将截断 TIME、DATETIME 和 TIMESTAMP 类型的数据中的小数部分,只保留整数部分。这意味着,如果你将一个带有小数部分的时间数据插入到一个 TIME、DATETIME 或 TIMESTAMP 类型的列中,MatrixOne 会将小数部分截断,并将其设置为 0。 +- TIME_TRUNCATE_FRACTIONAL:TIME_TRUNCATE_FRACTIONAL 在 MatrixOne SQL 模式中被称为**截断时间的小数部分 (time truncate fractional) 模式**。在 TIME_TRUNCATE_FRACTIONAL 模式下,MatrixOne 将截断 TIME、DATETIME 和 TIMESTAMP 类型的数据中的小数部分,只保留整数部分。这意味着,如果你将一个带有小数部分的时间数据插入到一个 TIME、DATETIME 或 TIMESTAMP 类型的列中,MatrixOne 会将小数部分截断,并将其设置为 0。 需要注意的是,启用 TIME_TRUNCATE_FRACTIONAL 模式可能会导致一些数据的精度丢失,因为截断小数部分可能会丢失一些关键的时间信息。如果你需要存储和操作精确的时间数据,建议不要使用 TIME_TRUNCATE_FRACTIONAL 模式。 -- TRADITIONAL:TRADITIONAL 是 MatrixOne SQL 模式中的一种模式,它被称为**传统模式(traditional)模式**。在 TRADITIONAL 模式下,MatrixOne 启用了一系列的严格性检查,以确保插入、更新和删除操作符合 SQL 标准的约束。具体来说,TRADITIONAL 模式会执行以下操作: +- TRADITIONAL:TRADITIONAL 是 MatrixOne SQL 模式中的一种模式,它被称为**传统模式 (traditional) 模式**。在 TRADITIONAL 模式下,MatrixOne 启用了一系列的严格性检查,以确保插入、更新和删除操作符合 SQL 标准的约束。具体来说,TRADITIONAL 模式会执行以下操作: 启用了 STRICT_TRANS_TABLES 和 STRICT_ALL_TABLES 模式。 拒绝在 INSERT 语句中省略列名,这样可以确保所有列都被明确地赋值。 diff --git a/docs/MatrixOne-Cloud/Reference/Variable/system-variables/system-variables-overview.md b/docs/MatrixOne-Cloud/Reference/Variable/system-variables/system-variables-overview.md index 34fdc99..fa9ede7 100644 --- a/docs/MatrixOne-Cloud/Reference/Variable/system-variables/system-variables-overview.md +++ b/docs/MatrixOne-Cloud/Reference/Variable/system-variables/system-variables-overview.md @@ -1,6 +1,6 @@ # 服务器系统变量 -MatrixOne 服务器系统变量(System Variable)是指在 MatrixOne Server 中,用于控制或配置数据库引擎或其他组件行为的一组变量。这些变量的值可以通过 `SET` 语句进行设置和更改。 +MatrixOne 服务器系统变量 (System Variable) 是指在 MatrixOne Server 中,用于控制或配置数据库引擎或其他组件行为的一组变量。这些变量的值可以通过 `SET` 语句进行设置和更改。 系统变量可分为两类:**全局变量**和**会话变量**。 @@ -24,7 +24,7 @@ SHOW VARIABLES LIKE '%theme%'; 这将列出所有名称中包含 `theme` 的系统变量及其当前值。 -**Note:** `LIKE` 运算符是用来模糊匹配查询字符串的,% 表示零个或多个任意字符。所以,上述命令将匹配名称中包含 `theme` 的任何系统变量。 +**Note:**`LIKE` 运算符是用来模糊匹配查询字符串的,% 表示零个或多个任意字符。所以,上述命令将匹配名称中包含 `theme` 的任何系统变量。 ### 如何查询全局变量? @@ -42,7 +42,7 @@ SHOW GLOBAL VARIABLES LIKE '%theme%'; 这将列出所有名称中包含 `theme` 的全局系统变量及其当前值。 -**Note:** `LIKE` 运算符是用来模糊匹配查询字符串的,% 表示零个或多个任意字符。所以,上述命令将匹配名称中包含 `theme` 的任何全局系统变量。 +**Note:**`LIKE` 运算符是用来模糊匹配查询字符串的,% 表示零个或多个任意字符。所以,上述命令将匹配名称中包含 `theme` 的任何全局系统变量。 ### 如何查询会话变量? @@ -60,7 +60,7 @@ SHOW SESSION VARIABLES LIKE '%theme%'; 这将列出所有名称中包含 `theme` 的会话变量及其当前值。 -**Note:** `LIKE` 运算符是用来模糊匹配查询字符串的,% 表示零个或多个任意字符。所以,上述命令将匹配名称中包含 `theme` 的任何会话系统变量。 +**Note:**`LIKE` 运算符是用来模糊匹配查询字符串的,% 表示零个或多个任意字符。所以,上述命令将匹配名称中包含 `theme` 的任何会话系统变量。 ## 变量参照表 diff --git a/docs/MatrixOne-Cloud/Reference/Variable/system-variables/timezone.md b/docs/MatrixOne-Cloud/Reference/Variable/system-variables/timezone.md index 856c91b..57152df 100644 --- a/docs/MatrixOne-Cloud/Reference/Variable/system-variables/timezone.md +++ b/docs/MatrixOne-Cloud/Reference/Variable/system-variables/timezone.md @@ -2,7 +2,7 @@ MatrixOne 使用的时区取决于三个系统变量:`global.time_zone`,`session.time_zone` 和 `global.system_time_zone`。 -* `global.system_time_zone` 表示服务器系统时区。当服务器启动时,它会尝试确定主机的时区,并使用它来设置系统时区(`system_time_zone`)。 +* `global.system_time_zone` 表示服务器系统时区。当服务器启动时,它会尝试确定主机的时区,并使用它来设置系统时区 (`system_time_zone`)。 * `global.time_zone` 表示服务器当前时区。初始 `time_zone` 值为 `SYSTEM`,表示服务器时区与系统时区相同。 @@ -34,16 +34,16 @@ SET time_zone = timezone; * 值 `SYSTEM` 表示时区应与服务器系统时区相同。 -* 值 `UTC` 表示时区设置为 UTC(Coordinated Universal Time,协调世界时)。仅支持“UTC”缩写作为时区使用。 +* 值 `UTC` 表示时区设置为 UTC (Coordinated Universal Time,协调世界时)。仅支持 “UTC” 缩写作为时区使用。 -* 该值可以作为字符串给出,表示 UTC 时间的偏移,格式为“HH:MM”,带有 + 或 -,例如 `+10:00` 或者 `-6:00`。允许的范围是“-13:59”到“+14:00”。 +* 该值可以作为字符串给出,表示 UTC 时间的偏移,格式为 “HH:MM”,带有 + 或 -,例如 `+10:00` 或者 `-6:00`。允许的范围是 “-13:59” 到 “+14:00”。 当前会话时区设置会影响时区敏感时间值的显示和存储。即会影响执行 `NOW()` 等函数查询到的值以及存储在 `TIMESTAMP` 列中和从 `TIMESTAMP` 列中查询到的值。 会话时区设置不影响 `UTC_TIMESTAMP()` 等函数显示的值或 `DATE`、`TIME` 或 `DATETIME` 列中的值。 !!! note - 只有 Timestamp 数据类型的值是受时区影响的。可以理解为,Timestamp 数据类型的实际表示使用的是(字面值 + 时区信息)。其它时间和日期类型,比如 Datetime/Date/Time 是不包含时区信息的,所以也不受到时区变化的影响。 + 只有 Timestamp 数据类型的值是受时区影响的。可以理解为,Timestamp 数据类型的实际表示使用的是 (字面值 + 时区信息)。其它时间和日期类型,比如 Datetime/Date/Time 是不包含时区信息的,所以也不受到时区变化的影响。 ```sql > SELECT @@global.time_zone, @@session.time_zone, @@global.system_time_zone; diff --git a/docs/MatrixOne-Cloud/Reference/access-control-type.md b/docs/MatrixOne-Cloud/Reference/access-control-type.md index a7c61e5..086eb00 100644 --- a/docs/MatrixOne-Cloud/Reference/access-control-type.md +++ b/docs/MatrixOne-Cloud/Reference/access-control-type.md @@ -81,7 +81,7 @@ 在 MatrixOne Cloud 中,发布订阅是对 MatrixOne Cloud 中指定用户的数据库发起的数据共享访问,MatrixOne Cloud 允许一个账号下的多个实例及跨账号的实例间进行数据发布订阅。 -**Note:** 当前 MatrixOne Cloud 中仅支持 *moadmin* 和 *accountadmin* 角色才可以进行发布订阅操作。 +**Note:**当前 MatrixOne Cloud 中仅支持 *moadmin* 和 *accountadmin* 角色才可以进行发布订阅操作。 - **发布端** diff --git a/docs/MatrixOne-Cloud/Release-Notes/2023.md b/docs/MatrixOne-Cloud/Release-Notes/2023.md index a11f678..036454f 100644 --- a/docs/MatrixOne-Cloud/Release-Notes/2023.md +++ b/docs/MatrixOne-Cloud/Release-Notes/2023.md @@ -39,7 +39,7 @@ **错误修复** - 修复了某些场景下实例存储为 0 的问题 -- 修复了查询历史功能中过滤“失败”状态的 SQL 无返回结果的问题 +- 修复了查询历史功能中过滤 “失败” 状态的 SQL 无返回结果的问题 - 修复了用户注册后激活邮件过期跳转页面不正确的问题 - 修复了事务监控值不正确的问题 - 修复了普通权限的 sql 用户不能使用 sql 工作簿的问题 @@ -74,7 +74,7 @@ 【功能三】支持私网连接 -私网连接(Private Link)是一种常用的生产环境访问云上数据库的方式。相比公网连接,它安全可靠,配置也很简单。具体优势如下: +私网连接 (Private Link) 是一种常用的生产环境访问云上数据库的方式。相比公网连接,它安全可靠,配置也很简单。具体优势如下: - 私网通信:通过私网连接访问终端节点服务,访问流量均在阿里云内网转发,不会通过公网,避免了通过公网访问服务带来的潜在安全风险。 @@ -148,7 +148,7 @@ 【功能四】查询历史 SQL 合并 -当业务高并发执行时,会在短时间内产生大量 SQL 语句(例如 5s 执行 10w 条 insert 和 select sql),之前查询历史中会记录每一条 SQL 语句,我们认为这样的记录是不必要的,因为用户并不关心每条语句的执行详情而是关心一段时间的统计值,明细且繁多的 SQL 反而不容易观察,并且这样的记录也会大量开销计算资源,影响高并发下性能,因此我们将符合一定规则的 sql 每隔一段时间聚合记录。具体规则如下: +当业务高并发执行时,会在短时间内产生大量 SQL 语句 (例如 5s 执行 10w 条 insert 和 select sql),之前查询历史中会记录每一条 SQL 语句,我们认为这样的记录是不必要的,因为用户并不关心每条语句的执行详情而是关心一段时间的统计值,明细且繁多的 SQL 反而不容易观察,并且这样的记录也会大量开销计算资源,影响高并发下性能,因此我们将符合一定规则的 sql 每隔一段时间聚合记录。具体规则如下: - 执行时长小于 200ms 的 Insert、Update、Delete、Execute、Select 的 SQL 语句会被纳入聚合范围; - 每隔 5 秒会聚合一次,聚合记录包含被聚合 sql 的条数、总执行时长、SQL 原始语句等,但不再记录每条 SQL 的执行计划; @@ -159,14 +159,14 @@ **改进** - MO Cloud 时区显示优化。我们在云平台的右上角新增了时区显示和切换功能,方便您知晓云平台中展示的各个时间的时区信息,假如您在浏览非本地区的实例,您可以切换成您的当地时区,便于查看 -- 对 Serverless 免费实例增加存储限制。若实例存储大小超过 5GB,则会禁止该实例下的 SQL 写操作,只允许 select, show 和 delete 操作。当数据被删除至大小值小于该阈值后,会立即恢复正常 -- 提升了 Serverless 实例中 CU 统计的实时性(从 80 分钟优化至 30 分钟以内) +- 对 Serverless 免费实例增加存储限制。若实例存储大小超过 5GB,则会禁止该实例下的 SQL 写操作,只允许 select,show 和 delete 操作。当数据被删除至大小值小于该阈值后,会立即恢复正常 +- 提升了 Serverless 实例中 CU 统计的实时性 (从 80 分钟优化至 30 分钟以内) - 在 Serverless 实例中,增加了一键加载样例数据 TPC-H 10G - 实例监控和数据库使用监控恢复更细粒度的 30min 和 1hour 的区间统计详情 - 增加使用 Go 语言连接实例的信息展示 - 优化了 MO Cloud 在阿里云上的机器配置 - 优化了实例存储信息获取失败时的显示行为 -- 大幅提升了云平台各信息的响应性能(如实例详情、监控、查询历史等) +- 大幅提升了云平台各信息的响应性能 (如实例详情、监控、查询历史等) - 优化了界面中长字段的信息展示 - 优化了 SQL Editor 切换页面菜单后返回时的界面展示 @@ -187,8 +187,8 @@ **功能** -- 支持阿里云(Beta) -- 支持付费实例(Beta) +- 支持阿里云 (Beta) +- 支持付费实例 (Beta) - 利用发布订阅功能,提供一键快速创建 TPC-H 数据库,节省了导入成本 - 在 SQL Editor 的数据对象栏中加入了表详情,帮助用户更加方便的编写 SQL - 增加了 SQL 级别的 CU 查看功能,用户可以查看每条 SQL 的 CU 消耗 @@ -220,7 +220,7 @@ - 修复了查询历史中,在筛选条件 session id 中填写 %,返回 500 报错的问题 - 修复了查询历史中,在筛选条件 SQL Text 中填写 %,反馈结果错误的问题 - 修复了查询历史中,在筛选条件 start time 选择大于当前时间,返回 500 报错的问题 -- 修复了查询历史中,未去掉 '/*cloud_nonuser*/' 标签的问题 +- 修复了查询历史中,未去掉 ‘/*cloud_nonuser*/’ 标签的问题 - 修复了查询历史中,CU 显示值错误的问题 - 修复了查询结果下载失败的问题 - 修复了使用 API 终止名字以数字开头的实例失败的问题 diff --git a/docs/MatrixOne-Cloud/Security/Security-Permission-Overview.md b/docs/MatrixOne-Cloud/Security/Security-Permission-Overview.md index 668f3a9..368f8fd 100644 --- a/docs/MatrixOne-Cloud/Security/Security-Permission-Overview.md +++ b/docs/MatrixOne-Cloud/Security/Security-Permission-Overview.md @@ -16,7 +16,7 @@ MatrixOne Cloud 数据库安全的目标是保护数据库免受未经授权的 MatrixOne Cloud 数据库权限管理是管理用户对数据库的访问权限和操作权限的过程。通过细粒度的权限控制,可以确保每个用户只能执行其所需的操作,并限制对敏感数据的访问。MatrixOne Cloud 的数据库权限管理包括以下方面: * 用户角色和权限分配:将用户分配到不同的角色,每个角色具有不同的权限级别,然后将权限与角色相关联,以简化权限管理。 -* 对象级权限:定义用户对特定数据库对象(如表、视图)的访问和操作权限,确保用户只能执行其授权范围内的操作。 +* 对象级权限:定义用户对特定数据库对象 (如表、视图) 的访问和操作权限,确保用户只能执行其授权范围内的操作。 * 权限继承和继承控制:通过继承机制,将角色的权限传递给用户或其他角色,并进行控制,确保权限的正确继承和管理。 ## 密码管理 diff --git a/docs/MatrixOne-Cloud/Security/TLS-introduction.md b/docs/MatrixOne-Cloud/Security/TLS-introduction.md index d949756..65cf3a6 100644 --- a/docs/MatrixOne-Cloud/Security/TLS-introduction.md +++ b/docs/MatrixOne-Cloud/Security/TLS-introduction.md @@ -2,11 +2,11 @@ MatrixOne Cloud 采用默认的加密传输,支持 TLS 协议的加密传输,通过该方式减少了数据库中敏感信息泄露的风险。加密传输是一种通过密钥对信息进行加密和解密的方法,有助于有效保护数据的安全。 -传输层安全性(Transport Layer Security,TLS)是一种广泛采用的安全协议,MatrixOne Cloud 支持多个协议版本,包括 TLS 1.0、TLS 1.1 和 TLS 1.2。 +传输层安全性 (Transport Layer Security,TLS) 是一种广泛采用的安全协议,MatrixOne Cloud 支持多个协议版本,包括 TLS 1.0、TLS 1.1 和 TLS 1.2。 ## 如何使用 -### 1. 验证 MatrixOne Cloud 的 SSL 是否启用 +### 1。验证 MatrixOne Cloud 的 SSL 是否启用 1. 登录到 MatrixOne Cloud,选择目标实例,点击**连接 > 通过第三方工具连接**,右侧滑窗内可查阅到 MatrixOne Cloud 上你的实例连接串。 @@ -48,7 +48,7 @@ MatrixOne Cloud 采用默认的加密传输,支持 TLS 协议的加密传输 -------------- ``` -### 2. 配置 MySQL 客户端参数 +### 2。配置 MySQL 客户端参数 你也可以在通过 MySQL 客户端连接 MatrixOne Cloud 时,通过 `--ssl-mode` 参数指定加密连接行为,代码示例如下: diff --git a/docs/MatrixOne-Cloud/Security/about-privilege-management.md b/docs/MatrixOne-Cloud/Security/about-privilege-management.md index ea3b40e..6c2632e 100644 --- a/docs/MatrixOne-Cloud/Security/about-privilege-management.md +++ b/docs/MatrixOne-Cloud/Security/about-privilege-management.md @@ -1,4 +1,4 @@ -# 基于角色的访问控制(RBAC) +# 基于角色的访问控制 (RBAC) ## 概述 @@ -9,11 +9,11 @@ MatrixOne Cloud 权限管理帮助你管理租户、用户帐号生命周期, MatrixOne Cloud 的权限管理是结合了基于角色的访问控制 (RBAC,Role-based access control) 和自主访问控制 (DAC,Discretionary access control) 两种安全模型设计和实现的,这两种安全模型是中立的访问控制机制,主要围绕角色和权限授权策略。它既保证了数据访问的安全性,又给数据库运维人员提供了灵活且便捷的管理方法。 -- **基于角色的访问控制(RBAC)**:将权限分配给角色,再将角色分配给用户。 +- **基于角色的访问控制 (RBAC)**:将权限分配给角色,再将角色分配给用户。 ![](https://community-shared-data-1308875761.cos.ap-beijing.myqcloud.com/artwork/docs/security/basic-concepts-1.png) -- **自主访问控制(DAC)**:每个对象都有一个所有者,所有者可以设置和授予对该对象的访问权限。 +- **自主访问控制 (DAC)**:每个对象都有一个所有者,所有者可以设置和授予对该对象的访问权限。 ![](https://community-shared-data-1308875761.cos.ap-beijing.myqcloud.com/artwork/docs/security/dac.png) @@ -25,19 +25,19 @@ MatrixOne Cloud 的权限管理是结合了基于角色的访问控制 (RBAC,R #### 对象与对象之间的关系 -一个 MatrixOne Cloud 账号下可以创建多个实例,一个实例即是一个租户(Account),一个租户下可以创建多个用户和角色,一个数据库中可以创建多个表和视图。 +一个 MatrixOne Cloud 账号下可以创建多个实例,一个实例即是一个租户 (Account),一个租户下可以创建多个用户和角色,一个数据库中可以创建多个表和视图。 -在 MatrixOne Cloud 中,尽管每个对象中的操作权限是相互独立的(例如 Database 对象中的 `SHOW TABLES` 权限和 Table 对象中的 `SELECT` 权限并没有直接关系),但对象之间的创建仍具有一定关联,例如 Database 对象中的 `CREAT TABLE` 权限可以创建 Table 对象,这便形成了对象之间的层级关系, +在 MatrixOne Cloud 中,尽管每个对象中的操作权限是相互独立的 (例如 Database 对象中的 `SHOW TABLES` 权限和 Table 对象中的 `SELECT` 权限并没有直接关系),但对象之间的创建仍具有一定关联,例如 Database 对象中的 `CREAT TABLE` 权限可以创建 Table 对象,这便形成了对象之间的层级关系, 那么,由于高层级对象可以创建低层级对象,那么较高层级的对象就是**对象的创建者 (Owner)**。 -#### 对象的创建者(Owner) +#### 对象的创建者 (Owner) -当一个对象被创建后,创建者便是这个对象的 Owner,它具有管理这个对象的最高权限(即 **Ownership 权限**,它是对象内所封装的所有权限),那么 Owner 的操作权限集合了该对象的所有操作权限。 +当一个对象被创建后,创建者便是这个对象的 Owner,它具有管理这个对象的最高权限 (即 **Ownership 权限**,它是对象内所封装的所有权限),那么 Owner 的操作权限集合了该对象的所有操作权限。 例如 Table 对象有 `Select`,`Insert`,`Update`,`Delete`,`Truncate`,`Ownership` 权限,如果一个角色拥有了某个 Table 的 Ownership 权限,那么该角色等同于拥有了 `Select`,`Insert`,`Update`,`Delete`,`Truncate` 权限。 -由于权限、角色和用户之间的传递性,你可以把对象的创建者(以下称为对象 Owner)理解为一个角色。 +由于权限、角色和用户之间的传递性,你可以把对象的创建者 (以下称为对象 Owner) 理解为一个角色。 **如何理解对象的创建者是一个角色呢?** @@ -61,7 +61,7 @@ MatrixOne Cloud 的权限管理是结合了基于角色的访问控制 (RBAC,R - Owner 可以转移给另一个角色。 -**Note**: *ACCOUNTADMIN* (租户管理员角色,租户被创建后即自动生成) 虽然不是租户内所用对象的 Owner,但它拥有所有对象的 Ownership 权限。 +**Note**:*ACCOUNTADMIN* (租户管理员角色,租户被创建后即自动生成) 虽然不是租户内所用对象的 Owner,但它拥有所有对象的 Ownership 权限。 ### 租户 @@ -77,7 +77,7 @@ MatrixOne Cloud 可以创建和管理多个数据和用户权限体系完全隔 设立**角色**,是为了节省相同权限授予的操作成本。p1,p2,p3 这三个权限都需要被授予给用户 u1,u2,u3,你只需要先将 p1,p2,p3 授予角色 r1,再将角色 r1 一次性授予用户 u1,u2,u3,相比把每个权限都分别授予每个用户来说,操作上更为简单,并且随着用户和权限数目的增加,这一优势会越发明显。同时,角色的出现进一步抽象了权限集合及其关系,对于后期的权限维护也十分方便。 -MatrixOne Cloud 在集群和租户 (Account) 创建后,会自动创建一些默认角色和用户(详见下面的**初始化访问**章节),这些角色具有最高管理权限,用于在最开始管理集群和租户 (Account),我们不建议您将这些角色授予日常执行 SQL 的用户,权限过高会引入更多的安全问题,因此,MatrixOne Cloud 支持创建自定义角色,您可以根据用户的业务需要自定义角色,再将适合的权限赋予这些角色。 +MatrixOne Cloud 在集群和租户 (Account) 创建后,会自动创建一些默认角色和用户 (详见下面的**初始化访问**章节),这些角色具有最高管理权限,用于在最开始管理集群和租户 (Account),我们不建议您将这些角色授予日常执行 SQL 的用户,权限过高会引入更多的安全问题,因此,MatrixOne Cloud 支持创建自定义角色,您可以根据用户的业务需要自定义角色,再将适合的权限赋予这些角色。 **角色要点** @@ -92,9 +92,9 @@ MatrixOne Cloud 在集群和租户 (Account) 创建后,会自动创建一些 - 角色和用户仅在各自的租户 (Account) 内生效,包括系统租户 (Sys Account)。 !!! note - 1. 角色的权限继承是动态的,如果被继承角色的权限发生了变化,那么继承角色所继承的权限范围也会动态变化。 - 2. 角色的继承关系不能成环。例如,role1 继承了 role2,role 2 继承了 role3,role3 继承了 role1。 - 3. 角色间的权限传递使得权限管理更加便捷,但同时也存在风险,为此,MatrixOne Cloud 只允许具有 *Manage Grants* 权限的角色才能做这样的操作,该权限被默认赋予给系统默认角色 *MOADMIN* 或 *ACCOUNTADMIN* 中,并且不建议在新建自定义角色时将该权限授予给自定义角色。 + 1。角色的权限继承是动态的,如果被继承角色的权限发生了变化,那么继承角色所继承的权限范围也会动态变化。 + 2。角色的继承关系不能成环。例如,role1 继承了 role2,role 2 继承了 role3,role3 继承了 role1。 + 3。角色间的权限传递使得权限管理更加便捷,但同时也存在风险,为此,MatrixOne Cloud 只允许具有 *Manage Grants* 权限的角色才能做这样的操作,该权限被默认赋予给系统默认角色 *MOADMIN* 或 *ACCOUNTADMIN* 中,并且不建议在新建自定义角色时将该权限授予给自定义角色。 #### 角色切换 @@ -103,7 +103,7 @@ MatrixOne Cloud 在集群和租户 (Account) 创建后,会自动创建一些 **主要角色**:用户在某一时刻只能使用其中一个角色,我们称当前所使用的这个角色为**主要角色**。 **次要角色**:除了主要角色之外该用户所拥有的其他角色集合称为**次要角色**。 -在默认情况下,如果用户想去执行另一个角色权限的 SQL 时,需要先切换角色(即 `set role `)。此外,为了兼容经典数据库的权限行为,MatrixOne Cloud 还支持开启*使用次要角色*的功能:使用 `set secondary role all`,执行这条 SQL 后,该用户便可同时拥有他所有角色的权限了,执行 `set secondary role none` 即可关闭此功能。 +在默认情况下,如果用户想去执行另一个角色权限的 SQL 时,需要先切换角色 (即 `set role `)。此外,为了兼容经典数据库的权限行为,MatrixOne Cloud 还支持开启*使用次要角色*的功能:使用 `set secondary role all`,执行这条 SQL 后,该用户便可同时拥有他所有角色的权限了,执行 `set secondary role none` 即可关闭此功能。 ## 应用场景 @@ -125,7 +125,7 @@ A 公司购买了 MatrixOne Cloud,并且完成了部署。由于 A 公司规 研发同事 *Joe* 是这个 A 公司项目 *BusinessApp* 的应用开发者,*Joe* 有一个开发任务,*Joe* 需要使用数据库内所有的数据。那么 *Robert* 就要帮 *Joe* 开通账号,给 *Joe* 授权: -1. *Robert* 先给 *Joe* 创建了一个用户账号(即,用户),名字叫做 *Joe_G*,*Joe* 就使用 *Joe_G* 这个账号登录到 MatrixOne。 +1. *Robert* 先给 *Joe* 创建了一个用户账号 (即,用户),名字叫做 *Joe_G*,*Joe* 就使用 *Joe_G* 这个账号登录到 MatrixOne。 2. *Robert* 又给 *Joe* 创建了一个角色,名字叫做 *Appdeveloper*,并且把 *Appdeveloper* 角色赋予给 *Joe* 的用户账号 *Joe_G* 上。 3. *Robert* 又给角色 *Appdeveloper* 授予了 *ALL ON DATABASE* 的权限。 4. *Joe* 就可以使用 *Joe_G* 这个账号登录到 MatrixOne,并且全权操作数据库进行开发了。 diff --git a/docs/MatrixOne-Cloud/tech-support.md b/docs/MatrixOne-Cloud/tech-support.md index b95352a..5f1355a 100644 --- a/docs/MatrixOne-Cloud/tech-support.md +++ b/docs/MatrixOne-Cloud/tech-support.md @@ -6,25 +6,25 @@ 我们有一支经验丰富且高度专业的技术支持团队,他们精通各种技术领域,包括: -- **云平台**: 欢迎您使用我们的 MatrixOne Cloud 云平台,我们可以帮助您优化云资源使用,提高性能,并确保数据的安全。 +- **云平台**:欢迎您使用我们的 MatrixOne Cloud 云平台,我们可以帮助您优化云资源使用,提高性能,并确保数据的安全。 -- **数据库管理**: 我们可以协助您管理 MatrixOne 数据库系统,进行备份、恢复、性能调整等操作,以确保数据库始终稳定运行。 +- **数据库管理**:我们可以协助您管理 MatrixOne 数据库系统,进行备份、恢复、性能调整等操作,以确保数据库始终稳定运行。 -- **应用开发**: 无论是移动应用还是企业级软件,我们可以提供开发支持,解决技术问题,优化性能,甚至指导您进行应用架构设计。 +- **应用开发**:无论是移动应用还是企业级软件,我们可以提供开发支持,解决技术问题,优化性能,甚至指导您进行应用架构设计。 -- **技术咨询**: 如果您需要关于技术战略、架构规划或数字转型的建议,我们的团队也可以为您提供咨询服务。 +- **技术咨询**:如果您需要关于技术战略、架构规划或数字转型的建议,我们的团队也可以为您提供咨询服务。 ## 我们的服务 我们的技术支持服务旨在满足各种需求: -- **24/7 支持**: 无论您在何时遇到问题,我们都会随时提供支持,以确保您的业务不受中断。 +- **24/7 支持**:无论您在何时遇到问题,我们都会随时提供支持,以确保您的业务不受中断。 -- **定制解决方案**: 我们了解每个客户都有独特的需求,因此我们提供定制化的解决方案,以满足您的特定要求。 +- **定制解决方案**:我们了解每个客户都有独特的需求,因此我们提供定制化的解决方案,以满足您的特定要求。 -- **紧急支持**: 对于紧急问题,我们的团队会迅速响应,并采取紧急措施来解决问题。 +- **紧急支持**:对于紧急问题,我们的团队会迅速响应,并采取紧急措施来解决问题。 -- **远程支持**: 大多数问题可以通过远程支持解决,这意味着您可以节省时间和成本,无需等待技术支持人员上门。 +- **远程支持**:大多数问题可以通过远程支持解决,这意味着您可以节省时间和成本,无需等待技术支持人员上门。 ## 联系我们