You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2022/11/09 06:57:05 UTC

[iotdb] branch rename_sg_to_db created (now 273b7bc02b)

This is an automated email from the ASF dual-hosted git repository.

qiaojialin pushed a change to branch rename_sg_to_db
in repository https://gitbox.apache.org/repos/asf/iotdb.git


      at 273b7bc02b rename sg to db

This branch includes the following new commits:

     new 273b7bc02b rename sg to db

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[iotdb] 01/01: rename sg to db

Posted by qi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

qiaojialin pushed a commit to branch rename_sg_to_db
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 273b7bc02b9491377d0f60b22f61a5d1fd0eef61
Author: qiaojialin <64...@qq.com>
AuthorDate: Wed Nov 9 14:56:49 2022 +0800

    rename sg to db
---
 README.md                                          |  16 +--
 README_ZH.md                                       |  22 ++--
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |   2 +-
 client-py/README.md                                |  12 +--
 client-py/SessionAlignedTimeseriesExample.py       |   4 +-
 client-py/SessionExample.py                        |   4 +-
 client-py/iotdb/Session.py                         |  16 +--
 client-py/iotdb/sqlalchemy/IoTDBDialect.py         |   2 +-
 client-py/tests/test_dataframe.py                  |   4 +-
 client-py/tests/test_one_device.py                 |   2 +-
 client-py/tests/test_tablet.py                     |   4 +-
 client-py/tests/test_template.py                   |   2 +-
 client-py/tests/test_todf.py                       |   6 +-
 .../persistence/partition/PartitionInfo.java       |   4 +-
 .../partition/StorageGroupPartitionTable.java      |   2 +-
 .../tests/tools/importCsv/ImportCsvTestIT.java     |   6 +-
 docs/Development/VoteRelease.md                    |   4 +-
 docs/UserGuide/API/Interface-Comparison.md         |   4 +-
 docs/UserGuide/API/Programming-Cpp-Native-API.md   |   6 +-
 docs/UserGuide/API/Programming-JDBC.md             |   6 +-
 docs/UserGuide/API/Programming-Java-Native-API.md  |   2 +-
 .../UserGuide/API/Programming-Python-Native-API.md |  16 +--
 docs/UserGuide/API/Programming-Thrift.md           |   2 +-
 docs/UserGuide/API/RestService.md                  |   2 +-
 .../Administration-Management/Administration.md    |   8 +-
 docs/UserGuide/Data-Modeling/DataRegion.md         |   2 +-
 docs/UserGuide/Delete-Data/TTL.md                  |  26 ++---
 .../Ecosystem-Integration/Grafana-Plugin.md        |   2 +-
 .../Ecosystem-Integration/Zeppelin-IoTDB.md        |   2 +-
 .../Edge-Cloud-Collaboration/Sync-Tool.md          |   2 +-
 .../Integration-Test-refactoring-tutorial.md       |   4 +-
 .../Maintenance-Tools/Maintenance-Command.md       |   6 +-
 .../Operate-Metadata/Auto-Create-MetaData.md       |  10 +-
 docs/UserGuide/Operate-Metadata/Node.md            |  20 ++--
 docs/UserGuide/Operate-Metadata/Storage-Group.md   |  44 ++++----
 docs/UserGuide/Operate-Metadata/Template.md        |  22 ++--
 docs/UserGuide/Operate-Metadata/Timeseries.md      |  36 +++----
 docs/UserGuide/Query-Data/Aggregate-Query.md       |   6 +-
 .../UserGuide/QuickStart/Command-Line-Interface.md |   8 +-
 docs/UserGuide/QuickStart/QuickStart.md            |  18 ++--
 docs/UserGuide/QuickStart/ServerFileList.md        |   4 +-
 .../Reference/ConfigNode-Config-Manual.md          |   4 +-
 docs/UserGuide/Reference/SQL-Reference.md          |  18 ++--
 docs/UserGuide/Write-Data/CSV-Tool.md              |   6 +-
 docs/UserGuide/Write-Data/Load-External-Tsfile.md  |   2 +-
 docs/zh/Development/VoteRelease.md                 |   4 +-
 docs/zh/UserGuide/API/Programming-JDBC.md          |   8 +-
 docs/zh/UserGuide/API/RestService.md               |   2 +-
 .../Administration-Management/Administration.md    |   6 +-
 docs/zh/UserGuide/Data-Modeling/DataRegion.md      |   4 +-
 docs/zh/UserGuide/Delete-Data/TTL.md               |   2 +-
 .../Ecosystem-Integration/Grafana-Plugin.md        |   2 +-
 .../Ecosystem-Integration/Zeppelin-IoTDB.md        |   2 +-
 .../Edge-Cloud-Collaboration/Sync-Tool.md          |   2 +-
 .../Integration-Test-refactoring-tutorial.md       |   4 +-
 .../zh/UserGuide/Operate-Metadata/Storage-Group.md |  18 ++--
 docs/zh/UserGuide/Operate-Metadata/Timeseries.md   |   2 +-
 docs/zh/UserGuide/Query-Data/Aggregate-Query.md    |   2 +-
 .../UserGuide/QuickStart/Command-Line-Interface.md |   4 +-
 docs/zh/UserGuide/QuickStart/QuickStart.md         |  14 +--
 docs/zh/UserGuide/Reference/SQL-Reference.md       |  16 +--
 docs/zh/UserGuide/Write-Data/CSV-Tool.md           |   6 +-
 .../main/java/org/apache/iotdb/JDBCExample.java    |   2 +-
 .../iotdb/SyntaxConventionRelatedExample.java      |   2 +-
 example/mqtt/README.md                             |   2 +-
 example/rest-client-c-example/main.c               |   4 +-
 .../iotdb/SyntaxConventionRelatedExample.java      |   6 +-
 .../java/org/apache/iotdb/udf/UDTFExample.java     |   2 +-
 grafana-plugin/README.md                           |   2 +-
 .../org/apache/iotdb/it/env/RemoteServerEnv.java   |   8 +-
 .../apache/iotdb/itbase/constant/TestConstant.java |   2 +-
 .../org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java  |   4 +-
 .../java/org/apache/iotdb/db/it/IoTDBAuthIT.java   |  34 +++---
 .../apache/iotdb/db/it/IoTDBDatetimeFormatIT.java  |   2 +-
 .../org/apache/iotdb/db/it/IoTDBDeletionIT.java    |   6 +-
 .../org/apache/iotdb/db/it/IoTDBExampleIT.java     |   4 +-
 .../apache/iotdb/db/it/IoTDBFilterBetweenIT.java   |   2 +-
 .../java/org/apache/iotdb/db/it/IoTDBFilterIT.java |   2 +-
 .../org/apache/iotdb/db/it/IoTDBFilterNullIT.java  |   2 +-
 .../apache/iotdb/db/it/IoTDBFloatPrecisionIT.java  |   4 +-
 .../apache/iotdb/db/it/IoTDBFlushQueryMergeIT.java |  16 +--
 .../apache/iotdb/db/it/IoTDBInsertMultiRowIT.java  |   2 +-
 .../org/apache/iotdb/db/it/IoTDBInsertNaNIT.java   |   8 +-
 .../org/apache/iotdb/db/it/IoTDBInsertNullIT.java  |   2 +-
 .../iotdb/db/it/IoTDBInsertWithoutTimeIT.java      |   2 +-
 .../org/apache/iotdb/db/it/IoTDBMultiDeviceIT.java |   2 +-
 .../org/apache/iotdb/db/it/IoTDBNestedQueryIT.java |   2 +-
 .../iotdb/db/it/IoTDBPartialInsertionIT.java       |   4 +-
 .../db/it/IoTDBQueryWithRecreatedTimeseriesIT.java |   2 +-
 .../org/apache/iotdb/db/it/IoTDBQuotedPathIT.java  |   4 +-
 .../org/apache/iotdb/db/it/IoTDBRecoverIT.java     |   6 +-
 .../apache/iotdb/db/it/IoTDBRecoverUnclosedIT.java |   6 +-
 .../it/IoTDBSameMeasurementsDifferentTypesIT.java  |   2 +-
 .../java/org/apache/iotdb/db/it/IoTDBSettleIT.java |   2 +-
 .../org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java |  50 ++++-----
 .../org/apache/iotdb/db/it/IoTDBTimeZoneIT.java    |   6 +-
 .../java/org/apache/iotdb/db/it/IoTDBTtlIT.java    |   8 +-
 .../it/aggregation/IoTDBAggregationByLevelIT.java  |   4 +-
 .../db/it/aggregation/IoTDBAggregationIT.java      |   8 +-
 .../aggregation/IoTDBAggregationLargeDataIT.java   |   2 +-
 .../aggregation/IoTDBAggregationSmallDataIT.java   |   2 +-
 .../db/it/aggregation/IoTDBTagAggregationIT.java   |   6 +-
 .../db/it/alignbydevice/IoTDBAlignByDeviceIT.java  |   4 +-
 .../db/it/aligned/IoTDBAlignedDataDeletionIT.java  |   4 +-
 .../db/it/aligned/IoTDBGroupByLevelQueryIT.java    |   2 +-
 .../apache/iotdb/db/it/groupby/IOTDBGroupByIT.java |   2 +-
 .../iotdb/db/it/groupby/IoTDBGroupByUnseqIT.java   |   4 +-
 .../apache/iotdb/db/it/groupby/IoTDBHavingIT.java  |   2 +-
 .../org/apache/iotdb/db/it/query/IoTDBAliasIT.java |   6 +-
 .../iotdb/db/it/query/IoTDBArithmeticIT.java       |   2 +-
 .../iotdb/db/it/query/IoTDBFuzzyQueryIT.java       |   2 +-
 .../org/apache/iotdb/db/it/query/IoTDBInIT.java    |   4 +-
 .../iotdb/db/it/query/IoTDBNullValueFillIT.java    |   2 +-
 .../iotdb/db/it/query/IoTDBPaginationIT.java       |   2 +-
 .../apache/iotdb/db/it/query/IoTDBQueryDemoIT.java |   4 +-
 .../apache/iotdb/db/it/query/IoTDBResultSetIT.java |   2 +-
 .../it/query/IoTDBSelectCompareExpressionIT.java   |   2 +-
 .../iotdb/db/it/query/IoTDBSelectSchemaIT.java     |   2 +-
 .../db/it/schema/IoTDBAutoCreateSchemaIT.java      |   6 +-
 .../it/schema/IoTDBCreateAlignedTimeseriesIT.java  |   4 +-
 .../db/it/schema/IoTDBCreateStorageGroupIT.java    |  22 ++--
 .../db/it/schema/IoTDBCreateTimeseriesIT.java      |   4 +-
 .../db/it/schema/IoTDBDeleteStorageGroupIT.java    |  46 ++++----
 .../iotdb/db/it/schema/IoTDBMetadataFetchIT.java   |  14 +--
 .../db/it/schema/IoTDBSortedShowTimeseriesIT.java  |   4 +-
 .../iotdb/db/it/selectinto/IoTDBSelectIntoIT.java  |   4 +-
 .../db/it/trigger/IoTDBTriggerExecutionIT.java     |   2 +-
 .../db/it/trigger/IoTDBTriggerManagementIT.java    |   2 +-
 .../org/apache/iotdb/db/it/udf/IoTDBUDFM4IT.java   |   2 +-
 .../db/it/udf/IoTDBUDFOtherWindowQueryIT.java      |   2 +-
 .../iotdb/db/it/udf/IoTDBUDFWindowQueryIT.java     |   2 +-
 .../db/it/udf/IoTDBUDTFAlignByTimeQueryIT.java     |   2 +-
 .../db/it/udf/IoTDBUDTFBuiltinFunctionIT.java      |   8 +-
 .../iotdb/db/it/udf/IoTDBUDTFHybridQueryIT.java    |   2 +-
 .../iotdb/db/it/udf/IoTDBUDTFNonAlignQueryIT.java  |   2 +-
 .../apache/iotdb/db/it/utils/AlignedWriteUtil.java |   2 +-
 .../iotdb/db/it/watermark/IoTDBWatermarkIT.java    |   2 +-
 .../db/it/withoutNull/IoTDBWithoutAllNullIT.java   |   2 +-
 .../db/it/withoutNull/IoTDBWithoutAnyNullIT.java   |   2 +-
 .../withoutNull/IoTDBWithoutNullAllFilterIT.java   |   2 +-
 .../withoutNull/IoTDBWithoutNullAnyFilterIT.java   |   2 +-
 .../iotdb/integration/env/ClusterEnvBase.java      |   2 +-
 .../iotdb/integration/env/RemoteServerEnv.java     |   4 +-
 .../apache/iotdb/db/integration/IOTDBInsertIT.java |   2 +-
 .../IoTDBAlignedTimeSeriesCompactionIT.java        |   2 +-
 .../iotdb/db/integration/IoTDBAuthorizationIT.java |  34 +++---
 .../iotdb/db/integration/IoTDBClearCacheIT.java    |   4 +-
 .../apache/iotdb/db/integration/IoTDBCloseIT.java  |   2 +-
 .../iotdb/db/integration/IoTDBCompactionIT.java    |   8 +-
 .../integration/IoTDBCompactionWithIDTableIT.java  |   8 +-
 .../apache/iotdb/db/integration/IoTDBDaemonIT.java |   4 +-
 .../iotdb/db/integration/IoTDBDisableAlignIT.java  |   4 +-
 .../apache/iotdb/db/integration/IoTDBFillIT.java   |   4 +-
 .../db/integration/IoTDBFlushQueryMergeIT.java     |  16 +--
 .../db/integration/IoTDBLoadExternalTsfileIT.java  |   8 +-
 .../iotdb/db/integration/IoTDBMultiSeriesIT.java   |   2 +-
 .../db/integration/IoTDBMultiStatementsIT.java     |   2 +-
 .../db/integration/IoTDBNewTsFileCompactionIT.java |   2 +-
 .../db/integration/IoTDBOverlappedPageIT.java      |   2 +-
 .../db/integration/IoTDBQueryMemoryControlIT.java  |   2 +-
 .../iotdb/db/integration/IoTDBQueryTimeoutIT.java  |   4 +-
 .../db/integration/IoTDBQueryWithIDTableIT.java    |   4 +-
 .../db/integration/IoTDBRemovePartitionIT.java     |  12 +--
 .../db/integration/IoTDBRewriteTsFileToolIT.java   |   2 +-
 .../db/integration/IoTDBRpcCompressionIT.java      |   2 +-
 .../iotdb/db/integration/IoTDBSensorUpdateIT.java  |   2 +-
 .../db/integration/IoTDBSessionTimeoutIT.java      |   2 +-
 .../IoTDBSetSystemReadOnlyWritableIT.java          |   4 +-
 .../integration/IoTDBSizeTieredCompactionIT.java   |  32 +++---
 .../iotdb/db/integration/IoTDBSnapshotIT.java      |   8 +-
 .../integration/IoTDBSortedShowTimeseriesIT.java   |   4 +-
 .../iotdb/db/integration/IoTDBTracingIT.java       |   2 +-
 .../apache/iotdb/db/integration/IoTDBTtlIT.java    |  20 ++--
 .../db/integration/IoTDBUDFWindowQueryIT.java      |   2 +-
 .../db/integration/IoTDBUDTFHybridQueryIT.java     |   2 +-
 .../db/integration/IoTDBUDTFNonAlignQueryIT.java   |   2 +-
 .../db/integration/IoTDBUnseqOverlappedPageIT.java |   2 +-
 .../iotdb/db/integration/IoTDBVersionIT.java       |   4 +-
 .../aggregation/IoTDBUDFNestAggregationIT.java     |  14 +--
 .../IoTDBUserDefinedAggregationFunctionIT.java     |   8 +-
 .../db/integration/aligned/AlignedWriteUtil.java   |   2 +-
 .../aligned/IoTDBGroupByFillQueryBigDataIT.java    |   2 +-
 .../aligned/IoTDBLoadExternalAlignedTsFileIT.java  |   8 +-
 .../db/integration/groupby/IoTDBGroupByFillIT.java |   2 +-
 .../groupby/IoTDBGroupByFillMixPathsIT.java        |   2 +-
 .../groupby/IoTDBGroupByFillWithRangeIT.java       |   2 +-
 .../db/integration/sync/IoTDBSyncSenderIT.java     |   6 +-
 .../iotdb/db/integration/sync/SyncTestUtil.java    |   4 +-
 .../versionadaption/IoTDBDDLVersionAdaptionIT.java |  16 ++-
 .../IoTDBDeletionVersionAdaptionIT.java            |   4 +-
 .../IoTDBQueryVersionAdaptionIT.java               |   4 +-
 jdbc/README.md                                     |   6 +-
 .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java   |  12 +--
 .../test/java/org/apache/iotdb/jdbc/BatchTest.java |   2 +-
 .../iotdb/jdbc/IoTDBDatabaseMetadataTest.java      |   2 +-
 .../apache/iotdb/jdbc/IoTDBJDBCResultSetTest.java  |   2 +-
 .../iotdb/metrics/utils/IoTDBMetricsUtils.java     |   2 +-
 .../resources/conf/iotdb-common.properties         |  16 +--
 .../org/apache/iotdb/db/constant/TestConstant.java |   2 +-
 .../RewriteCrossSpaceCompactionSelector.java       |   4 +-
 .../iotdb/db/engine/flush/MemTableFlushTask.java   |  12 +--
 .../dataregion/VirtualPartitioner.java             |   2 +-
 .../SchemaDirCreationFailureException.java         |   2 +-
 .../metadata/StorageGroupAlreadySetException.java  |   4 +-
 .../metadata/StorageGroupNotSetException.java      |   6 +-
 .../iotdb/db/localconfignode/LocalConfigNode.java  | 116 ++++++++++-----------
 .../db/localconfignode/LocalDataPartitionInfo.java |   4 +-
 .../localconfignode/LocalDataPartitionTable.java   |   2 +-
 .../localconfignode/LocalSchemaPartitionTable.java |   2 +-
 .../iotdb/db/metadata/LocalSchemaProcessor.java    |   2 +-
 .../idtable/AppendOnlyDiskSchemaManager.java       |   3 +-
 .../db/metadata/idtable/IDTableHashmapImpl.java    |   2 +-
 .../iotdb/db/metadata/idtable/IDTableManager.java  |  12 +--
 .../iotdb/db/metadata/mtree/ConfigMTree.java       |  70 ++++++-------
 .../db/metadata/mtree/MTreeBelowSGCachedImpl.java  |   8 +-
 .../mtree/traverser/collector/MNodeCollector.java  |   2 +-
 .../db/metadata/schemaregion/ISchemaRegion.java    |   2 +-
 .../db/metadata/schemaregion/SchemaEngine.java     |   4 +-
 .../schemaregion/SchemaRegionSchemaFileImpl.java   |   6 +-
 .../storagegroup/IStorageGroupSchemaManager.java   |  22 ++--
 .../storagegroup/StorageGroupSchemaManager.java    |   8 +-
 .../db/metadata/upgrade/MetadataUpgrader.java      |   6 +-
 .../db/mpp/common/schematree/ISchemaTree.java      |   6 +-
 .../operator/schema/SchemaFetchMergeOperator.java  |   2 +-
 .../operator/schema/SchemaFetchScanOperator.java   |   2 +-
 .../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java  |   6 +-
 .../plan/analyze/StandalonePartitionFetcher.java   |   2 +-
 .../db/mpp/plan/analyze/cache/PartitionCache.java  | 103 +++++++++---------
 .../config/executor/ClusterConfigTaskExecutor.java |   2 +-
 .../executor/StandaloneConfigTaskExecutor.java     |   2 +-
 .../config/metadata/SetStorageGroupTask.java       |   2 +-
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       |   2 +-
 .../db/mpp/plan/parser/StatementGenerator.java     |   2 +-
 .../metadata/ShowStorageGroupStatement.java        |   4 +-
 .../influxdb/meta/AbstractInfluxDBMetaManager.java |   2 +-
 .../influxdb/meta/NewInfluxDBMetaManager.java      |   2 +-
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |   2 +-
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |   2 +-
 .../db/query/executor/AggregationExecutor.java     |   2 +-
 .../iotdb/db/sync/receiver/load/SchemaLoader.java  |   2 +-
 .../db/sync/transport/client/IoTDBSyncClient.java  |   4 +-
 .../db/tools/dataregion/DeviceMappingViewer.java   |   2 +-
 .../db/tools/validate/TsFileValidationTool.java    |   2 +-
 .../db/wal/recover/file/TsFilePlanRedoer.java      |   2 +-
 .../file/UnsealedTsFileRecoverPerformer.java       |   2 +-
 .../storagegroup/FileNodeManagerBenchmark.java     |   2 +-
 .../apache/iotdb/db/metadata/SchemaBasicTest.java  |   6 +-
 .../iotdb/db/metadata/mtree/ConfigMTreeTest.java   |   8 +-
 .../iotdb/db/metadata/mtree/MTreeBelowSGTest.java  |   2 +-
 .../db/protocol/rest/IoTDBRestServiceTest.java     |   2 +-
 .../java/org/apache/iotdb/db/qp/PlannerTest.java   |   2 +-
 .../iotdb/db/qp/logical/LogicalPlanSmallTest.java  |   2 +-
 .../iotdb/db/query/dataset/ListDataSetTest.java    |   6 +-
 .../iotdb/db/query/dataset/SingleDataSetTest.java  |   4 +-
 .../db/utils/datastructure/PrecisionTest.java      |   8 +-
 .../apache/iotdb/spark/db/EnvironmentUtils.java    |   6 +-
 test/e2e/cases/cli/res/init.sql                    |   4 +-
 .../test/java/org/apache/iotdb/db/sync/SyncIT.java |   4 +-
 zeppelin-interpreter/IoTDB-Zeppelin-Demo.zpln      |   2 +-
 .../zeppelin/iotdb/IoTDBInterpreterTest.java       |  10 +-
 260 files changed, 882 insertions(+), 906 deletions(-)

diff --git a/README.md b/README.md
index 1a3cfde622..be8ce4441c 100644
--- a/README.md
+++ b/README.md
@@ -245,25 +245,25 @@ IoTDB>
 
 Now, let us introduce the way of creating timeseries, inserting data and querying data.
 
-The data in IoTDB is organized as timeseries. Each timeseries includes multiple data-time pairs, and is owned by a storage group. Before defining a timeseries, we should define a storage group using SET STORAGE GROUP first, and here is an example:
+The data in IoTDB is organized as timeseries. Each timeseries includes multiple data-time pairs, and is owned by a database. Before defining a timeseries, we should define a database using CREATE DATABASE first, and here is an example:
 
 ```
-IoTDB> SET STORAGE GROUP TO root.ln
+IoTDB> CREATE DATABSE root.ln
 ```
 
-We can also use SHOW STORAGE GROUP to check the storage group being created:
+We can also use SHOW DATABASES to check the database being created:
 
 ```
-IoTDB> SHOW STORAGE GROUP
+IoTDB> SHOW DATABASES
 +-------------+
-|storage group|
+|     Database|
 +-------------+
 |      root.ln|
 +-------------+
 Total line number = 1
 ```
 
-After the storage group is set, we can use CREATE TIMESERIES to create a new timeseries. When creating a timeseries, we should define its data type and the encoding scheme. Here We create two timeseries:
+After the database is set, we can use CREATE TIMESERIES to create a new timeseries. When creating a timeseries, we should define its data type and the encoding scheme. Here We create two timeseries:
 
 ```
 IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN
@@ -277,7 +277,7 @@ In order to query the specific timeseries, we can use SHOW TIMESERIES <Path>. <P
 ```
 IoTDB> SHOW TIMESERIES
 +-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
-|                   timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
+|                   timeseries|alias|database|dataType|encoding|compression|tags|attributes|
 +-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
 |root.ln.wf01.wt01.temperature| null|      root.ln|   FLOAT|     RLE|     SNAPPY|null|      null|
 |     root.ln.wf01.wt01.status| null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
@@ -290,7 +290,7 @@ Total line number = 2
 ```
 IoTDB> SHOW TIMESERIES root.ln.wf01.wt01.status
 +------------------------+-----+-------------+--------+--------+-----------+----+----------+
-|              timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
+|              timeseries|alias|database|dataType|encoding|compression|tags|attributes|
 +------------------------+-----+-------------+--------+--------+-----------+----+----------+
 |root.ln.wf01.wt01.status| null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
 +------------------------+-----+-------------+--------+--------+-----------+----+----------+
diff --git a/README_ZH.md b/README_ZH.md
index 5987a528a7..86c6d33008 100644
--- a/README_ZH.md
+++ b/README_ZH.md
@@ -231,21 +231,21 @@ IoTDB>
 
 
 IoTDB中的数据组织为 timeseries。每个 timeseries 包含多个`数据-时间`对,由一个存储组拥有。
-在定义 timeseries 之前,我们应该先使用SET storage group来定义一个存储组,下面是一个例子:
+在定义 timeseries 之前,我们应该先使用 CREATE DATABASE 来创建一个数据库,下面是一个例子:
 
 ```
-IoTDB> SET STORAGE GROUP TO root.ln
+IoTDB> CREATE DATABASE root.ln
 ```
 
-我们也可以使用`SHOW STORAGE GROUP`来检查正在创建的存储组:
+我们也可以使用`SHOW DATABASES`来检查已创建的数据库:
 
 ```
-IoTDB> SHOW STORAGE GROUP
-+-------------+
-|storage group|
-+-------------+
-|      root.ln|
-+-------------+
+IoTDB> SHOW DATABASES
++--------+
+|Database|
++--------+
+| root.ln|
++--------+
 Total line number = 1
 ```
 
@@ -266,7 +266,7 @@ IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCO
 ```
 IoTDB> SHOW TIMESERIES
 +-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
-|                   timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
+|                   timeseries|alias|database|dataType|encoding|compression|tags|attributes|
 +-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
 |root.ln.wf01.wt01.temperature| null|      root.ln|   FLOAT|     RLE|     SNAPPY|null|      null|
 |     root.ln.wf01.wt01.status| null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
@@ -279,7 +279,7 @@ Total line number = 2
 ```
 IoTDB> SHOW TIMESERIES root.ln.wf01.wt01.status
 +------------------------+-----+-------------+--------+--------+-----------+----+----------+
-|              timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
+|              timeseries|alias|database|dataType|encoding|compression|tags|attributes|
 +------------------------+-----+-------------+--------+--------+-----------+----+----------+
 |root.ln.wf01.wt01.status| null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
 +------------------------+-----+-------------+--------+--------+-----------+----+----------+
diff --git a/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 b/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4
index 51cb8f178d..8c40f1594c 100644
--- a/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4
+++ b/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4
@@ -74,7 +74,7 @@ syncStatement
 
 // Create Storage Group
 createStorageGroup
-    : SET STORAGE GROUP TO prefixPath storageGroupAttributesClause?
+    : CREATE DATABASE prefixPath storageGroupAttributesClause?
     | CREATE (STORAGE GROUP | DATABASE) prefixPath storageGroupAttributesClause?
     ;
 
diff --git a/client-py/README.md b/client-py/README.md
index 3197cc7186..5ab07dd247 100644
--- a/client-py/README.md
+++ b/client-py/README.md
@@ -98,15 +98,15 @@ session.close()
 
 ### Data Definition Interface (DDL Interface)
 
-#### Storage Group Management
+#### DATABASE Management
 
-* Set storage group
+* CREATE DATABASE
 
 ```python
 session.set_storage_group(group_name)
 ```
 
-* Delete one or several storage groups
+* Delete one or several databases
 
 ```python
 session.delete_storage_group(group_name)
@@ -481,7 +481,7 @@ Converting the data model of IoTDB into the data model of SQLAlchemy.
 
 The metadata in the IoTDB are:
 
-1. Storage Group
+1. Database
 2. Path
 3. Entity
 4. Measurement
@@ -495,8 +495,8 @@ The mapping relationship between them is:
 
 | The metadata in the SQLAlchemy | The metadata in the IoTDB                            |
 | -------------------- | ---------------------------------------------- |
-| Schema               | Storage Group                                  |
-| Table                | Path ( from storage group to entity ) + Entity |
+| Schema               |      Database                                  |
+| Table                | Path ( from database to entity ) + Entity |
 | Column               | Measurement                                    |
 
 The following figure shows the relationship between the two more intuitively:
diff --git a/client-py/SessionAlignedTimeseriesExample.py b/client-py/SessionAlignedTimeseriesExample.py
index 0d8271faa7..99b9f16a62 100644
--- a/client-py/SessionAlignedTimeseriesExample.py
+++ b/client-py/SessionAlignedTimeseriesExample.py
@@ -30,7 +30,7 @@ password_ = "root"
 session = Session(ip, port_, username_, password_, fetch_size=1024, zone_id="UTC+8")
 session.open(False)
 
-# set and delete storage groups
+# set and delete databases
 session.set_storage_group("root.sg_test_01")
 session.set_storage_group("root.sg_test_02")
 session.set_storage_group("root.sg_test_03")
@@ -216,7 +216,7 @@ session.insert_aligned_string_records_of_one_device(
     values_list,
 )
 
-# delete storage group
+# delete database
 session.delete_storage_group("root.sg_test_01")
 
 # close session connection.
diff --git a/client-py/SessionExample.py b/client-py/SessionExample.py
index 61e82234db..a91b456ca0 100644
--- a/client-py/SessionExample.py
+++ b/client-py/SessionExample.py
@@ -35,7 +35,7 @@ password_ = "root"
 session = Session(ip, port_, username_, password_, fetch_size=1024, zone_id="UTC+8")
 session.open(False)
 
-# set and delete storage groups
+# create and delete databases
 session.set_storage_group("root.sg_test_01")
 session.set_storage_group("root.sg_test_02")
 session.set_storage_group("root.sg_test_03")
@@ -324,7 +324,7 @@ with session.execute_last_data_query(
     while session_data_set.has_next():
         print(session_data_set.next())
 
-# delete storage group
+# delete database
 session.delete_storage_group("root.sg_test_01")
 
 # create measurement node template
diff --git a/client-py/iotdb/Session.py b/client-py/iotdb/Session.py
index 529a6a93d8..a1254e227c 100644
--- a/client-py/iotdb/Session.py
+++ b/client-py/iotdb/Session.py
@@ -173,32 +173,32 @@ class Session(object):
 
     def set_storage_group(self, group_name):
         """
-        set one storage group
-        :param group_name: String, storage group name (starts from root)
+        create one database
+        :param group_name: String, database name (starts from root)
         """
         status = self.__client.setStorageGroup(self.__session_id, group_name)
         logger.debug(
-            "setting storage group {} message: {}".format(group_name, status.message)
+            "setting database {} message: {}".format(group_name, status.message)
         )
 
         return Session.verify_success(status)
 
     def delete_storage_group(self, storage_group):
         """
-        delete one storage group.
-        :param storage_group: String, path of the target storage group.
+        delete one database.
+        :param storage_group: String, path of the target database.
         """
         groups = [storage_group]
         return self.delete_storage_groups(groups)
 
     def delete_storage_groups(self, storage_group_lst):
         """
-        delete multiple storage groups.
-        :param storage_group_lst: List, paths of the target storage groups.
+        delete multiple databases.
+        :param storage_group_lst: List, paths of the target databases.
         """
         status = self.__client.deleteStorageGroups(self.__session_id, storage_group_lst)
         logger.debug(
-            "delete storage group(s) {} message: {}".format(
+            "delete database(s) {} message: {}".format(
                 storage_group_lst, status.message
             )
         )
diff --git a/client-py/iotdb/sqlalchemy/IoTDBDialect.py b/client-py/iotdb/sqlalchemy/IoTDBDialect.py
index baf5d6525d..3d4ee192ad 100644
--- a/client-py/iotdb/sqlalchemy/IoTDBDialect.py
+++ b/client-py/iotdb/sqlalchemy/IoTDBDialect.py
@@ -79,7 +79,7 @@ class IoTDBDialect(default.DefaultDialect):
         return table_name in self.get_table_names(connection, schema=schema)
 
     def get_schema_names(self, connection, **kw):
-        cursor = connection.execute("SHOW STORAGE GROUP")
+        cursor = connection.execute("SHOW DATABASES")
         return [row[0] for row in cursor.fetchall()]
 
     def get_table_names(self, connection, schema=None, **kw):
diff --git a/client-py/tests/test_dataframe.py b/client-py/tests/test_dataframe.py
index c7cce58ea5..fbba0602b4 100644
--- a/client-py/tests/test_dataframe.py
+++ b/client-py/tests/test_dataframe.py
@@ -27,7 +27,7 @@ def test_simple_query():
         db: IoTDBContainer
         session = Session(db.get_container_host_ip(), db.get_exposed_port(6667))
         session.open(False)
-        session.execute_non_query_statement("set storage group to root.device0")
+        session.execute_non_query_statement("CREATE DATABASE root.device0")
 
         # Write data
         session.insert_str_record("root.device0", 123, "pressure", "15.0")
@@ -47,7 +47,7 @@ def test_non_time_query():
         db: IoTDBContainer
         session = Session(db.get_container_host_ip(), db.get_exposed_port(6667))
         session.open(False)
-        session.execute_non_query_statement("set storage group to root.device0")
+        session.execute_non_query_statement("CREATE DATABASE root.device0")
 
         # Write data
         session.insert_str_record("root.device0", 123, "pressure", "15.0")
diff --git a/client-py/tests/test_one_device.py b/client-py/tests/test_one_device.py
index d428947e9b..e2fad149fa 100644
--- a/client-py/tests/test_one_device.py
+++ b/client-py/tests/test_one_device.py
@@ -44,7 +44,7 @@ def test_one_device():
         db: IoTDBContainer
         session = Session(db.get_container_host_ip(), db.get_exposed_port(6667))
         session.open(False)
-        session.execute_non_query_statement("set storage group to root.str_test_01")
+        session.execute_non_query_statement("CREATE DATABASE root.str_test_01")
 
         if not session.is_open():
             print("can't open session")
diff --git a/client-py/tests/test_tablet.py b/client-py/tests/test_tablet.py
index 1e80277d77..3e2d53543e 100644
--- a/client-py/tests/test_tablet.py
+++ b/client-py/tests/test_tablet.py
@@ -30,7 +30,7 @@ def test_tablet_insertion():
         db: IoTDBContainer
         session = Session(db.get_container_host_ip(), db.get_exposed_port(6667))
         session.open(False)
-        session.execute_non_query_statement("set storage group to root.sg_test_01")
+        session.execute_non_query_statement("CREATE DATABASE root.sg_test_01")
 
         measurements_ = ["s_01", "s_02", "s_03", "s_04", "s_05", "s_06"]
         data_types_ = [
@@ -73,7 +73,7 @@ def test_nullable_tablet_insertion():
         db: IoTDBContainer
         session = Session(db.get_container_host_ip(), db.get_exposed_port(6667))
         session.open(False)
-        session.execute_non_query_statement("set storage group to root.sg_test_01")
+        session.execute_non_query_statement("CREATE DATABASE root.sg_test_01")
 
         measurements_ = ["s_01", "s_02", "s_03", "s_04", "s_05", "s_06"]
         data_types_ = [
diff --git a/client-py/tests/test_template.py b/client-py/tests/test_template.py
index ced3cd9380..e91a8a0990 100644
--- a/client-py/tests/test_template.py
+++ b/client-py/tests/test_template.py
@@ -89,7 +89,7 @@ def test_set_template():
         template.add_template(m_node_y)
         session.create_schema_template(template)
 
-        session.execute_non_query_statement("set storage group to root.python")
+        session.execute_non_query_statement("CREATE DATABASE root.python")
 
         session.set_schema_template(template_name, "root.python.GPS")
         session.execute_non_query_statement("create timeseries of schema template on root.python.GPS")
diff --git a/client-py/tests/test_todf.py b/client-py/tests/test_todf.py
index 07953446cf..a7fcec0fc2 100644
--- a/client-py/tests/test_todf.py
+++ b/client-py/tests/test_todf.py
@@ -69,7 +69,7 @@ def test_simple_query():
         db: IoTDBContainer
         session = Session(db.get_container_host_ip(), db.get_exposed_port(6667))
         session.open(False)
-        session.execute_non_query_statement("set storage group to root.wt1")
+        session.execute_non_query_statement("CREATE DATABASE root.wt1")
 
         create_ts(session)
 
@@ -106,7 +106,7 @@ def test_with_null_query():
         db: IoTDBContainer
         session = Session(db.get_container_host_ip(), db.get_exposed_port(6667))
         session.open(False)
-        session.execute_non_query_statement("set storage group to root.wt1")
+        session.execute_non_query_statement("CREATE DATABASE root.wt1")
 
         create_ts(session)
 
@@ -186,7 +186,7 @@ def test_multi_fetch():
         db: IoTDBContainer
         session = Session(db.get_container_host_ip(), db.get_exposed_port(6667))
         session.open(False)
-        session.execute_non_query_statement("set storage group to root.wt1")
+        session.execute_non_query_statement("CREATE DATABASE root.wt1")
 
         create_ts(session)
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/PartitionInfo.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/PartitionInfo.java
index 84115faae2..17d66d36aa 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/PartitionInfo.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/PartitionInfo.java
@@ -489,10 +489,10 @@ public class PartitionInfo implements SnapshotProcessor {
   }
 
   /**
-   * get storage group for region
+   * get database for region
    *
    * @param regionId regionId
-   * @return storage group name
+   * @return database name
    */
   public String getRegionStorageGroup(TConsensusGroupId regionId) {
     Optional<StorageGroupPartitionTable> sgPartitionTableOptional =
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/StorageGroupPartitionTable.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/StorageGroupPartitionTable.java
index b763fded02..0ff4d9c1a5 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/StorageGroupPartitionTable.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/StorageGroupPartitionTable.java
@@ -57,7 +57,7 @@ public class StorageGroupPartitionTable {
   private static final Logger LOGGER = LoggerFactory.getLogger(StorageGroupPartitionTable.class);
 
   private volatile boolean isPredeleted = false;
-  // The name of storage group
+  // The name of database
   private String storageGroupName;
 
   // RegionGroup
diff --git a/cross-tests/src/test/java/org/apache/iotdb/cross/tests/tools/importCsv/ImportCsvTestIT.java b/cross-tests/src/test/java/org/apache/iotdb/cross/tests/tools/importCsv/ImportCsvTestIT.java
index 13fb2e0315..e706728d2c 100644
--- a/cross-tests/src/test/java/org/apache/iotdb/cross/tests/tools/importCsv/ImportCsvTestIT.java
+++ b/cross-tests/src/test/java/org/apache/iotdb/cross/tests/tools/importCsv/ImportCsvTestIT.java
@@ -47,9 +47,9 @@ public class ImportCsvTestIT extends AbstractScript {
 
   private static final String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.fit.d1",
-        "SET STORAGE GROUP TO root.fit.d2",
-        "SET STORAGE GROUP TO root.fit.p",
+        "CREATE DATABASE root.fit.d1",
+        "CREATE DATABASE root.fit.d2",
+        "CREATE DATABASE root.fit.p",
         "CREATE TIMESERIES root.fit.d1.s1 WITH DATATYPE=INT32,ENCODING=RLE",
         "CREATE TIMESERIES root.fit.d1.s2 WITH DATATYPE=TEXT,ENCODING=PLAIN",
         "CREATE TIMESERIES root.fit.d2.s1 WITH DATATYPE=INT32,ENCODING=RLE",
diff --git a/docs/Development/VoteRelease.md b/docs/Development/VoteRelease.md
index bbbe023c4a..139fb5cf42 100644
--- a/docs/Development/VoteRelease.md
+++ b/docs/Development/VoteRelease.md
@@ -130,7 +130,7 @@ nohup ./sbin/start-server.sh >/dev/null 2>&1 &
 
 ./sbin/start-cli.sh
 
-SET STORAGE GROUP TO root.turbine;
+CREATE DATABASE root.turbine;
 CREATE TIMESERIES root.turbine.d1.s0 WITH DATATYPE=DOUBLE, ENCODING=GORILLA;
 insert into root.turbine.d1(timestamp,s0) values(1,1);
 insert into root.turbine.d1(timestamp,s0) values(2,2);
@@ -168,7 +168,7 @@ LICENSE and NOTICE [ok]
 signatures and hashes [ok]
 Could run with the following statements [ok]
 
-SET STORAGE GROUP TO root.turbine;
+CREATE DATABASE root.turbine;
 CREATE TIMESERIES root.turbine.d1.s0 WITH DATATYPE=DOUBLE, ENCODING=GORILLA;
 insert into root.turbine.d1(timestamp,s0) values(1,1);
 insert into root.turbine.d1(timestamp,s0) values(2,2);
diff --git a/docs/UserGuide/API/Interface-Comparison.md b/docs/UserGuide/API/Interface-Comparison.md
index ec7f287bdb..e50780b41a 100644
--- a/docs/UserGuide/API/Interface-Comparison.md
+++ b/docs/UserGuide/API/Interface-Comparison.md
@@ -30,8 +30,8 @@ This chapter mainly compares the differences between Java Native API and python
 | 1     | Initialize session                    | `Session.Builder.build();     Session.Builder().host(String host).port(int port).build();     Session.Builder().nodeUrls(List<String> nodeUrls).build();     Session.Builder().fetchSize(int fetchSize).username(String  username).password(String password).thriftDefaultBufferSize(int  thriftDefaultBufferSize).thriftMaxFrameSize(int  thriftMaxFrameSize).enableRedirection(boolean  enableCacheLeader).version(Version version).build();`            [...]
 | 2     | Open session                          | `void open()     void open(boolean enableRPCCompression)`                                                                                                                                                                                                                                                                                                                                                                                                  [...]
 | 3     | Close session                         | `void close()`                                                                                                                                                                                                                                                                                                                                                                                                                                             [...]
-| 4     | Set storage group                     | `void setStorageGroup(String  storageGroupId)`                                                                                                                                                                                                                                                                                                                                                                                                             [...]
-| 5     | Delete storage group                  | `void deleteStorageGroup(String  storageGroup)     void deleteStorageGroups(List<String> storageGroups)`                                                                                                                                                                                                                                                                                                                                                   [...]
+| 4     | Create Database                     | `void setStorageGroup(String  storageGroupId)`                                                                                                                                                                                                                                                                                                                                                                                                               [...]
+| 5     | Delete database                  | `void deleteStorageGroup(String  storageGroup)     void deleteStorageGroups(List<String> storageGroups)`                                                                                                                                                                                                                                                                                                                                                        [...]
 | 6     | Create timeseries                     | `void createTimeseries(String  path, TSDataType dataType,TSEncoding encoding, CompressionType compressor,  Map<String, String> props,Map<String, String> tags,  Map<String, String> attributes, String measurementAlias)             void createMultiTimeseries(List<String> paths, List<TSDataType>  dataTypes,List<TSEncoding> encodings, List<CompressionType>  compressors,List<Map<String, String>> propsList,  List<Map<String, String>> tagsList,Li [...]
 | 7     | Create aligned timeseries             | `void  createAlignedTimeseries(String prefixPath, List<String>  measurements,List<TSDataType> dataTypes, List<TSEncoding>  encodings,CompressionType compressor, List<String>  measurementAliasList);`                                                                                                                                                                                                                                                     [...]
 | 8     | Delete timeseries                     | `void deleteTimeseries(String  path)     void deleteTimeseries(List<String> paths)`                                                                                                                                                                                                                                                                                                                                                                        [...]
diff --git a/docs/UserGuide/API/Programming-Cpp-Native-API.md b/docs/UserGuide/API/Programming-Cpp-Native-API.md
index 1ff757a45a..3108634eff 100644
--- a/docs/UserGuide/API/Programming-Cpp-Native-API.md
+++ b/docs/UserGuide/API/Programming-Cpp-Native-API.md
@@ -164,14 +164,14 @@ void close();
 
 ### Data Definition Interface (DDL)
 
-#### Storage Group Management
+#### Database Management
 
-- Set storage group
+- CREATE DATABASE
 ```cpp
 void setStorageGroup(const std::string &storageGroupId);
 ```
 
-- Delete one or several storage groups
+- Delete one or several databases
 ```cpp
 void deleteStorageGroup(const std::string &storageGroup);
 void deleteStorageGroups(const std::vector<std::string> &storageGroups);
diff --git a/docs/UserGuide/API/Programming-JDBC.md b/docs/UserGuide/API/Programming-JDBC.md
index 592243f931..2aafc84951 100644
--- a/docs/UserGuide/API/Programming-JDBC.md
+++ b/docs/UserGuide/API/Programming-JDBC.md
@@ -84,14 +84,14 @@ public class JDBCExample {
     Statement statement = connection.createStatement();
     //Create storage group
     try {
-      statement.execute("SET STORAGE GROUP TO root.demo");
+      statement.execute("CREATE DATABASE root.demo");
     }catch (IoTDBSQLException e){
       System.out.println(e.getMessage());
     }
 
 
-    //Show storage group
-    statement.execute("SHOW STORAGE GROUP");
+    //SHOW DATABASES
+    statement.execute("SHOW DATABASES");
     outputResult(statement.getResultSet());
 
     //Create time series
diff --git a/docs/UserGuide/API/Programming-Java-Native-API.md b/docs/UserGuide/API/Programming-Java-Native-API.md
index 87c65a2daf..6dd8dda536 100644
--- a/docs/UserGuide/API/Programming-Java-Native-API.md
+++ b/docs/UserGuide/API/Programming-Java-Native-API.md
@@ -117,7 +117,7 @@ void close()
 
 #### Storage Group Management
 
-* Set storage group
+* CREATE DATABASE
 
 ```java
 void setStorageGroup(String storageGroupId)    
diff --git a/docs/UserGuide/API/Programming-Python-Native-API.md b/docs/UserGuide/API/Programming-Python-Native-API.md
index 971c3ba9c4..30ea146e4b 100644
--- a/docs/UserGuide/API/Programming-Python-Native-API.md
+++ b/docs/UserGuide/API/Programming-Python-Native-API.md
@@ -76,15 +76,15 @@ session.close()
 
 ### Data Definition Interface (DDL Interface)
 
-#### Storage Group Management
+#### Database Management
 
-* Set storage group
+* CREATE DATABASE
 
 ```python
 session.set_storage_group(group_name)
 ```
 
-* Delete one or several storage groups
+* Delete one or several databases
 
 ```python
 session.delete_storage_group(group_name)
@@ -458,7 +458,7 @@ Converting the data model of IoTDB into the data model of SQLAlchemy.
 
 The metadata in the IoTDB are:
 
-1. Storage Group
+1. Database
 2. Path
 3. Entity
 4. Measurement
@@ -471,10 +471,10 @@ The metadata in the SQLAlchemy are:
 The mapping relationship between them is:
 
 | The metadata in the SQLAlchemy | The metadata in the IoTDB                            |
-| -------------------- | ---------------------------------------------- |
-| Schema               | Storage Group                                  |
-| Table                | Path ( from storage group to entity ) + Entity |
-| Column               | Measurement                                    |
+| -------------------- | -------------------------------------------- |
+| Schema               | Database                                     |
+| Table                | Path ( from database to entity ) + Entity    |
+| Column               | Measurement                                  |
 
 The following figure shows the relationship between the two more intuitively:
 
diff --git a/docs/UserGuide/API/Programming-Thrift.md b/docs/UserGuide/API/Programming-Thrift.md
index 9212a9a0b5..0b200cb26c 100644
--- a/docs/UserGuide/API/Programming-Thrift.md
+++ b/docs/UserGuide/API/Programming-Thrift.md
@@ -81,7 +81,7 @@ TSStatus setTimeZone(1:TSSetTimeZoneReq req);
 // get server's properties
 ServerProperties getProperties();
 
-// set storage group
+// CREATE DATABASE
 TSStatus setStorageGroup(1:i64 sessionId, 2:string storageGroup);
 
 // create timeseries
diff --git a/docs/UserGuide/API/RestService.md b/docs/UserGuide/API/RestService.md
index e581b7a04a..feccf82a02 100644
--- a/docs/UserGuide/API/RestService.md
+++ b/docs/UserGuide/API/RestService.md
@@ -784,7 +784,7 @@ Parameter Description:
 
 Example request:
 ```shell
-curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X POST --data '{"sql":"set storage group to root.ln"}' http://127.0.0.1:18080/rest/v1/nonQuery
+curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X POST --data '{"sql":"CREATE DATABASE root.ln"}' http://127.0.0.1:18080/rest/v1/nonQuery
 ```
 
 Response parameters:
diff --git a/docs/UserGuide/Administration-Management/Administration.md b/docs/UserGuide/Administration-Management/Administration.md
index 6bf5e1a6f8..1a36ef4599 100644
--- a/docs/UserGuide/Administration-Management/Administration.md
+++ b/docs/UserGuide/Administration-Management/Administration.md
@@ -94,7 +94,7 @@ IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp,status) values(1509465600000,true
 Msg: 602: No permissions for this operation, please add privilege INSERT_TIMESERIES.
 ```
 
-Now, we use root user to grant the two users write privileges to the corresponding storage groups.
+Now, we use root user to grant the two users write privileges to the corresponding databases.
 
 We use `GRANT USER <userName> PRIVILEGES <privileges> ON <nodeName>` to grant user privileges(ps: grant create user does not need path). For example:
 
@@ -367,12 +367,12 @@ At the same time, changes to roles are immediately reflected on all users who ow
 
 |privilege Name|Interpretation|Example|
 |:---|:---|----|
-|SET\_STORAGE\_GROUP|set storage groups; set/unset storage group ttl; path dependent|Eg1: `set storage group to root.ln;`<br />Eg2:`set ttl to root.ln 3600000;`<br />Eg3:`unset ttl to root.ln;`|
-|DELETE\_STORAGE\_GROUP|delete storage groups; path dependent|Eg: `delete storage group root.ln;`|
+|SET\_STORAGE\_GROUP|set storage groups; set/unset storage group ttl; path dependent|Eg1: `CREATE DATABASE root.ln;`<br />Eg2:`set ttl to root.ln 3600000;`<br />Eg3:`unset ttl to root.ln;`|
+|DELETE\_STORAGE\_GROUP|delete databases; path dependent|Eg: `delete database root.ln;`|
 |CREATE\_TIMESERIES|create timeseries; path dependent|Eg1: create timeseries<br />`create timeseries root.ln.wf02.status with datatype=BOOLEAN,encoding=PLAIN;`<br />Eg2: create aligned timeseries<br />`create aligned timeseries root.ln.device1(latitude FLOAT encoding=PLAIN compressor=SNAPPY, longitude FLOAT encoding=PLAIN compressor=SNAPPY);`|
 |INSERT\_TIMESERIES|insert data; path dependent|Eg1: `insert into root.ln.wf02(timestamp,status) values(1,true);`<br />Eg2: `insert into root.sg1.d1(time, s1, s2) aligned values(1, 1, 1)`|
 |ALTER\_TIMESERIES|alter timeseries; path dependent|Eg1: `alter timeseries root.turbine.d1.s1 ADD TAGS tag3=v3, tag4=v4;`<br />Eg2: `ALTER timeseries root.turbine.d1.s1 UPSERT ALIAS=newAlias TAGS(tag2=newV2, tag3=v3) ATTRIBUTES(attr3=v3, attr4=v4);`|
-|READ\_TIMESERIES|query data; path dependent|Eg1: `show storage group;` <br />Eg2: `show child paths root.ln, show child nodes root.ln;`<br />Eg3: `show devices;`<br />Eg4: `show timeseries root.**;`<br />Eg5: `show schema templates;`<br />Eg6: `show all ttl`<br />Eg7: [Query-Data](../Query-Data/Overview.md)(The query statements under this section all use this permission)<br />Eg8: CVS format data export<br />`./export-csv.bat -h 127.0.0.1 -p 6667 -u tempuser -pw root -td ./`<br />Eg9: P [...]
+|READ\_TIMESERIES|query data; path dependent|Eg1: `SHOW DATABASES;` <br />Eg2: `show child paths root.ln, show child nodes root.ln;`<br />Eg3: `show devices;`<br />Eg4: `show timeseries root.**;`<br />Eg5: `show schema templates;`<br />Eg6: `show all ttl`<br />Eg7: [Query-Data](../Query-Data/Overview.md)(The query statements under this section all use this permission)<br />Eg8: CVS format data export<br />`./export-csv.bat -h 127.0.0.1 -p 6667 -u tempuser -pw root -td ./`<br />Eg9: Perfo [...]
 |DELETE\_TIMESERIES|delete data or timeseries; path dependent|Eg1: delete timeseries<br />`delete timeseries root.ln.wf01.wt01.status`<br />Eg2: delete data<br />`delete from root.ln.wf02.wt02.status where time < 10`<br />Eg3: use drop semantic<br />`drop timeseries root.ln.wf01.wt01.status|
 |CREATE\_USER|create users; path independent|Eg: `create user thulab 'passwd';`|
 |DELETE\_USER|delete users; path independent|Eg: `drop user xiaoming;`|
diff --git a/docs/UserGuide/Data-Modeling/DataRegion.md b/docs/UserGuide/Data-Modeling/DataRegion.md
index 8c2ea3b052..35342fcb3a 100644
--- a/docs/UserGuide/Data-Modeling/DataRegion.md
+++ b/docs/UserGuide/Data-Modeling/DataRegion.md
@@ -22,7 +22,7 @@
 # Background
 
 The storage group is specified by the user display.
-Use the statement "SET STORAGE GROUP TO" to specify the storage group.
+Use the statement "CREATE DATABASE" to create the database.
 Each storage group has a corresponding StorageGroupProcessor.
 
 To ensure eventually consistency, a insert lock (exclusive lock) is used to synchronize each insert request in each storage group.
diff --git a/docs/UserGuide/Delete-Data/TTL.md b/docs/UserGuide/Delete-Data/TTL.md
index e1c38224d8..18be915d3e 100644
--- a/docs/UserGuide/Delete-Data/TTL.md
+++ b/docs/UserGuide/Delete-Data/TTL.md
@@ -38,11 +38,11 @@ This example means that for data in `root.ln`, only 3600000 ms, that is, the lat
 ```
 IoTDB> set ttl to root.sgcc.** 3600000
 ```
-It supports setting TTL for storage groups in a path. This example represents setting TTL for all storage groups in the `root.sgcc` path.
+It supports setting TTL for databases in a path. This example represents setting TTL for all databases in the `root.sgcc` path.
 ```
 IoTDB> set ttl to root.** 3600000
 ```
-This example represents setting TTL for all storage groups.
+This example represents setting TTL for all databases.
 
 ## Unset TTL
 
@@ -57,12 +57,12 @@ After unset TTL, all data will be accepted in `root.ln`.
 IoTDB> unset ttl to root.sgcc.**
 ```
 
-Unset the TTL setting for all storage groups in the `root.sgcc` path.
+Unset the TTL setting for all databases in the `root.sgcc` path.
 ```
 IoTDB> unset ttl to root.**
 ```
 
-Unset the TTL setting for all storage groups.
+Unset the TTL setting for all databases.
 
 ## Show TTL
 
@@ -73,18 +73,18 @@ IoTDB> SHOW ALL TTL
 IoTDB> SHOW TTL ON StorageGroupNames
 ```
 
-The SHOW ALL TTL example gives the TTL for all storage groups.
+The SHOW ALL TTL example gives the TTL for all databases.
 The SHOW TTL ON root.ln,root.sgcc,root.DB example shows the TTL for the three storage 
 groups specified.
-Note: the TTL for storage groups that do not have a TTL set will display as null.
+Note: the TTL for databases that do not have a TTL set will display as null.
 
 ```
 IoTDB> show all ttl
-+-------------+-------+
-|storage group|ttl(ms)|
-+-------------+-------+
-|      root.ln|3600000|
-|    root.sgcc|   null|
-|      root.DB|3600000|
-+-------------+-------+
++----------+-------+
+| database|ttl(ms)|
++---------+-------+
+|  root.ln|3600000|
+|root.sgcc|   null|
+|  root.DB|3600000|
++----------+-------+
 ```
\ No newline at end of file
diff --git a/docs/UserGuide/Ecosystem-Integration/Grafana-Plugin.md b/docs/UserGuide/Ecosystem-Integration/Grafana-Plugin.md
index 394d492d0a..928befd068 100644
--- a/docs/UserGuide/Ecosystem-Integration/Grafana-Plugin.md
+++ b/docs/UserGuide/Ecosystem-Integration/Grafana-Plugin.md
@@ -288,7 +288,7 @@ For a more detailed introduction to usage, please check the official manual (htt
 
 In addition to the examples above, the following statements are supported:
 
-*  `show storage group`
+*  `show databases`
 *  `show timeseries`
 *  `show child nodes`
 *  `show all ttl`
diff --git a/docs/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md b/docs/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md
index 4d2b278687..b218b3ed2c 100644
--- a/docs/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md
+++ b/docs/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md
@@ -118,7 +118,7 @@ Now you are ready to use your interpreter.
 We provide some simple SQL to show the use of Zeppelin-IoTDB interpreter:
 
 ```sql
- SET STORAGE GROUP TO root.ln.wf01.wt01;
+ CREATE DATABASE root.ln.wf01.wt01;
  CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN;
  CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=PLAIN;
  CREATE TIMESERIES root.ln.wf01.wt01.hardware WITH DATATYPE=INT32, ENCODING=PLAIN;
diff --git a/docs/UserGuide/Edge-Cloud-Collaboration/Sync-Tool.md b/docs/UserGuide/Edge-Cloud-Collaboration/Sync-Tool.md
index 2fc15721b8..634c51c9f8 100644
--- a/docs/UserGuide/Edge-Cloud-Collaboration/Sync-Tool.md
+++ b/docs/UserGuide/Edge-Cloud-Collaboration/Sync-Tool.md
@@ -313,7 +313,7 @@ IoTDB> SHOW PIPE p
 Execute SQL on sender.
 
 ```
-SET STORAGE GROUP TO root.vehicle;
+CREATE DATABASE root.vehicle;
 CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE;
 CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=TEXT, ENCODING=PLAIN;
 CREATE TIMESERIES root.vehicle.d1.s2 WITH DATATYPE=FLOAT, ENCODING=RLE;
diff --git a/docs/UserGuide/Integration-Test/Integration-Test-refactoring-tutorial.md b/docs/UserGuide/Integration-Test/Integration-Test-refactoring-tutorial.md
index f5a1856c94..ef70c7cc8e 100644
--- a/docs/UserGuide/Integration-Test/Integration-Test-refactoring-tutorial.md
+++ b/docs/UserGuide/Integration-Test/Integration-Test-refactoring-tutorial.md
@@ -138,9 +138,9 @@ public void exampleTest() throws Exception {
   try (Connection connection = EnvFactory.getEnv().getConnection();
       Statement statement = connection.createStatement()) {
     // use execute() to set the storage groups
-    statement.execute("set storage group to root.sg");
+    statement.execute("CREATE DATABASE root.sg");
     // use executeQuery() query the storage groups
-    try (ResultSet resultSet = statement.executeQuery("show storage group")) {
+    try (ResultSet resultSet = statement.executeQuery("SHOW DATABASES")) {
       if (resultSet.next()) {
         String storageGroupPath = resultSet.getString("storage group");
         Assert.assertEquals("root.sg", storageGroupPath);
diff --git a/docs/UserGuide/Maintenance-Tools/Maintenance-Command.md b/docs/UserGuide/Maintenance-Tools/Maintenance-Command.md
index 19a775303e..597400f710 100644
--- a/docs/UserGuide/Maintenance-Tools/Maintenance-Command.md
+++ b/docs/UserGuide/Maintenance-Tools/Maintenance-Command.md
@@ -22,7 +22,7 @@
 # Maintenance Command
 ## FLUSH
 
-Persist all the data points in the memory table of the storage group to the disk, and seal the data file. In cluster mode, we provide commands to persist the specified storage group cache of local node and persist the specified storage group cache of the cluster.
+Persist all the data points in the memory table of the database to the disk, and seal the data file. In cluster mode, we provide commands to persist the specified database cache of local node and persist the specified database cache of the cluster.
 
 Note: This command does not need to be invoked manually by the client. IoTDB has WAL to ensure data security
 and IoTDB will flush when appropriate.
@@ -149,7 +149,7 @@ IoTDB> create timeseries root.ln.d1.s1 with datatype=BOOLEAN,encoding=PLAIN
 Msg: The statement is executed successfully.
 IoTDB> show regions
 +--------+------------+------+-------------+------------+----------+----------+---------+-------+------+
-|RegionId|        Type|Status|storage group|Series Slots|Time Slots|DataNodeId|     Host|RpcPort|  Role|
+|RegionId|        Type|Status|     Database|Series Slots|Time Slots|DataNodeId|     Host|RpcPort|  Role|
 +--------+------------+------+-------------+------------+----------+----------+---------+-------+------+
 |       0|SchemaRegion|    Up|      root.sg|           2|         0|         1|127.0.0.1|   6667|Leader|
 |       1|SchemaRegion|    Up|      root.ln|           1|         0|         2|127.0.0.1|   6668|Leader|
@@ -171,7 +171,7 @@ IoTDB> insert into root.ln.d1(timestamp,s1) values(1,true)
 Msg: The statement is executed successfully.
 IoTDB> show regions
 +--------+------------+------+-------------+------------+----------+----------+---------+-------+------+
-|RegionId|        Type|Status|storage group|Series Slots|Time Slots|DataNodeId|     Host|RpcPort|  Role|
+|RegionId|        Type|Status|     Database|Series Slots|Time Slots|DataNodeId|     Host|RpcPort|  Role|
 +--------+------------+------+-------------+------------+----------+----------+---------+-------+------+
 |       0|SchemaRegion|    Up|      root.sg|           2|         0|         1|127.0.0.1|   6667|Leader|
 |       1|SchemaRegion|    Up|      root.ln|           1|         0|         2|127.0.0.1|   6668|Leader|
diff --git a/docs/UserGuide/Operate-Metadata/Auto-Create-MetaData.md b/docs/UserGuide/Operate-Metadata/Auto-Create-MetaData.md
index dbc303c4d1..131ce07248 100644
--- a/docs/UserGuide/Operate-Metadata/Auto-Create-MetaData.md
+++ b/docs/UserGuide/Operate-Metadata/Auto-Create-MetaData.md
@@ -25,7 +25,7 @@ Automatically creating schema means creating time series based on the characteri
 This function can not only solve the problem that entities and measurements are difficult to predict and model in advance under massive time series scenarios,
 but also provide users with an out-of-the-box writing experience.
 
-## Auto create storage group metadata
+## Auto create database metadata
 
 * enable\_auto\_create\_schema
 
@@ -40,18 +40,18 @@ but also provide users with an out-of-the-box writing experience.
 
 | Name | default\_storage\_group\_level |
 |:---:|:---|
-| Description | Specify which level storage group is in the time series, the default level is 1 (root is on level 0) |
+| Description | Specify which level database is in the time series, the default level is 1 (root is on level 0) |
 | Type | int |
 | Default | 1 |
 | Effective | Only allowed to be modified in first start up |
 
 Illustrated as the following figure:
 
-* When default_storage_group_level=1, root.turbine1 and root.turbine2 will be set as storage group.
+* When default_storage_group_level=1, root.turbine1 and root.turbine2 will be created as database.
 
-* When default_storage_group_level=2, root.turbine1.d1, root.turbine1.d2, root.turbine2.d1 and root.turbine2.d2 will be set as storage group.
+* When default_storage_group_level=2, root.turbine1.d1, root.turbine1.d2, root.turbine2.d1 and root.turbine2.d2 will be created as database.
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://github.com/apache/iotdb-bin-resources/blob/main/docs/UserGuide/Data%20Concept/Auto-Create-MetaData/auto_create_sg_example.png?raw=true" alt="auto create storage group example">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://github.com/apache/iotdb-bin-resources/blob/main/docs/UserGuide/Data%20Concept/Auto-Create-MetaData/auto_create_sg_example.png?raw=true" alt="auto create database example">
 
 ## Auto create time series metadata(specify data type in the frontend)
 
diff --git a/docs/UserGuide/Operate-Metadata/Node.md b/docs/UserGuide/Operate-Metadata/Node.md
index 9b85d4aaec..3fda6a31bb 100644
--- a/docs/UserGuide/Operate-Metadata/Node.md
+++ b/docs/UserGuide/Operate-Metadata/Node.md
@@ -28,7 +28,7 @@ SHOW CHILD PATHS pathPattern
 
 Return all child paths and their node types of all the paths matching pathPattern.
 
-node types: ROOT -> SG INTERNAL -> STORAGE GROUP -> INTERNAL -> DEVICE -> TIMESERIES
+node types: ROOT -> DB INTERNAL -> DATABASE -> INTERNAL -> DEVICE -> TIMESERIES
 
 
 Example:
@@ -134,7 +134,7 @@ It costs 0.002s
 
 ## Show Devices
 
-* SHOW DEVICES pathPattern? (WITH STORAGE GROUP)? limitClause? #showDevices
+* SHOW DEVICES pathPattern? (WITH DATABASE)? limitClause? #showDevices
 
 Similar to `Show Timeseries`, IoTDB also supports two ways of viewing devices:
 
@@ -174,24 +174,24 @@ It costs 0.001s
 
 `isAligned` indicates whether the timeseries under the device are aligned.
 
-To view devices' information with storage group, we can use `SHOW DEVICES WITH STORAGE GROUP` statement.
+To view devices' information with database, we can use `SHOW DEVICES WITH DATABASE` statement.
 
-* `SHOW DEVICES WITH STORAGE GROUP` statement presents all devices' information with their storage group.
-* `SHOW DEVICES <PathPattern> WITH STORAGE GROUP` statement specifies the `PathPattern` and returns the 
-devices' information under the given level with their storage group information.
+* `SHOW DEVICES WITH DATABASE` statement presents all devices' information with their database.
+* `SHOW DEVICES <PathPattern> WITH DATABASE` statement specifies the `PathPattern` and returns the 
+devices' information under the given level with their database information.
 
 SQL statement is as follows:
 
 ```
-IoTDB> show devices with storage group
-IoTDB> show devices root.ln.** with storage group
+IoTDB> show devices with database
+IoTDB> show devices root.ln.** with database
 ```
 
 You can get results below:
 
 ```
 +-------------------+-------------+---------+
-|            devices|storage group|isAligned|
+|            devices|     database|isAligned|
 +-------------------+-------------+---------+
 |  root.ln.wf01.wt01|      root.ln|    false|
 |  root.ln.wf02.wt02|      root.ln|    false|
@@ -202,7 +202,7 @@ Total line number = 4
 It costs 0.003s
 
 +-----------------+-------------+---------+
-|          devices|storage group|isAligned|
+|          devices|     database|isAligned|
 +-----------------+-------------+---------+
 |root.ln.wf01.wt01|      root.ln|    false|
 |root.ln.wf02.wt02|      root.ln|    false|
diff --git a/docs/UserGuide/Operate-Metadata/Storage-Group.md b/docs/UserGuide/Operate-Metadata/Storage-Group.md
index 7048d01ec4..dc62c6b265 100644
--- a/docs/UserGuide/Operate-Metadata/Storage-Group.md
+++ b/docs/UserGuide/Operate-Metadata/Storage-Group.md
@@ -19,40 +19,40 @@
 
 -->
 
-# Storage Group Management
+# Database Management
 
 Storage Group can be regarded as Database in the relational database.
 
-## Create Storage Group
+## Create Database
 
-According to the storage model we can set up the corresponding storage group. Two SQL statements are supported for creating storage groups, as follows:
+According to the storage model we can set up the corresponding database. Two SQL statements are supported for creating databases, as follows:
 
 ```
-IoTDB > set storage group to root.ln
-IoTDB > create storage group root.sgcc
+IoTDB > create database root.ln
+IoTDB > create database root.sgcc
 ```
 
 We can thus create two storage groups using the above two SQL statements.
 
-It is worth noting that when the path itself or the parent/child layer of the path is already set as a storage group, the path is then not allowed to be set as a storage group. For example, it is not feasible to set `root.ln.wf01` as a storage group when two storage groups `root.ln` and `root.sgcc` exist. The system gives the corresponding error prompt as shown below:
+It is worth noting that when the path itself or the parent/child layer of the path is already created as database, the path is then not allowed to be created as database. For example, it is not feasible to create `root.ln.wf01` as database when two databases `root.ln` and `root.sgcc` exist. The system gives the corresponding error prompt as shown below:
 
 ```
-IoTDB> set storage group to root.ln.wf01
-Msg: 300: root.ln has already been set to storage group.
-IoTDB> create storage group root.ln.wf01
-Msg: 300: root.ln has already been set to storage group.
+IoTDB> CREATE DATABASE root.ln.wf01
+Msg: 300: root.ln has already been created as database.
+IoTDB> create database root.ln.wf01
+Msg: 300: root.ln has already been created as database.
 ```
-The LayerName of storage group can only be characters, numbers, underscores. If you want to set it to pure numbers or contain other characters, you need to enclose the storage group name with backticks (``). 
+The LayerName of database can only be characters, numbers, underscores. If you want to set it to pure numbers or contain other characters, you need to enclose the database name with backticks (``). 
  
-Besides, if deploy on Windows system, the LayerName is case-insensitive, which means it's not allowed to set storage groups `root.ln` and `root.LN` at the same time.
+Besides, if deploy on Windows system, the LayerName is case-insensitive, which means it's not allowed to create databases `root.ln` and `root.LN` at the same time.
 
-## Show Storage Group
+## SHOW DATABASES
 
-After creating the storage group, we can use the [SHOW STORAGE GROUP](../Reference/SQL-Reference.md) statement and [SHOW STORAGE GROUP \<PathPattern>](../Reference/SQL-Reference.md) to view the storage groups. The SQL statements are as follows:
+After creating the database, we can use the [SHOW DATABASES](../Reference/SQL-Reference.md) statement and [SHOW DATABASES \<PathPattern>](../Reference/SQL-Reference.md) to view the storage groups. The SQL statements are as follows:
 
 ```
-IoTDB> show storage group
-IoTDB> show storage group root.**
+IoTDB> SHOW DATABASES
+IoTDB> SHOW DATABASES root.**
 ```
 
 The result is as follows:
@@ -86,7 +86,7 @@ User can use the `COUNT STORAGE GROUP <PathPattern>` statement to count the numb
 SQL statement is as follows:
 
 ```
-IoTDB> show storage group
+IoTDB> SHOW DATABASES
 IoTDB> count storage group
 IoTDB> count storage group root.*
 IoTDB> count storage group root.sgcc.*
@@ -97,7 +97,7 @@ The result is as follows:
 
 ```
 +-------------+
-|storage group|
+|     database|
 +-------------+
 |    root.sgcc|
 | root.turbine|
@@ -107,7 +107,7 @@ Total line number = 3
 It costs 0.003s
 
 +-------------+
-|storage group|
+|     database|
 +-------------+
 |            3|
 +-------------+
@@ -115,7 +115,7 @@ Total line number = 1
 It costs 0.003s
 
 +-------------+
-|storage group|
+|     database|
 +-------------+
 |            3|
 +-------------+
@@ -123,7 +123,7 @@ Total line number = 1
 It costs 0.002s
 
 +-------------+
-|storage group|
+|     database|
 +-------------+
 |            0|
 +-------------+
@@ -131,7 +131,7 @@ Total line number = 1
 It costs 0.002s
 
 +-------------+
-|storage group|
+|     database|
 +-------------+
 |            1|
 +-------------+
diff --git a/docs/UserGuide/Operate-Metadata/Template.md b/docs/UserGuide/Operate-Metadata/Template.md
index 487d493cc7..7237e3d67c 100644
--- a/docs/UserGuide/Operate-Metadata/Template.md
+++ b/docs/UserGuide/Operate-Metadata/Template.md
@@ -51,9 +51,9 @@ The` lat` and `lon` measurements are aligned.
 
 After a schema template is created, it should be set to specific path before creating related timeseries or insert data.
 
-**It should be ensured that the related storage group has been set before setting template.**
+**It should be ensured that the related database has been set before setting template.**
 
-**It is recommended to set schema template to storage group path. It is not suggested to set schema template to some path above storage group**
+**It is recommended to set schema template to database path. It is not suggested to set schema template to some path above database**
 
 
 The SQL Statement for setting schema template is as follow:
@@ -64,7 +64,7 @@ IoTDB> set schema template t1 to root.sg1.d1
 
 ## Activate Schema Template
 
-After setting the schema template, with the system enabled to auto create schema, you can insert data into the timeseries. For example, suppose there's a storage group root.sg1 and t1 has been set to root.sg1.d1, then timeseries like root.sg1.d1.temperature and root.sg1.d1.status are available and data points can be inserted.
+After setting the schema template, with the system enabled to auto create schema, you can insert data into the timeseries. For example, suppose there's a database root.sg1 and t1 has been set to root.sg1.d1, then timeseries like root.sg1.d1.temperature and root.sg1.d1.status are available and data points can be inserted.
 
 
 **Attention**: Before inserting data or the system not enabled to auto create schema, timeseries defined by the schema template will not be created. You can use the following SQL statement to create the timeseries or activate the schema template, act before inserting data:
@@ -87,14 +87,14 @@ show timeseries root.sg1.**
 ````
 
 ```shell
-+-----------------------+-----+-------------+--------+--------+-----------+----+----------+
-|             timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
-+-----------------------+-----+-------------+--------+--------+-----------+----+----------+
-|root.sg1.d1.temperature| null|     root.sg1|   FLOAT|     RLE|     SNAPPY|null|      null|
-|     root.sg1.d1.status| null|     root.sg1| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
-|        root.sg1.d2.lon| null|     root.sg1|   FLOAT| GORILLA|     SNAPPY|null|      null|
-|        root.sg1.d2.lat| null|     root.sg1|   FLOAT| GORILLA|     SNAPPY|null|      null|
-+-----------------------+-----+-------------+--------+--------+-----------+----+----------+
++-----------------------+-----+--------+--------+--------+-----------+----+----------+
+|             timeseries|alias|database|dataType|encoding|compression|tags|attributes|
++-----------------------+-----+--------+--------+--------+-----------+----+----------+
+|root.sg1.d1.temperature| null|root.sg1|   FLOAT|     RLE|     SNAPPY|null|      null|
+|     root.sg1.d1.status| null|root.sg1| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
+|        root.sg1.d2.lon| null|root.sg1|   FLOAT| GORILLA|     SNAPPY|null|      null|
+|        root.sg1.d2.lat| null|root.sg1|   FLOAT| GORILLA|     SNAPPY|null|      null|
++-----------------------+-----+--------+--------+--------+-----------+----+----------+
 ```
 
 Show the devices:
diff --git a/docs/UserGuide/Operate-Metadata/Timeseries.md b/docs/UserGuide/Operate-Metadata/Timeseries.md
index 5fe625e46d..b9eaa1eb93 100644
--- a/docs/UserGuide/Operate-Metadata/Timeseries.md
+++ b/docs/UserGuide/Operate-Metadata/Timeseries.md
@@ -23,7 +23,7 @@
 
 ## Create Timeseries
 
-According to the storage model selected before, we can create corresponding timeseries in the two storage groups respectively. The SQL statements for creating timeseries are as follows:
+According to the storage model selected before, we can create corresponding timeseries in the two databases respectively. The SQL statements for creating timeseries are as follows:
 
 ```
 IoTDB > create timeseries root.ln.wf01.wt01.status with datatype=BOOLEAN,encoding=PLAIN
@@ -86,7 +86,7 @@ IoTDB> drop timeseries root.ln.wf02.*
   There are four optional clauses added in SHOW TIMESERIES, return information of time series 
   
 
-Timeseries information includes: timeseries path, alias of measurement, storage group it belongs to, data type, encoding type, compression type, tags and attributes.
+Timeseries information includes: timeseries path, alias of measurement, database it belongs to, data type, encoding type, compression type, tags and attributes.
 
 Examples:
 
@@ -107,7 +107,7 @@ The results are shown below respectively:
 
 ```
 +-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+
-|                     timeseries|   alias|storage group|dataType|encoding|compression|                                       tags|                                              attributes|
+|                     timeseries|   alias|     database|dataType|encoding|compression|                                       tags|                                              attributes|
 +-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+
 |root.sgcc.wf03.wt01.temperature|    null|    root.sgcc|   FLOAT|     RLE|     SNAPPY|                                       null|                                                    null|
 |     root.sgcc.wf03.wt01.status|    null|    root.sgcc| BOOLEAN|   PLAIN|     SNAPPY|                                       null|                                                    null|
@@ -120,14 +120,14 @@ The results are shown below respectively:
 Total line number = 7
 It costs 0.016s
 
-+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
-|                   timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
-+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
-|   root.ln.wf02.wt02.hardware| null|      root.ln|    TEXT|   PLAIN|     SNAPPY|null|      null|
-|     root.ln.wf02.wt02.status| null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
-|root.ln.wf01.wt01.temperature| null|      root.ln|   FLOAT|     RLE|     SNAPPY|null|      null|
-|     root.ln.wf01.wt01.status| null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
-+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
++-----------------------------+-----+--------+--------+--------+-----------+----+----------+
+|                   timeseries|alias|database|dataType|encoding|compression|tags|attributes|
++-----------------------------+-----+--------+--------+--------+-----------+----+----------+
+|   root.ln.wf02.wt02.hardware| null| root.ln|    TEXT|   PLAIN|     SNAPPY|null|      null|
+|     root.ln.wf02.wt02.status| null| root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
+|root.ln.wf01.wt01.temperature| null| root.ln|   FLOAT|     RLE|     SNAPPY|null|      null|
+|     root.ln.wf01.wt01.status| null| root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
++-----------------------------+-----+--------+--------+--------+-----------+----+----------+
 Total line number = 4
 It costs 0.004s
 ```
@@ -164,8 +164,8 @@ Besides, `LEVEL` could be defined to show count the number of timeseries of each
 For example, if there are several timeseries (use `show timeseries` to show all timeseries):
 
 ```
-+-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+
-|                     timeseries|   alias|storage group|dataType|encoding|compression|                                       tags|                                              attributes|
++-------------------------------+--------+--------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+
+|                     timeseries|   alias|database|dataType|encoding|compression|                                       tags|                                              attributes|
 +-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+
 |root.sgcc.wf03.wt01.temperature|    null|    root.sgcc|   FLOAT|     RLE|     SNAPPY|                                       null|                                                    null|
 |     root.sgcc.wf03.wt01.status|    null|    root.sgcc| BOOLEAN|   PLAIN|     SNAPPY|                                       null|                                                    null|
@@ -289,7 +289,7 @@ The results are shown below respectly:
 
 ```
 +--------------------------+-----+-------------+--------+--------+-----------+------------+----------+
-|                timeseries|alias|storage group|dataType|encoding|compression|        tags|attributes|
+|                timeseries|alias|     database|dataType|encoding|compression|        tags|attributes|
 +--------------------------+-----+-------------+--------+--------+-----------+------------+----------+
 |root.ln.wf02.wt02.hardware| null|      root.ln|    TEXT|   PLAIN|     SNAPPY|{"unit":"c"}|      null|
 +--------------------------+-----+-------------+--------+--------+-----------+------------+----------+
@@ -297,7 +297,7 @@ Total line number = 1
 It costs 0.005s
 
 +------------------------+-----+-------------+--------+--------+-----------+-----------------------+----------+
-|              timeseries|alias|storage group|dataType|encoding|compression|                   tags|attributes|
+|              timeseries|alias|     database|dataType|encoding|compression|                   tags|attributes|
 +------------------------+-----+-------------+--------+--------+-----------+-----------------------+----------+
 |root.ln.wf02.wt02.status| null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|{"description":"test1"}|      null|
 +------------------------+-----+-------------+--------+--------+-----------+-----------------------+----------+
@@ -363,7 +363,7 @@ The execution result is as follows:
 
 ```
 +--------------+-----+-------------+--------+--------+-----------+-------------------------+---------------------------+
-|    timeseries|alias|storage group|dataType|encoding|compression|                     tags|                 attributes|
+|    timeseries|alias|     database|dataType|encoding|compression|                     tags|                 attributes|
 +--------------+-----+-------------+--------+--------+-----------+-------------------------+---------------------------+
 |root.sg1.d1.s1| null|     root.sg1|   INT32|     RLE|     SNAPPY|{"tag1":"v1","tag2":"v2"}|{"attr2":"v2","attr1":"v1"}|
 |root.sg1.d1.s2| null|     root.sg1|  DOUBLE| GORILLA|     SNAPPY|{"tag4":"v4","tag3":"v3"}|{"attr4":"v4","attr3":"v3"}|
@@ -373,11 +373,11 @@ The execution result is as follows:
 Support query:
 
 ```
-IoTDB> show storage group where tag1='v1'
+IoTDB> show databases where tag1='v1'
 Msg: 401: Error occurred while parsing SQL to physical plan: line 1:19 mismatched input 'where' expecting {<EOF>, ';'}
 IoTDB> show timeseries where tag1='v1'
 +--------------+-----+-------------+--------+--------+-----------+-------------------------+---------------------------+
-|    timeseries|alias|storage group|dataType|encoding|compression|                     tags|                 attributes|
+|    timeseries|alias|     database|dataType|encoding|compression|                     tags|                 attributes|
 +--------------+-----+-------------+--------+--------+-----------+-------------------------+---------------------------+
 |root.sg1.d1.s1| null|     root.sg1|   INT32|     RLE|     SNAPPY|{"tag1":"v1","tag2":"v2"}|{"attr2":"v2","attr1":"v1"}|
 +--------------+-----+-------------+--------+--------+-----------+-------------------------+---------------------------+
diff --git a/docs/UserGuide/Query-Data/Aggregate-Query.md b/docs/UserGuide/Query-Data/Aggregate-Query.md
index b23d21ef38..79c57cf143 100644
--- a/docs/UserGuide/Query-Data/Aggregate-Query.md
+++ b/docs/UserGuide/Query-Data/Aggregate-Query.md
@@ -72,7 +72,7 @@ Aggregation by level statement is used to group the query result whose name is t
 - Keyword `LEVEL` is used to specify the level that need to be grouped.  By convention, `level=0` represents *root* level. 
 - All aggregation functions are supported. When using five aggregations: sum, avg, min_value, max_value and extreme, please make sure all the aggregated series have exactly the same data type. Otherwise, it will generate a syntax error.
 
-**Example 1:** there are multiple series named `status` under different storage groups, like "root.ln.wf01.wt01.status", "root.ln.wf02.wt02.status", and "root.sgcc.wf03.wt01.status". If you need to count the number of data points of the `status` sequence under different storage groups, use the following query:
+**Example 1:** there are multiple series named `status` under different databases, like "root.ln.wf01.wt01.status", "root.ln.wf02.wt02.status", and "root.sgcc.wf03.wt01.status". If you need to count the number of data points of the `status` sequence under different databases, use the following query:
 
 ```sql
 select count(status) from root.** group by level = 1
@@ -108,7 +108,7 @@ Total line number = 1
 It costs 0.003s
 ```
 
-**Example 3:** Attention,the devices named `wt01` under storage groups `ln` and `sgcc` are grouped together, since they are regarded as devices with the same name. If you need to further count the number of data points in different devices under different storage groups, you can use the following query:
+**Example 3:** Attention,the devices named `wt01` under databases `ln` and `sgcc` are grouped together, since they are regarded as devices with the same name. If you need to further count the number of data points in different devices under different storage groups, you can use the following query:
 
 ```sql
 select count(status) from root.** group by level = 1, 3
@@ -471,7 +471,7 @@ The devices `d1` and `d2` belong to the workshop `d1` in `Beijing`.
 
 
 ```SQL
-set storage group to root.factory1;
+CREATE DATABASE root.factory1;
 create timeseries root.factory1.d1.temperature with datatype=FLOAT tags(city=Beijing, workshop=w1);
 create timeseries root.factory1.d2.temperature with datatype=FLOAT tags(city=Beijing, workshop=w1);
 create timeseries root.factory1.d3.temperature with datatype=FLOAT tags(city=Beijing, workshop=w2);
diff --git a/docs/UserGuide/QuickStart/Command-Line-Interface.md b/docs/UserGuide/QuickStart/Command-Line-Interface.md
index b09d6caf6d..5d1ba55d67 100644
--- a/docs/UserGuide/QuickStart/Command-Line-Interface.md
+++ b/docs/UserGuide/QuickStart/Command-Line-Interface.md
@@ -86,7 +86,7 @@ Enter ```quit``` or `exit` can exit Cli. The cli will shows `quit normally`
 |-pw <`password`>|string, no quotation marks|No|The password used for IoTDB to connect to the server. If no password is entered, IoTDB will ask for password in Cli command|-pw root|
 |-u <`username`>|string, no quotation marks|Yes|User name used for IoTDB to connect the server|-u root|
 |-maxPRC <`maxPrintRowCount`>|int|No|Set the maximum number of rows that IoTDB returns|-maxPRC 10|
-|-e <`execute`> |string|No|manipulate IoTDB in batches without entering cli input mode|-e "show storage group"|
+|-e <`execute`> |string|No|manipulate IoTDB in batches without entering cli input mode|-e "show databases"|
 |-c | empty | No | If the server enables `rpc_thrift_compression_enable=true`, then cli must use `-c` | -c |
 
 Following is a cli command which connects the host with IP
@@ -168,7 +168,7 @@ Shell >./standalone.sh
 
 ![avatar](https://github.com/apache/iotdb-bin-resources/blob/main/docs/UserGuide/CLI/Command-Line-Interface/add_role1.png?raw=true)
 
-9、 Enter `iotdb_admin` in the Role Name and click the save button. Tip: `iotdb_admin` here cannot be any other name, otherwise even after successful login, you will not have permission to use iotdb's query, insert, create storage group, add users, roles and other functions
+9、 Enter `iotdb_admin` in the Role Name and click the save button. Tip: `iotdb_admin` here cannot be any other name, otherwise even after successful login, you will not have permission to use iotdb's query, insert, create database, add users, roles and other functions
 
 ![avatar](https://github.com/apache/iotdb-bin-resources/blob/main/docs/UserGuide/CLI/Command-Line-Interface/add_role2.png?raw=true)
 
@@ -244,7 +244,7 @@ In the Windows environment, the SQL statement of the -e parameter needs to use `
 
 In order to better explain the use of -e parameter, take following as an example(On linux system).
 
-Suppose you want to create a storage group root.demo to a newly launched IoTDB, create a timeseries root.demo.s1 and insert three data points into it. With -e parameter, you could write a shell like this:
+Suppose you want to create a database root.demo to a newly launched IoTDB, create a timeseries root.demo.s1 and insert three data points into it. With -e parameter, you could write a shell like this:
 
 ```shell
 # !/bin/bash
@@ -254,7 +254,7 @@ rpcPort=6667
 user=root
 pass=root
 
-./sbin/start-cli.sh -h ${host} -p ${rpcPort} -u ${user} -pw ${pass} -e "set storage group to root.demo"
+./sbin/start-cli.sh -h ${host} -p ${rpcPort} -u ${user} -pw ${pass} -e "create database root.demo"
 ./sbin/start-cli.sh -h ${host} -p ${rpcPort} -u ${user} -pw ${pass} -e "create timeseries root.demo.s1 WITH DATATYPE=INT32, ENCODING=RLE"
 ./sbin/start-cli.sh -h ${host} -p ${rpcPort} -u ${user} -pw ${pass} -e "insert into root.demo(timestamp,s1) values(1,10)"
 ./sbin/start-cli.sh -h ${host} -p ${rpcPort} -u ${user} -pw ${pass} -e "insert into root.demo(timestamp,s1) values(2,11)"
diff --git a/docs/UserGuide/QuickStart/QuickStart.md b/docs/UserGuide/QuickStart/QuickStart.md
index 7e18060787..f101302840 100644
--- a/docs/UserGuide/QuickStart/QuickStart.md
+++ b/docs/UserGuide/QuickStart/QuickStart.md
@@ -137,25 +137,25 @@ IoTDB>
 
 Now, let us introduce the way of creating timeseries, inserting data and querying data. 
 
-The data in IoTDB is organized as timeseries, in each timeseries there are some data-time pairs, and every timeseries is owned by a storage group. Before defining a timeseries, we should define a storage group using SET STORAGE GROUP, and here is an example: 
+The data in IoTDB is organized as timeseries, in each timeseries there are some data-time pairs, and every timeseries is owned by a database. Before defining a timeseries, we should define a database using create DATABASE, and here is an example: 
 
 ``` 
-IoTDB> SET STORAGE GROUP TO root.ln
+IoTDB> create database root.ln
 ```
 
-We can also use SHOW STORAGE GROUP to check created storage group:
+We can also use SHOW DATABASES to check created databases:
 
 ```
-IoTDB> SHOW STORAGE GROUP
+IoTDB> SHOW DATABASES
 +-----------------------------------+
-|                      Storage Group|
+|                           Database|
 +-----------------------------------+
 |                            root.ln|
 +-----------------------------------+
-storage group number = 1
+Database number = 1
 ```
 
-After the storage group is set, we can use CREATE TIMESERIES to create new timeseries. When we create a timeseries, we should define its data type and the encoding scheme. We create two timeseries as follow:
+After the database is set, we can use CREATE TIMESERIES to create new timeseries. When we create a timeseries, we should define its data type and the encoding scheme. We create two timeseries as follow:
 
 ```
 IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN
@@ -169,7 +169,7 @@ To query the specific timeseries, use SHOW TIMESERIES \<Path\>. \<Path\> represe
 ```
 IoTDB> SHOW TIMESERIES
 +-------------------------------+---------------+--------+--------+
-|                     Timeseries|  Storage Group|DataType|Encoding|
+|                     Timeseries|       Database|DataType|Encoding|
 +-------------------------------+---------------+--------+--------+
 |       root.ln.wf01.wt01.status|        root.ln| BOOLEAN|   PLAIN|
 |  root.ln.wf01.wt01.temperature|        root.ln|   FLOAT|     RLE|
@@ -182,7 +182,7 @@ Total timeseries number = 2
 ```
 IoTDB> SHOW TIMESERIES root.ln.wf01.wt01.status
 +------------------------------+--------------+--------+--------+
-|                    Timeseries| Storage Group|DataType|Encoding|
+|                    Timeseries|      Database|DataType|Encoding|
 +------------------------------+--------------+--------+--------+
 |      root.ln.wf01.wt01.status|       root.ln| BOOLEAN|   PLAIN|
 +------------------------------+--------------+--------+--------+
diff --git a/docs/UserGuide/QuickStart/ServerFileList.md b/docs/UserGuide/QuickStart/ServerFileList.md
index 3f6e87eb06..6e7070e9d3 100644
--- a/docs/UserGuide/QuickStart/ServerFileList.md
+++ b/docs/UserGuide/QuickStart/ServerFileList.md
@@ -64,7 +64,7 @@
 > under directory basedir/wal
 
 1. {StorageGroupName}-{TsFileName}/wal1
-    + every storage group has several wal files, and every memtable has one associated wal file before it is flushed into a TsFile 
+    + every database has several wal files, and every memtable has one associated wal file before it is flushed into a TsFile 
 
 #### TsFile
 > under directory data/sequence or unsequence/{StorageGroupName}/{TimePartitionId}/
@@ -88,7 +88,7 @@
 > under directory basedir/system/storage_groups/{StorageGroupName}/{TimePartitionId} or upgrade
 
 1. Version-{version}
-    + version file, record the max version in fileName of a storage group
+    + version file, record the max version in fileName of a database
 
 #### Upgrade
 > under directory basedir/system/upgrade
diff --git a/docs/UserGuide/Reference/ConfigNode-Config-Manual.md b/docs/UserGuide/Reference/ConfigNode-Config-Manual.md
index 5c3e62bfff..4eff42d69c 100644
--- a/docs/UserGuide/Reference/ConfigNode-Config-Manual.md
+++ b/docs/UserGuide/Reference/ConfigNode-Config-Manual.md
@@ -233,13 +233,13 @@ The global configuration of cluster is in ConfigNode.
 |Default| org.apache.iotdb.commons.partition.executor.hash.BKDRHashExecutor |
 |Effective|Only allowed to be modified in first start up|
 
-### Storage Group
+### Database
 
 * default\_ttl
 
 |Name| default\_ttl |
 |:---:|:---|
-|Description| Default ttl when each storage group created |
+|Description| Default ttl when each database created |
 |Type| Long |
 |Default| Infinity |
 |Effective|After restarting system|
diff --git a/docs/UserGuide/Reference/SQL-Reference.md b/docs/UserGuide/Reference/SQL-Reference.md
index a7b58abbb6..e16b287dbd 100644
--- a/docs/UserGuide/Reference/SQL-Reference.md
+++ b/docs/UserGuide/Reference/SQL-Reference.md
@@ -48,11 +48,11 @@ It costs 0.417s
 
 ## Schema Statement
 
-* Set Storage Group
+* Create Database
 
 ``` SQL
-SET STORAGE GROUP TO <FullPath>
-Eg: IoTDB > SET STORAGE GROUP TO root.ln.wf01.wt01
+CREATE DATABASE <FullPath>
+Eg: IoTDB > CREATE DATABASE root.ln.wf01.wt01
 Note: FullPath can not include wildcard `*` or `**`
 ```
 
@@ -265,20 +265,20 @@ Eg: show timeseries root.ln.** where description contains 'test1'
 Eg: show timeseries root.ln.** where unit='c' limit 10 offset 10
 ```
 
-* Show Storage Group Statement
+* Show Databases Statement
 
 ```
-SHOW STORAGE GROUP
-Eg: IoTDB > SHOW STORAGE GROUP
+SHOW DATABASES
+Eg: IoTDB > SHOW DATABASES
 Note: This statement can be used in IoTDB Client and JDBC.
 ```
 
 * Show Specific Storage Group Statement
 
 ```
-SHOW STORAGE GROUP <Path>
-Eg: IoTDB > SHOW STORAGE GROUP root.*
-Eg: IoTDB > SHOW STORAGE GROUP root.ln
+SHOW DATABASES <Path>
+Eg: IoTDB > SHOW DATABASES root.*
+Eg: IoTDB > SHOW DATABASES root.ln
 Note: The path can be full path or path pattern.
 Note: This statement can be used in IoTDB Client and JDBC.
 ```
diff --git a/docs/UserGuide/Write-Data/CSV-Tool.md b/docs/UserGuide/Write-Data/CSV-Tool.md
index 6f933e6c5a..556bf6c48a 100644
--- a/docs/UserGuide/Write-Data/CSV-Tool.md
+++ b/docs/UserGuide/Write-Data/CSV-Tool.md
@@ -128,9 +128,9 @@ Note that if fields exported by the export tool have the following special chara
 ### Create metadata (optional)
 
 ```sql
-SET STORAGE GROUP TO root.fit.d1;
-SET STORAGE GROUP TO root.fit.d2;
-SET STORAGE GROUP TO root.fit.p;
+CREATE DATABASE root.fit.d1;
+CREATE DATABASE root.fit.d2;
+CREATE DATABASE root.fit.p;
 CREATE TIMESERIES root.fit.d1.s1 WITH DATATYPE=INT32,ENCODING=RLE;
 CREATE TIMESERIES root.fit.d1.s2 WITH DATATYPE=TEXT,ENCODING=PLAIN;
 CREATE TIMESERIES root.fit.d2.s1 WITH DATATYPE=INT32,ENCODING=RLE;
diff --git a/docs/UserGuide/Write-Data/Load-External-Tsfile.md b/docs/UserGuide/Write-Data/Load-External-Tsfile.md
index b89f72a3ef..62876f1fb2 100644
--- a/docs/UserGuide/Write-Data/Load-External-Tsfile.md
+++ b/docs/UserGuide/Write-Data/Load-External-Tsfile.md
@@ -39,7 +39,7 @@ This command has two usages:
 
 The first parameter indicates the path of the tsfile to be loaded. This command has three options: sglevel, verify, onSuccess.
 
-SGLEVEL option. If the storage group correspond to the tsfile does not exist, the user can set the level of storage group through the fourth parameter. By default, it uses the storage group level which is set in `iotdb-datanode.properties`.
+SGLEVEL option. If the database correspond to the tsfile does not exist, the user can set the level of database through the fourth parameter. By default, it uses the database level which is set in `iotdb-datanode.properties`.
 
 VERIFY option. If this parameter is true, All timeseries in this loading tsfile will be compared with the timeseries in IoTDB. If existing a measurement which has different datatype with the measurement in IoTDB, the loading process will be stopped and exit. If consistence can be promised, setting false for this parameter will be a better choice.
 
diff --git a/docs/zh/Development/VoteRelease.md b/docs/zh/Development/VoteRelease.md
index 944cbf936c..6606c00b3b 100644
--- a/docs/zh/Development/VoteRelease.md
+++ b/docs/zh/Development/VoteRelease.md
@@ -130,7 +130,7 @@ nohup ./sbin/start-server.sh >/dev/null 2>&1 &
 
 ./sbin/start-cli.sh
 
-SET STORAGE GROUP TO root.turbine;
+CREATE DATABASE root.turbine;
 CREATE TIMESERIES root.turbine.d1.s0 WITH DATATYPE=DOUBLE, ENCODING=GORILLA;
 insert into root.turbine.d1(timestamp,s0) values(1,1);
 insert into root.turbine.d1(timestamp,s0) values(2,2);
@@ -168,7 +168,7 @@ LICENSE and NOTICE [ok]
 signatures and hashes [ok]
 Could run with the following statements [ok]
 
-SET STORAGE GROUP TO root.turbine;
+CREATE DATABASE root.turbine;
 CREATE TIMESERIES root.turbine.d1.s0 WITH DATATYPE=DOUBLE, ENCODING=GORILLA;
 insert into root.turbine.d1(timestamp,s0) values(1,1);
 insert into root.turbine.d1(timestamp,s0) values(2,2);
diff --git a/docs/zh/UserGuide/API/Programming-JDBC.md b/docs/zh/UserGuide/API/Programming-JDBC.md
index fb3c9975d7..1e3096d178 100644
--- a/docs/zh/UserGuide/API/Programming-JDBC.md
+++ b/docs/zh/UserGuide/API/Programming-JDBC.md
@@ -74,15 +74,15 @@ public class JDBCExample {
       return;
     }
     Statement statement = connection.createStatement();
-    //Create storage group
+    //Create database
     try {
-      statement.execute("SET STORAGE GROUP TO root.demo");
+      statement.execute("CREATE DATABASE root.demo");
     }catch (IoTDBSQLException e){
       System.out.println(e.getMessage());
     }
 
-    //Show storage group
-    statement.execute("SHOW STORAGE GROUP");
+    //SHOW DATABASES
+    statement.execute("SHOW DATABASES");
     outputResult(statement.getResultSet());
 
     //Create time series
diff --git a/docs/zh/UserGuide/API/RestService.md b/docs/zh/UserGuide/API/RestService.md
index f4ad4f935d..7930caf69f 100644
--- a/docs/zh/UserGuide/API/RestService.md
+++ b/docs/zh/UserGuide/API/RestService.md
@@ -798,7 +798,7 @@ curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X
 
 请求示例:
 ```shell
-curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X POST --data '{"sql":"set storage group to root.ln"}' http://127.0.0.1:18080/rest/v1/nonQuery
+curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X POST --data '{"sql":"CREATE DATABASE root.ln"}' http://127.0.0.1:18080/rest/v1/nonQuery
 ```
 
 响应参数:
diff --git a/docs/zh/UserGuide/Administration-Management/Administration.md b/docs/zh/UserGuide/Administration-Management/Administration.md
index 195f23833a..9c3a741a55 100644
--- a/docs/zh/UserGuide/Administration-Management/Administration.md
+++ b/docs/zh/UserGuide/Administration-Management/Administration.md
@@ -366,12 +366,12 @@ Eg: IoTDB > ALTER USER `tempuser` SET PASSWORD 'newpwd';
 
 |权限名称|说明|示例|
 |:---|:---|----|
-|SET\_STORAGE\_GROUP|创建存储组。包含设置存储组的权限和TTL。路径相关|Eg1: `set storage group to root.ln;`<br />Eg2:`set ttl to root.ln 3600000;`<br />Eg3:`unset ttl to root.ln;`|
-|DELETE\_STORAGE\_GROUP|删除存储组。路径相关|Eg: `delete storage group root.ln;`|
+|SET\_STORAGE\_GROUP|创建存储组。包含设置存储组的权限和TTL。路径相关|Eg1: `CREATE DATABASE root.ln;`<br />Eg2:`set ttl to root.ln 3600000;`<br />Eg3:`unset ttl to root.ln;`|
+|DELETE\_STORAGE\_GROUP|删除存储组。路径相关|Eg: `delete database root.ln;`|
 |CREATE\_TIMESERIES|创建时间序列。路径相关|Eg1: 创建时间序列<br />`create timeseries root.ln.wf02.status with datatype=BOOLEAN,encoding=PLAIN;`<br />Eg2: 创建对齐时间序列<br />`create aligned timeseries root.ln.device1(latitude FLOAT encoding=PLAIN compressor=SNAPPY, longitude FLOAT encoding=PLAIN compressor=SNAPPY);`|
 |INSERT\_TIMESERIES|插入数据。路径相关|Eg1: `insert into root.ln.wf02(timestamp,status) values(1,true);`<br />Eg2: `insert into root.sg1.d1(time, s1, s2) aligned values(1, 1, 1)`|
 |ALTER\_TIMESERIES|修改时间序列标签。路径相关|Eg1: `alter timeseries root.turbine.d1.s1 ADD TAGS tag3=v3, tag4=v4;`<br />Eg2: `ALTER timeseries root.turbine.d1.s1 UPSERT ALIAS=newAlias TAGS(tag2=newV2, tag3=v3) ATTRIBUTES(attr3=v3, attr4=v4);`|
-|READ\_TIMESERIES|查询数据。路径相关|Eg1: `show storage group;` <br />Eg2: `show child paths root.ln, show child nodes root.ln;`<br />Eg3: `show devices;`<br />Eg4: `show timeseries root.**;`<br />Eg5: `show schema templates;`<br />Eg6: `show all ttl`<br />Eg7: [数据查询](../Query-Data/Overview.md)(这一节之下的查询语句均使用该权限)<br />Eg8: CVS格式数据导出<br />`./export-csv.bat -h 127.0.0.1 -p 6667 -u tempuser -pw root -td ./`<br />Eg9: 查询性能追踪<br />`tracing select * from root.**`<br />Eg10: UDF查询<br />`select example(*) [...]
+|READ\_TIMESERIES|查询数据。路径相关|Eg1: `SHOW DATABASES;` <br />Eg2: `show child paths root.ln, show child nodes root.ln;`<br />Eg3: `show devices;`<br />Eg4: `show timeseries root.**;`<br />Eg5: `show schema templates;`<br />Eg6: `show all ttl`<br />Eg7: [数据查询](../Query-Data/Overview.md)(这一节之下的查询语句均使用该权限)<br />Eg8: CVS格式数据导出<br />`./export-csv.bat -h 127.0.0.1 -p 6667 -u tempuser -pw root -td ./`<br />Eg9: 查询性能追踪<br />`tracing select * from root.**`<br />Eg10: UDF查询<br />`select example(*) fro [...]
 |DELETE\_TIMESERIES|删除数据或时间序列。路径相关|Eg1: 删除时间序列<br />`delete timeseries root.ln.wf01.wt01.status`<br />Eg2: 删除数据<br />`delete from root.ln.wf02.wt02.status where time < 10`<br />Eg3: 使用DROP关键字<br />`drop timeseries root.ln.wf01.wt01.status`|
 |CREATE\_USER|创建用户。路径无关|Eg: `create user thulab 'passwd';`|
 |DELETE\_USER|删除用户。路径无关|Eg: `drop user xiaoming;`|
diff --git a/docs/zh/UserGuide/Data-Modeling/DataRegion.md b/docs/zh/UserGuide/Data-Modeling/DataRegion.md
index 0e9d5c2adf..2ace267206 100644
--- a/docs/zh/UserGuide/Data-Modeling/DataRegion.md
+++ b/docs/zh/UserGuide/Data-Modeling/DataRegion.md
@@ -21,7 +21,7 @@
 
 # 背景
 
-存储组由用户显示指定,使用语句"SET STORAGE GROUP TO"来指定存储组,每一个存储组有一个对应的 StorageGroupProcessor
+存储组由用户显示指定,使用语句"CREATE DATABASE"来指定存储组,每一个存储组有一个对应的 StorageGroupProcessor
 
 为了确保最终一致性,每一个存储组有一个数据插入锁(排它锁)来同步每一次插入操作。
 所以服务端数据写入的并行度为存储组的数量。
@@ -48,6 +48,6 @@
 data_region_num
 ```
 
-推荐值为[data region number] = [CPU core number] / [user-defined storage group number]
+推荐值为[data region number] = [CPU core number] / [user-defined database number]
 
 参考[配置手册](../Reference/DataNode-Config-Manual.md)以获取更多信息。
\ No newline at end of file
diff --git a/docs/zh/UserGuide/Delete-Data/TTL.md b/docs/zh/UserGuide/Delete-Data/TTL.md
index 2c330a542a..559d6377a7 100644
--- a/docs/zh/UserGuide/Delete-Data/TTL.md
+++ b/docs/zh/UserGuide/Delete-Data/TTL.md
@@ -79,7 +79,7 @@ SHOW TTL ON root.ln,root.sgcc,root.DB 这个例子会显示指定的三个存储
 ```
 IoTDB> show all ttl
 +-------------+-------+
-|storage group|ttl(ms)|
+|     database|ttl(ms)|
 +-------------+-------+
 |      root.ln|3600000|
 |    root.sgcc|   null|
diff --git a/docs/zh/UserGuide/Ecosystem-Integration/Grafana-Plugin.md b/docs/zh/UserGuide/Ecosystem-Integration/Grafana-Plugin.md
index 9f91fc2980..4e5286458b 100644
--- a/docs/zh/UserGuide/Ecosystem-Integration/Grafana-Plugin.md
+++ b/docs/zh/UserGuide/Ecosystem-Integration/Grafana-Plugin.md
@@ -294,7 +294,7 @@ Type下拉中有Query、Custom、Text box、Constant、DataSource、Interval、A
 更加详细介绍用法请查看官方手册(https://grafana.com/docs/grafana/latest/variables/)
 
 除了上面的示例外,还支持下面这些语句:
-*  `show storage group`
+*  `show databases`
 *  `show timeseries`
 *  `show child nodes`
 *  `show all ttl`
diff --git a/docs/zh/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md b/docs/zh/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md
index c870a9babc..b319cd2dd8 100644
--- a/docs/zh/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md
+++ b/docs/zh/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md
@@ -110,7 +110,7 @@ or
 我们提供了一些简单的 SQL 来展示 Zeppelin-IoTDB 解释器的使用:
 
 ```sql
-SET STORAGE GROUP TO root.ln.wf01.wt01;
+CREATE DATABASE root.ln.wf01.wt01;
 CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN;
 CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=PLAIN;
 CREATE TIMESERIES root.ln.wf01.wt01.hardware WITH DATATYPE=INT32, ENCODING=PLAIN;
diff --git a/docs/zh/UserGuide/Edge-Cloud-Collaboration/Sync-Tool.md b/docs/zh/UserGuide/Edge-Cloud-Collaboration/Sync-Tool.md
index bd675f6d44..f4f2a9a0a7 100644
--- a/docs/zh/UserGuide/Edge-Cloud-Collaboration/Sync-Tool.md
+++ b/docs/zh/UserGuide/Edge-Cloud-Collaboration/Sync-Tool.md
@@ -302,7 +302,7 @@ IoTDB> SHOW PIPE p
 在发送端执行以下 SQL
 
 ```SQL
-SET STORAGE GROUP TO root.vehicle;
+CREATE DATABASE root.vehicle;
 CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE;
 CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=TEXT, ENCODING=PLAIN;
 CREATE TIMESERIES root.vehicle.d1.s2 WITH DATATYPE=FLOAT, ENCODING=RLE;
diff --git a/docs/zh/UserGuide/Integration-Test/Integration-Test-refactoring-tutorial.md b/docs/zh/UserGuide/Integration-Test/Integration-Test-refactoring-tutorial.md
index 8976221ef3..2516c4967c 100644
--- a/docs/zh/UserGuide/Integration-Test/Integration-Test-refactoring-tutorial.md
+++ b/docs/zh/UserGuide/Integration-Test/Integration-Test-refactoring-tutorial.md
@@ -126,9 +126,9 @@ public void exampleTest() throws Exception {
   try (Connection connection = EnvFactory.getEnv().getConnection();
       Statement statement = connection.createStatement()) {
     // 使用 execute() 方法设置存储组
-    statement.execute("set storage group to root.sg");
+    statement.execute("CREATE DATABASE root.sg");
     // 使用 executeQuery() 方法查询存储组
-    try (ResultSet resultSet = statement.executeQuery("show storage group")) {
+    try (ResultSet resultSet = statement.executeQuery("show databases")) {
       if (resultSet.next()) {
         String storageGroupPath = resultSet.getString("storage group");
         Assert.assertEquals("root.sg", storageGroupPath);
diff --git a/docs/zh/UserGuide/Operate-Metadata/Storage-Group.md b/docs/zh/UserGuide/Operate-Metadata/Storage-Group.md
index 25f4bf8d1d..97706d8578 100644
--- a/docs/zh/UserGuide/Operate-Metadata/Storage-Group.md
+++ b/docs/zh/UserGuide/Operate-Metadata/Storage-Group.md
@@ -28,7 +28,7 @@
 我们可以根据存储模型建立相应的存储组。创建存储组支持两种 SQL 语句,如下所示:
 
 ```
-IoTDB > set storage group to root.ln
+IoTDB > CREATE DATABASE root.ln
 IoTDB > create storage group root.sgcc
 ```
 
@@ -37,10 +37,10 @@ IoTDB > create storage group root.sgcc
 需要注意的是,存储组的父子节点都不能再设置存储组。例如在已经有`root.ln`和`root.sgcc`这两个存储组的情况下,创建`root.ln.wf01`存储组是不可行的。系统将给出相应的错误提示,如下所示:
 
 ```
-IoTDB> set storage group to root.ln.wf01
-Msg: 300: root.ln has already been set to storage group.
+IoTDB> CREATE DATABASE root.ln.wf01
+Msg: 300: root.ln has already been created as database.
 IoTDB> create storage group root.ln.wf01
-Msg: 300: root.ln has already been set to storage group.
+Msg: 300: root.ln has already been created as database.
 ```
 存储组节点名只支持中英文字符、数字、下划线的组合,如果想设置为纯数字或者包含其他字符,需要用反引号(``)把存储组名称引起来。
 
@@ -48,12 +48,12 @@ Msg: 300: root.ln has already been set to storage group.
 
 ## 查看存储组
 
-在存储组创建后,我们可以使用 [SHOW STORAGE GROUP](../Reference/SQL-Reference.md) 语句和 [SHOW STORAGE GROUP \<PathPattern>](../Reference/SQL-Reference.md) 来查看存储组,SQL 语句如下所示:
+在存储组创建后,我们可以使用 [SHOW DATABASES](../Reference/SQL-Reference.md) 语句和 [SHOW DATABASES \<PathPattern>](../Reference/SQL-Reference.md) 来查看存储组,SQL 语句如下所示:
 
 ```
-IoTDB> show storage group
-IoTDB> show storage group root.*
-IoTDB> show storage group root.**
+IoTDB> show databases
+IoTDB> show databases root.*
+IoTDB> show databases root.**
 ```
 
 执行结果为:
@@ -87,7 +87,7 @@ IoTDB > DELETE STORAGE GROUP root.**
 SQL 语句如下所示:
 
 ```
-IoTDB> show storage group
+IoTDB> show databases
 IoTDB> count storage group
 IoTDB> count storage group root.*
 IoTDB> count storage group root.sgcc.*
diff --git a/docs/zh/UserGuide/Operate-Metadata/Timeseries.md b/docs/zh/UserGuide/Operate-Metadata/Timeseries.md
index bbe786b3f1..f304f8b849 100644
--- a/docs/zh/UserGuide/Operate-Metadata/Timeseries.md
+++ b/docs/zh/UserGuide/Operate-Metadata/Timeseries.md
@@ -372,7 +372,7 @@ create aligned timeseries root.sg1.d1(s1 INT32 tags(tag1=v1, tag2=v2) attributes
 支持查询:
 
 ```
-IoTDB> show storage group where tag1='v1'
+IoTDB> show databases where tag1='v1'
 Msg: 401: Error occurred while parsing SQL to physical plan: line 1:19 mismatched input 'where' expecting {<EOF>, ';'}
 IoTDB> show timeseries where tag1='v1'
 +--------------+-----+-------------+--------+--------+-----------+-------------------------+---------------------------+
diff --git a/docs/zh/UserGuide/Query-Data/Aggregate-Query.md b/docs/zh/UserGuide/Query-Data/Aggregate-Query.md
index db44805857..a2d481914d 100644
--- a/docs/zh/UserGuide/Query-Data/Aggregate-Query.md
+++ b/docs/zh/UserGuide/Query-Data/Aggregate-Query.md
@@ -461,7 +461,7 @@ IoTDB 还支持通过 `GROUP BY TAGS` 语句根据时间序列中定义的标签
 `d8` 和 `d9` 设备目前处于调试阶段,还未被分配到具体的城市和车间,所以其相应的标签值为空值。
 
 ```SQL
-set storage group to root.factory1;
+CREATE DATABASE root.factory1;
 create timeseries root.factory1.d1.temperature with datatype=FLOAT tags(city=Beijing, workshop=w1);
 create timeseries root.factory1.d2.temperature with datatype=FLOAT tags(city=Beijing, workshop=w1);
 create timeseries root.factory1.d3.temperature with datatype=FLOAT tags(city=Beijing, workshop=w2);
diff --git a/docs/zh/UserGuide/QuickStart/Command-Line-Interface.md b/docs/zh/UserGuide/QuickStart/Command-Line-Interface.md
index 98e0a7eed1..6234649bef 100644
--- a/docs/zh/UserGuide/QuickStart/Command-Line-Interface.md
+++ b/docs/zh/UserGuide/QuickStart/Command-Line-Interface.md
@@ -74,7 +74,7 @@ IoTDB> login successfully
 |-pw <`password`>|string 类型,不需要引号|否|IoTDB 连接服务器所使用的密码。如果没有输入密码 IoTDB 会在 Cli 端提示输入密码。|-pw root|
 |-u <`username`>|string 类型,不需要引号|是|IoTDB 连接服务器锁使用的用户名。|-u root|
 |-maxPRC <`maxPrintRowCount`>|int 类型|否|设置 IoTDB 返回客户端命令行中所显示的最大行数。|-maxPRC 10|
-|-e <`execute`> |string 类型|否|在不进入客户端输入模式的情况下,批量操作 IoTDB|-e "show storage group"|
+|-e <`execute`> |string 类型|否|在不进入客户端输入模式的情况下,批量操作 IoTDB|-e "show databases"|
 |-c | 空 | 否 | 如果服务器设置了 `rpc_thrift_compression_enable=true`, 则 CLI 必须使用 `-c` | -c |
 
 下面展示一条客户端命令,功能是连接 IP 为 10.129.187.21 的主机,端口为 6667 ,用户名为 root,密码为 root,以数字的形式打印时间戳,IoTDB 命令行显示的最大行数为 10。
@@ -246,7 +246,7 @@ rpcPort=6667
 user=root
 pass=root
 
-./sbin/start-cli.sh -h ${host} -p ${rpcPort} -u ${user} -pw ${pass} -e "set storage group to root.demo"
+./sbin/start-cli.sh -h ${host} -p ${rpcPort} -u ${user} -pw ${pass} -e "CREATE DATABASE root.demo"
 ./sbin/start-cli.sh -h ${host} -p ${rpcPort} -u ${user} -pw ${pass} -e "create timeseries root.demo.s1 WITH DATATYPE=INT32, ENCODING=RLE"
 ./sbin/start-cli.sh -h ${host} -p ${rpcPort} -u ${user} -pw ${pass} -e "insert into root.demo(timestamp,s1) values(1,10)"
 ./sbin/start-cli.sh -h ${host} -p ${rpcPort} -u ${user} -pw ${pass} -e "insert into root.demo(timestamp,s1) values(2,11)"
diff --git a/docs/zh/UserGuide/QuickStart/QuickStart.md b/docs/zh/UserGuide/QuickStart/QuickStart.md
index d277f28c02..fd3b65efe4 100644
--- a/docs/zh/UserGuide/QuickStart/QuickStart.md
+++ b/docs/zh/UserGuide/QuickStart/QuickStart.md
@@ -122,23 +122,23 @@ IoTDB>
 
 在这里,我们首先介绍一下使用 Cli 工具创建时间序列、插入数据并查看数据的方法。
 
-数据在 IoTDB 中的组织形式是以时间序列为单位,每一个时间序列中有若干个数据-时间点对,每一个时间序列属于一个存储组。在定义时间序列之前,要首先使用 SET STORAGE GROUP 语句定义存储组。SQL 语句如下:
+数据在 IoTDB 中的组织形式是以时间序列为单位,每一个时间序列中有若干个数据-时间点对,每一个时间序列属于一个存储组。在定义时间序列之前,要首先使用 CREATE DATABASE 语句创建数据库。SQL 语句如下:
 
 ``` 
-IoTDB> SET STORAGE GROUP TO root.ln
+IoTDB> CREATE DATABASE root.ln
 ```
 
-我们可以使用 SHOW STORAGE GROUP 语句来查看系统当前所有的存储组,SQL 语句如下:
+我们可以使用 SHOW DATABASES 语句来查看系统当前所有的存储组,SQL 语句如下:
 
 ```
-IoTDB> SHOW STORAGE GROUP
+IoTDB> SHOW DATABASES
 ```
 
 执行结果为:
 
 ```
 +-------------+
-|storage group|
+|     database|
 +-------------+
 |      root.ln|
 +-------------+
@@ -164,7 +164,7 @@ IoTDB> SHOW TIMESERIES
 
 ```
 +-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
-|                   timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
+|                   timeseries|alias|     database|dataType|encoding|compression|tags|attributes|
 +-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
 |root.ln.wf01.wt01.temperature| null|      root.ln|   FLOAT|     RLE|     SNAPPY|null|      null|
 |     root.ln.wf01.wt01.status| null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
@@ -182,7 +182,7 @@ IoTDB> SHOW TIMESERIES root.ln.wf01.wt01.status
 
 ```
 +------------------------+-----+-------------+--------+--------+-----------+----+----------+
-|              timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
+|              timeseries|alias|     database|dataType|encoding|compression|tags|attributes|
 +------------------------+-----+-------------+--------+--------+-----------+----+----------+
 |root.ln.wf01.wt01.status| null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
 +------------------------+-----+-------------+--------+--------+-----------+----+----------+
diff --git a/docs/zh/UserGuide/Reference/SQL-Reference.md b/docs/zh/UserGuide/Reference/SQL-Reference.md
index 5154fb6613..d4253f2aa8 100644
--- a/docs/zh/UserGuide/Reference/SQL-Reference.md
+++ b/docs/zh/UserGuide/Reference/SQL-Reference.md
@@ -42,8 +42,8 @@ It costs 0.417s
 * 设置存储组
 
 ``` SQL
-SET STORAGE GROUP TO <FullPath>
-Eg: IoTDB > SET STORAGE GROUP TO root.ln.wf01.wt01
+CREATE DATABASE <FullPath>
+Eg: IoTDB > CREATE DATABASE root.ln.wf01.wt01
 Note: FullPath can not include wildcard `*` or `**`
 ```
 * 删除存储组
@@ -258,18 +258,18 @@ Eg: show timeseries root.ln.** where unit='c' limit 10 offset 10
 * 显示存储组语句
 
 ```
-SHOW STORAGE GROUP
-Eg: IoTDB > SHOW STORAGE GROUP
+SHOW DATABASES
+Eg: IoTDB > SHOW DATABASES
 Note: This statement can be used in IoTDB Client and JDBC.
 ```
 
 * 显示特定存储组语句
 
 ```
-SHOW STORAGE GROUP <PathPattern>
-Eg: IoTDB > SHOW STORAGE GROUP root.*
-Eg: IoTDB > SHOW STORAGE GROUP root.**
-Eg: IoTDB > SHOW STORAGE GROUP root.ln
+SHOW DATABASES <PathPattern>
+Eg: IoTDB > SHOW DATABASES root.*
+Eg: IoTDB > SHOW DATABASES root.**
+Eg: IoTDB > SHOW DATABASES root.ln
 Note: This statement can be used in IoTDB Client and JDBC.
 ```
 
diff --git a/docs/zh/UserGuide/Write-Data/CSV-Tool.md b/docs/zh/UserGuide/Write-Data/CSV-Tool.md
index a023c3896a..ad04b5d17c 100644
--- a/docs/zh/UserGuide/Write-Data/CSV-Tool.md
+++ b/docs/zh/UserGuide/Write-Data/CSV-Tool.md
@@ -127,9 +127,9 @@ Time,Device,hardware(TEXT),status(BOOLEAN)
 ### 创建元数据 (可选)
 
 ```sql
-SET STORAGE GROUP TO root.fit.d1;
-SET STORAGE GROUP TO root.fit.d2;
-SET STORAGE GROUP TO root.fit.p;
+CREATE DATABASE root.fit.d1;
+CREATE DATABASE root.fit.d2;
+CREATE DATABASE root.fit.p;
 CREATE TIMESERIES root.fit.d1.s1 WITH DATATYPE=INT32,ENCODING=RLE;
 CREATE TIMESERIES root.fit.d1.s2 WITH DATATYPE=TEXT,ENCODING=PLAIN;
 CREATE TIMESERIES root.fit.d2.s1 WITH DATATYPE=INT32,ENCODING=RLE;
diff --git a/example/jdbc/src/main/java/org/apache/iotdb/JDBCExample.java b/example/jdbc/src/main/java/org/apache/iotdb/JDBCExample.java
index 5925562a96..84560120c3 100644
--- a/example/jdbc/src/main/java/org/apache/iotdb/JDBCExample.java
+++ b/example/jdbc/src/main/java/org/apache/iotdb/JDBCExample.java
@@ -40,7 +40,7 @@ public class JDBCExample {
       statement.setFetchSize(10000);
 
       try {
-        statement.execute("SET STORAGE GROUP TO root.sg1");
+        statement.execute("CREATE DATABASE root.sg1");
         statement.execute(
             "CREATE TIMESERIES root.sg1.d1.s1 WITH DATATYPE=INT64, ENCODING=RLE, COMPRESSOR=SNAPPY");
         statement.execute(
diff --git a/example/jdbc/src/main/java/org/apache/iotdb/SyntaxConventionRelatedExample.java b/example/jdbc/src/main/java/org/apache/iotdb/SyntaxConventionRelatedExample.java
index 5858b49554..ff61234204 100644
--- a/example/jdbc/src/main/java/org/apache/iotdb/SyntaxConventionRelatedExample.java
+++ b/example/jdbc/src/main/java/org/apache/iotdb/SyntaxConventionRelatedExample.java
@@ -73,7 +73,7 @@ public class SyntaxConventionRelatedExample {
 
       // create time series
       try {
-        statement.execute(String.format("SET STORAGE GROUP TO %s", DEVICE));
+        statement.execute(String.format("CREATE DATABASE %s", DEVICE));
         statement.execute(
             String.format(
                 "CREATE TIMESERIES %s WITH DATATYPE=INT64, ENCODING=RLE, COMPRESSOR=SNAPPY",
diff --git a/example/mqtt/README.md b/example/mqtt/README.md
index 9aa6288a7b..378365d9cb 100644
--- a/example/mqtt/README.md
+++ b/example/mqtt/README.md
@@ -29,5 +29,5 @@ The example is to show how to send data to IoTDB from a mqtt client.
 
 * Update configuration to enable MQTT service. (`enable_mqtt_service=true` in iotdb-datanode.properties)
 * Launch the IoTDB server.
-* Setup storage group `SET STORAGE GROUP TO root.sg` and create time timeseries `CREATE TIMESERIES root.sg.d1.s1 WITH DATATYPE=DOUBLE, ENCODING=PLAIN`.
+* Setup storage group `CREATE DATABASE root.sg` and create time timeseries `CREATE TIMESERIES root.sg.d1.s1 WITH DATATYPE=DOUBLE, ENCODING=PLAIN`.
 * Run `org.apache.iotdb.mqtt.MQTTClient` to run the mqtt client and send events to server.
diff --git a/example/rest-client-c-example/main.c b/example/rest-client-c-example/main.c
index 41e28c2340..2bd5efdd9d 100644
--- a/example/rest-client-c-example/main.c
+++ b/example/rest-client-c-example/main.c
@@ -65,7 +65,7 @@ void query(char * sql_str) {
 }
 
 void nonQuery(char* sql_str) {
-    //curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X POST --data '{"sql":"set storage group to root.ln"}' http://127.0.0.1:18080/rest/v1/nonQuery
+    //curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X POST --data '{"sql":"CREATE DATABASE root.ln"}' http://127.0.0.1:18080/rest/v1/nonQuery
     CURL *curl_handle = curl_easy_init();
     if (curl_handle == NULL) {
         fprintf(stderr, "curl_handle == NULL\n");
@@ -118,7 +118,7 @@ int main() {
     printf("\n");
     query("{\"sql\":\"show functions\"}");
     printf("\n");
-    nonQuery("{\"sql\":\"set storage group to root.lns\"}");
+    nonQuery("{\"sql\":\"CREATE DATABASE root.lns\"}");
     printf("\n");
     insertTablet("{\"timestamps\":[1635232143960,1635232153960],\"measurements\":[\"s3\",\"s4\"],\"dataTypes\":[\"INT32\",\"BOOLEAN\"],\"values\":[[11,null],[false,true]],\"isAligned\":false,\"deviceId\":\"root.lns.d1\"}");
     printf("\n");
diff --git a/example/session/src/main/java/org/apache/iotdb/SyntaxConventionRelatedExample.java b/example/session/src/main/java/org/apache/iotdb/SyntaxConventionRelatedExample.java
index f6529e2910..c272ee4410 100644
--- a/example/session/src/main/java/org/apache/iotdb/SyntaxConventionRelatedExample.java
+++ b/example/session/src/main/java/org/apache/iotdb/SyntaxConventionRelatedExample.java
@@ -32,9 +32,9 @@ import java.util.ArrayList;
 import java.util.List;
 
 /**
- * When using session API, measurement, device, storage group and path are represented by String.
- * The content of the String should be the same as what you would write in a SQL statement. This
- * class is an example to help you understand better.
+ * When using session API, measurement, device, database and path are represented by String. The
+ * content of the String should be the same as what you would write in a SQL statement. This class
+ * is an example to help you understand better.
  */
 public class SyntaxConventionRelatedExample {
   private static Session session;
diff --git a/example/udf/src/main/java/org/apache/iotdb/udf/UDTFExample.java b/example/udf/src/main/java/org/apache/iotdb/udf/UDTFExample.java
index ddafd2984e..23b60e7281 100644
--- a/example/udf/src/main/java/org/apache/iotdb/udf/UDTFExample.java
+++ b/example/udf/src/main/java/org/apache/iotdb/udf/UDTFExample.java
@@ -34,7 +34,7 @@ import java.util.Map;
 /** This is an internal example of the UDTF implementation. */
 public class UDTFExample implements UDTF {
   /*
-   * SET STORAGE GROUP TO root.sg1;
+   * CREATE DATABASE root.sg1;
    * CREATE TIMESERIES root.sg1.d1.s1 WITH DATATYPE=INT32, ENCODING=PLAIN;
    * CREATE TIMESERIES root.sg1.d1.s2 WITH DATATYPE=INT32, ENCODING=PLAIN;
    * INSERT INTO root.sg1.d1(timestamp, s1, s2) VALUES (0, -1, 1);
diff --git a/grafana-plugin/README.md b/grafana-plugin/README.md
index eac176de15..ca509bf194 100644
--- a/grafana-plugin/README.md
+++ b/grafana-plugin/README.md
@@ -288,7 +288,7 @@ For a more detailed introduction to usage, please check the official manual (htt
 
 In addition to the examples above, the following statements are supported:
 
-*  `show storage group`
+*  `show databases`
 *  `show timeseries`
 *  `show child nodes`
 *  `show all ttl`
diff --git a/integration-test/src/main/java/org/apache/iotdb/it/env/RemoteServerEnv.java b/integration-test/src/main/java/org/apache/iotdb/it/env/RemoteServerEnv.java
index cfa2233245..c8cc6bb661 100644
--- a/integration-test/src/main/java/org/apache/iotdb/it/env/RemoteServerEnv.java
+++ b/integration-test/src/main/java/org/apache/iotdb/it/env/RemoteServerEnv.java
@@ -50,8 +50,8 @@ public class RemoteServerEnv implements BaseEnv {
   public void initBeforeClass() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.init;");
-      statement.execute("DELETE STORAGE GROUP root;");
+      statement.execute("CREATE DATABASE root.init;");
+      statement.execute("DELETE DATABASE root;");
     } catch (Exception e) {
       e.printStackTrace();
       fail(e.getMessage());
@@ -70,8 +70,8 @@ public class RemoteServerEnv implements BaseEnv {
   public void initBeforeTest() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.init;");
-      statement.execute("DELETE STORAGE GROUP root;");
+      statement.execute("CREATE DATABASE root.init;");
+      statement.execute("DELETE DATABASE root;");
     } catch (Exception e) {
       e.printStackTrace();
       fail(e.getMessage());
diff --git a/integration-test/src/main/java/org/apache/iotdb/itbase/constant/TestConstant.java b/integration-test/src/main/java/org/apache/iotdb/itbase/constant/TestConstant.java
index 90329f36ae..d047d8f79f 100644
--- a/integration-test/src/main/java/org/apache/iotdb/itbase/constant/TestConstant.java
+++ b/integration-test/src/main/java/org/apache/iotdb/itbase/constant/TestConstant.java
@@ -56,7 +56,7 @@ public class TestConstant {
 
   public static String[] createSql =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle",
+        "CREATE DATABASE root.vehicle",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java
index 8ecfa0d555..40f4e9dc3d 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java
@@ -92,8 +92,8 @@ public class IOTDBLoadTsFileIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
 
-      statement.execute("set storage group to " + SchemaConfig.STORAGE_GROUP_0);
-      statement.execute("set storage group to " + SchemaConfig.STORAGE_GROUP_1);
+      statement.execute("CREATE DATABASE " + SchemaConfig.STORAGE_GROUP_0);
+      statement.execute("CREATE DATABASE " + SchemaConfig.STORAGE_GROUP_1);
 
       statement.execute(convert2SQL(SchemaConfig.DEVICE_0, SchemaConfig.MEASUREMENT_00));
       statement.execute(convert2SQL(SchemaConfig.DEVICE_0, SchemaConfig.MEASUREMENT_01));
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBAuthIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBAuthIT.java
index f3f5c27461..4fd6945f8b 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBAuthIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBAuthIT.java
@@ -70,8 +70,7 @@ public class IoTDBAuthIT {
       try (Connection userCon = EnvFactory.getEnv().getConnection("tempuser", "temppw");
           Statement userStmt = userCon.createStatement()) {
 
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.a"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.a"));
         Assert.assertThrows(
             SQLException.class,
             () ->
@@ -85,7 +84,7 @@ public class IoTDBAuthIT {
 
         adminStmt.execute("GRANT USER tempuser PRIVILEGES ALL on root.**");
 
-        userStmt.execute("SET STORAGE GROUP TO root.a");
+        userStmt.execute("CREATE DATABASE root.a");
         userStmt.execute("CREATE TIMESERIES root.a.b WITH DATATYPE=INT32,ENCODING=PLAIN");
         userStmt.execute("INSERT INTO root.a(timestamp, b) VALUES (100, 100)");
         userStmt.execute("SELECT * from root.a");
@@ -95,8 +94,7 @@ public class IoTDBAuthIT {
         adminStmt.execute("REVOKE USER tempuser PRIVILEGES ALL on root.**");
         adminStmt.execute("REVOKE USER tempuser PRIVILEGES CREATE_TIMESERIES ON root.b.b");
 
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.b"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.b"));
         Assert.assertThrows(
             SQLException.class,
             () ->
@@ -122,23 +120,23 @@ public class IoTDBAuthIT {
           Statement userStmt = userCon.createStatement()) {
 
         Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.sgtest"));
+            SQLException.class, () -> userStmt.execute("CREATE DATABASE root.sgtest"));
 
         adminStmt.execute("GRANT USER sgtest PRIVILEGES SET_STORAGE_GROUP ON root.*");
 
         try {
-          userStmt.execute("SET STORAGE GROUP TO root.sgtest");
+          userStmt.execute("CREATE DATABASE root.sgtest");
         } catch (SQLException e) {
           fail(e.getMessage());
         }
 
         Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("DELETE STORAGE GROUP root.sgtest"));
+            SQLException.class, () -> userStmt.execute("DELETE DATABASE root.sgtest"));
 
         adminStmt.execute("GRANT USER sgtest PRIVILEGES DELETE_STORAGE_GROUP ON root.*");
 
         try {
-          userStmt.execute("DELETE STORAGE GROUP root.sgtest");
+          userStmt.execute("DELETE DATABASE root.sgtest");
         } catch (SQLException e) {
           fail(e.getMessage());
         }
@@ -272,26 +270,22 @@ public class IoTDBAuthIT {
           Statement userStmt = userCon.createStatement()) {
 
         // grant and revoke the user the privilege to create time series
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.a"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.a"));
 
         adminStmt.execute("GRANT USER tempuser PRIVILEGES SET_STORAGE_GROUP ON root.a");
-        userStmt.execute("SET STORAGE GROUP TO root.a");
+        userStmt.execute("CREATE DATABASE root.a");
         adminStmt.execute("GRANT USER tempuser PRIVILEGES CREATE_TIMESERIES ON root.a.b");
         userStmt.execute("CREATE TIMESERIES root.a.b WITH DATATYPE=INT32,ENCODING=PLAIN");
         // no privilege to create this one
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.b"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.b"));
         // privilege already exists
         Assert.assertThrows(
             SQLException.class,
             () -> adminStmt.execute("GRANT USER tempuser PRIVILEGES SET_STORAGE_GROUP ON root.a"));
         // no privilege to create this one any more
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.a"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.a"));
         // no privilege to create timeseries
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.a"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.a"));
 
         adminStmt.execute("REVOKE USER tempuser PRIVILEGES SET_STORAGE_GROUP ON root.a");
         // no privilege to create this one any more
@@ -325,7 +319,7 @@ public class IoTDBAuthIT {
           Statement userStmt = userCon.createStatement()) {
 
         adminStmt.execute("GRANT USER tempuser PRIVILEGES SET_STORAGE_GROUP ON root.a");
-        userStmt.execute("SET STORAGE GROUP TO root.a");
+        userStmt.execute("CREATE DATABASE root.a");
         adminStmt.execute("GRANT USER tempuser PRIVILEGES CREATE_TIMESERIES ON root.a.b");
         userStmt.execute("CREATE TIMESERIES root.a.b WITH DATATYPE=INT32,ENCODING=PLAIN");
 
@@ -374,7 +368,7 @@ public class IoTDBAuthIT {
             "GRANT ROLE admin PRIVILEGES SET_STORAGE_GROUP,CREATE_TIMESERIES,DELETE_TIMESERIES,READ_TIMESERIES,INSERT_TIMESERIES on root.**");
         adminStmt.execute("GRANT admin TO tempuser");
 
-        userStmt.execute("SET STORAGE GROUP TO root.a");
+        userStmt.execute("CREATE DATABASE root.a");
         userStmt.execute("CREATE TIMESERIES root.a.b WITH DATATYPE=INT32,ENCODING=PLAIN");
         userStmt.execute("CREATE TIMESERIES root.a.c WITH DATATYPE=INT32,ENCODING=PLAIN");
         userStmt.execute("INSERT INTO root.a(timestamp,b,c) VALUES (1,100,1000)");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBDatetimeFormatIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBDatetimeFormatIT.java
index 402b8fe7ce..5c6115dd48 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBDatetimeFormatIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBDatetimeFormatIT.java
@@ -116,7 +116,7 @@ public class IoTDBDatetimeFormatIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg");
+      statement.execute("CREATE DATABASE root.sg");
 
       statement.execute("CREATE TIMESERIES root.sg.d1.s2 WITH DATATYPE=DOUBLE, ENCODING=PLAIN;");
 
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBDeletionIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBDeletionIT.java
index 2116e6200b..0d71aa97ee 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBDeletionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBDeletionIT.java
@@ -48,8 +48,8 @@ public class IoTDBDeletionIT {
 
   private static String[] creationSqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle.d0",
-        "SET STORAGE GROUP TO root.vehicle.d1",
+        "CREATE DATABASE root.vehicle.d0",
+        "CREATE DATABASE root.vehicle.d1",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
@@ -219,7 +219,7 @@ public class IoTDBDeletionIT {
   public void testDelAfterFlush() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.ln.wf01.wt01");
+      statement.execute("CREATE DATABASE root.ln.wf01.wt01");
       statement.execute(
           "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN," + " ENCODING=PLAIN");
       statement.execute(
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBExampleIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBExampleIT.java
index f8e6a1ef22..91d3de758a 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBExampleIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBExampleIT.java
@@ -55,8 +55,8 @@ public class IoTDBExampleIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
 
-      statement.execute("set storage group to root.sg");
-      try (ResultSet resultSet = statement.executeQuery("show storage group")) {
+      statement.execute("CREATE DATABASE root.sg");
+      try (ResultSet resultSet = statement.executeQuery("show databases")) {
         if (resultSet.next()) {
           String storageGroupPath = resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP);
           Assert.assertEquals("root.sg", storageGroupPath);
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterBetweenIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterBetweenIT.java
index 7f667ce287..efd036ac79 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterBetweenIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterBetweenIT.java
@@ -59,7 +59,7 @@ public class IoTDBFilterBetweenIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.vehicle");
+      statement.execute("CREATE DATABASE root.vehicle");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s1 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s2 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s3 with datatype=TEXT,encoding=PLAIN");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterIT.java
index 107a37e99b..50d352ae61 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterIT.java
@@ -78,7 +78,7 @@ public class IoTDBFilterIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.vehicle");
+      statement.execute("CREATE DATABASE root.vehicle");
       statement.execute(
           "create TIMESERIES root.vehicle.testNaN.d1 with datatype=DOUBLE,encoding=PLAIN");
       statement.execute(
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterNullIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterNullIT.java
index f4d650e885..de455c78f2 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterNullIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterNullIT.java
@@ -41,7 +41,7 @@ public class IoTDBFilterNullIT {
 
   private static final String[] createSqls =
       new String[] {
-        "SET STORAGE GROUP TO root.testNullFilter",
+        "CREATE DATABASE root.testNullFilter",
         "CREATE TIMESERIES root.testNullFilter.d1.s1 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "CREATE TIMESERIES root.testNullFilter.d1.s2 WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.testNullFilter.d1.s3 WITH DATATYPE=DOUBLE, ENCODING=PLAIN"
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFloatPrecisionIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFloatPrecisionIT.java
index ad4937a1ff..8c85dbbcba 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFloatPrecisionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFloatPrecisionIT.java
@@ -76,8 +76,8 @@ public class IoTDBFloatPrecisionIT {
   }
 
   private static void initCreateSQLStatement() {
-    sqls.add("SET STORAGE GROUP TO root.vehicle.f0");
-    sqls.add("SET STORAGE GROUP TO root.vehicle.d0");
+    sqls.add("CREATE DATABASE root.vehicle.f0");
+    sqls.add("CREATE DATABASE root.vehicle.d0");
     for (int i = 0; i < 10; i++) {
       sqls.add(String.format(CREATE_TEMPLATE_SQL, "f0", "s" + i + "rle", "FLOAT", "RLE", i));
       sqls.add(String.format(CREATE_TEMPLATE_SQL, "f0", "s" + i + "2f", "FLOAT", "TS_2DIFF", i));
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFlushQueryMergeIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFlushQueryMergeIT.java
index a45abb9292..a7d8012f19 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFlushQueryMergeIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFlushQueryMergeIT.java
@@ -46,7 +46,7 @@ public class IoTDBFlushQueryMergeIT {
 
   private static String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle.d0",
+        "CREATE DATABASE root.vehicle.d0",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "insert into root.vehicle.d0(timestamp,s0) values(1,101)",
         "insert into root.vehicle.d0(timestamp,s0) values(2,198)",
@@ -108,9 +108,9 @@ public class IoTDBFlushQueryMergeIT {
         "INSERT INTO root.group%d(timestamp, s1, s2, s3) VALUES (%d, %d, %f, %s)";
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.group1");
-      statement.execute("SET STORAGE GROUP TO root.group2");
-      statement.execute("SET STORAGE GROUP TO root.group3");
+      statement.execute("CREATE DATABASE root.group1");
+      statement.execute("CREATE DATABASE root.group2");
+      statement.execute("CREATE DATABASE root.group3");
 
       for (int i = 1; i <= 3; i++) {
         for (int j = 10; j < 20; j++) {
@@ -153,9 +153,9 @@ public class IoTDBFlushQueryMergeIT {
   public void testFlushGivenGroupNoData() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.nodatagroup1");
-      statement.execute("SET STORAGE GROUP TO root.nodatagroup2");
-      statement.execute("SET STORAGE GROUP TO root.nodatagroup3");
+      statement.execute("CREATE DATABASE root.nodatagroup1");
+      statement.execute("CREATE DATABASE root.nodatagroup2");
+      statement.execute("CREATE DATABASE root.nodatagroup3");
       statement.execute("FLUSH root.nodatagroup1");
       statement.execute("FLUSH root.nodatagroup2");
       statement.execute("FLUSH root.nodatagroup3");
@@ -170,7 +170,7 @@ public class IoTDBFlushQueryMergeIT {
   public void testFlushNotExistGroupNoData() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.noexist.nodatagroup1");
+      statement.execute("CREATE DATABASE root.noexist.nodatagroup1");
       try {
         statement.execute(
             "FLUSH root.noexist.nodatagroup1,root.notExistGroup1,root.notExistGroup2");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertMultiRowIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertMultiRowIT.java
index 7295e9203e..e477c309e3 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertMultiRowIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertMultiRowIT.java
@@ -77,7 +77,7 @@ public class IoTDBInsertMultiRowIT {
   }
 
   private static void initCreateSQLStatement() {
-    sqls.add("SET STORAGE GROUP TO root.t1");
+    sqls.add("CREATE DATABASE root.t1");
     sqls.add("CREATE TIMESERIES root.t1.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN");
     sqls.add("CREATE TIMESERIES root.t1.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=RLE");
   }
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertNaNIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertNaNIT.java
index 356221422b..2f716e40c9 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertNaNIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertNaNIT.java
@@ -77,10 +77,10 @@ public class IoTDBInsertNaNIT {
   }
 
   private static void initCreateSQLStatement() {
-    sqls.add("SET STORAGE GROUP TO root.happy");
-    sqls.add("SET STORAGE GROUP TO root.cycle");
-    sqls.add("SET STORAGE GROUP TO root.vehicle.f0");
-    sqls.add("SET STORAGE GROUP TO root.vehicle.d0");
+    sqls.add("CREATE DATABASE root.happy");
+    sqls.add("CREATE DATABASE root.cycle");
+    sqls.add("CREATE DATABASE root.vehicle.f0");
+    sqls.add("CREATE DATABASE root.vehicle.d0");
     for (int i = 0; i < 10; i++) {
       sqls.add(String.format(CREATE_TEMPLATE_SQL, "f0", "s" + i + "rle", "FLOAT", "RLE", i));
       sqls.add(String.format(CREATE_TEMPLATE_SQL, "f0", "s" + i + "2f", "FLOAT", "TS_2DIFF", i));
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertNullIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertNullIT.java
index deac1fa3df..c5df37ecd9 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertNullIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertNullIT.java
@@ -76,7 +76,7 @@ public class IoTDBInsertNullIT {
   }
 
   private static void initCreateSQLStatement() {
-    sqls.add("SET STORAGE GROUP TO root.sg");
+    sqls.add("CREATE DATABASE root.sg");
     sqls.add("CREATE TIMESERIES root.sg.d1.s1 WITH DATATYPE=BOOLEAN");
     sqls.add("CREATE TIMESERIES root.sg.d1.s2 WITH DATATYPE=FLOAT");
     sqls.add("CREATE TIMESERIES root.sg.d1.s3 WITH DATATYPE=INT32");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertWithoutTimeIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertWithoutTimeIT.java
index 5a57ba9546..c59c8eb4d7 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertWithoutTimeIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertWithoutTimeIT.java
@@ -46,7 +46,7 @@ public class IoTDBInsertWithoutTimeIT {
 
   private static final List<String> sqls =
       Arrays.asList(
-          "SET STORAGE GROUP TO root.sg1",
+          "CREATE DATABASE root.sg1",
           "CREATE TIMESERIES root.sg1.d1.s1 INT64",
           "CREATE TIMESERIES root.sg1.d1.s2 FLOAT",
           "CREATE TIMESERIES root.sg1.d1.s3 TEXT");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBMultiDeviceIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBMultiDeviceIT.java
index 4cc03f1426..b9461229f8 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBMultiDeviceIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBMultiDeviceIT.java
@@ -97,7 +97,7 @@ public class IoTDBMultiDeviceIT {
         statement.execute(sql);
       }
 
-      statement.execute("SET STORAGE GROUP TO root.fans");
+      statement.execute("CREATE DATABASE root.fans");
       statement.execute("CREATE TIMESERIES root.fans.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE");
       statement.execute("CREATE TIMESERIES root.fans.d1.s0 WITH DATATYPE=INT32, ENCODING=RLE");
       statement.execute("CREATE TIMESERIES root.fans.d2.s0 WITH DATATYPE=INT32, ENCODING=RLE");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBNestedQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBNestedQueryIT.java
index 479dec2c45..33a6aaa13a 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBNestedQueryIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBNestedQueryIT.java
@@ -86,7 +86,7 @@ public class IoTDBNestedQueryIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.vehicle");
+      statement.execute("CREATE DATABASE root.vehicle");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s1 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s2 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s3 with datatype=TEXT,encoding=PLAIN");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBPartialInsertionIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBPartialInsertionIT.java
index a9d910c9a4..747ae4958a 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBPartialInsertionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBPartialInsertionIT.java
@@ -65,7 +65,7 @@ public class IoTDBPartialInsertionIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
 
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
 
       try {
         statement.execute("INSERT INTO root.sg1(timestamp, s0) VALUES (1, 1)");
@@ -81,7 +81,7 @@ public class IoTDBPartialInsertionIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
 
-      statement.execute("SET STORAGE GROUP TO root.sg");
+      statement.execute("CREATE DATABASE root.sg");
       statement.execute("CREATE TIMESERIES root.sg.d1.s1 datatype=text");
       statement.execute("CREATE TIMESERIES root.sg.d1.s2 datatype=double");
 
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBQueryWithRecreatedTimeseriesIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBQueryWithRecreatedTimeseriesIT.java
index 2f501b91a0..cd2ba57e12 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBQueryWithRecreatedTimeseriesIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBQueryWithRecreatedTimeseriesIT.java
@@ -53,7 +53,7 @@ public class IoTDBQueryWithRecreatedTimeseriesIT {
   public void testQueryDiffTypeTimeseries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg");
+      statement.execute("CREATE DATABASE root.sg");
       Thread.sleep(100);
       statement.execute("CREATE TIMESERIES root.sg.d1.s1 with datatype=FLOAT,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg.d1.s2 with datatype=INT64,encoding=PLAIN");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBQuotedPathIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBQuotedPathIT.java
index 701cdb7858..eb194be930 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBQuotedPathIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBQuotedPathIT.java
@@ -59,7 +59,7 @@ public class IoTDBQuotedPathIT {
           new String[] {
             "1509465600000,true", "1509465600001,true", "1509465600002,false", "1509465600003,false"
           };
-      statement.execute("SET STORAGE GROUP TO root.ln");
+      statement.execute("CREATE DATABASE root.ln");
       statement.execute(
           "CREATE TIMESERIES root.ln.`wf+01`.wt01.`status+2+3` WITH DATATYPE=BOOLEAN, ENCODING=PLAIN");
       statement.execute(
@@ -103,7 +103,7 @@ public class IoTDBQuotedPathIT {
   public void testIllegalStorageGroup() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.`\"ln`");
+      statement.execute("CREATE DATABASE root.`\"ln`");
     } catch (SQLException e) {
       Assert.assertTrue(
           e.getMessage().contains("Error StorageGroup name")
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBRecoverIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBRecoverIT.java
index b1af773bf2..dc2b8ae7ba 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBRecoverIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBRecoverIT.java
@@ -54,8 +54,8 @@ public class IoTDBRecoverIT {
   private static final String TEMPERATURE_STR = "root.ln.wf01.wt01.temperature";
   private static String[] creationSqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle.d0",
-        "SET STORAGE GROUP TO root.vehicle.d1",
+        "CREATE DATABASE root.vehicle.d0",
+        "CREATE DATABASE root.vehicle.d1",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
@@ -64,7 +64,7 @@ public class IoTDBRecoverIT {
       };
   private static String[] dataSet2 =
       new String[] {
-        "SET STORAGE GROUP TO root.ln.wf01.wt01",
+        "CREATE DATABASE root.ln.wf01.wt01",
         "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.hardware WITH DATATYPE=INT32, ENCODING=PLAIN",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBRecoverUnclosedIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBRecoverUnclosedIT.java
index b9a7a3d6df..f25ea6d2f1 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBRecoverUnclosedIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBRecoverUnclosedIT.java
@@ -59,8 +59,8 @@ public class IoTDBRecoverUnclosedIT {
   private static final String TEMPERATURE_STR = "root.ln.wf01.wt01.temperature";
   private static String[] creationSqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle.d0",
-        "SET STORAGE GROUP TO root.vehicle.d1",
+        "CREATE DATABASE root.vehicle.d0",
+        "CREATE DATABASE root.vehicle.d1",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
@@ -69,7 +69,7 @@ public class IoTDBRecoverUnclosedIT {
       };
   private static String[] dataSet2 =
       new String[] {
-        "SET STORAGE GROUP TO root.ln.wf01.wt01",
+        "CREATE DATABASE root.ln.wf01.wt01",
         "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.hardware WITH DATATYPE=INT32, ENCODING=PLAIN",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSameMeasurementsDifferentTypesIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSameMeasurementsDifferentTypesIT.java
index 82337bd862..b6373741ee 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSameMeasurementsDifferentTypesIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSameMeasurementsDifferentTypesIT.java
@@ -88,7 +88,7 @@ public class IoTDBSameMeasurementsDifferentTypesIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
 
-      statement.execute("SET STORAGE GROUP TO root.fans");
+      statement.execute("CREATE DATABASE root.fans");
       statement.execute("CREATE TIMESERIES root.fans.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE");
       statement.execute("CREATE TIMESERIES root.fans.d1.s0 WITH DATATYPE=INT64, ENCODING=RLE");
 
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSettleIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSettleIT.java
index a408e01ac9..bf652f30df 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSettleIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSettleIT.java
@@ -79,7 +79,7 @@ public class IoTDBSettleIT {
   }
 
   private static void initCreateSQLStatement() {
-    sqls.add("SET STORAGE GROUP TO root.st1");
+    sqls.add("CREATE DATABASE root.st1");
     sqls.add("CREATE TIMESERIES root.st1.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN");
     for (int i = 1; i <= 10; i++) {
       sqls.add("insert into root.st1.wf01.wt01(timestamp,status) values(" + 100 * i + ",false)");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java
index be16f925a5..c4ce5affb9 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java
@@ -64,7 +64,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s1 WITH DATATYPE=INT32,ENCODING=PLAIN");
 
       try (ResultSet resultSet = statement.executeQuery("show timeseries root.sg1.d0.s1")) {
@@ -83,7 +83,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       try {
         statement.execute(
             "CREATE TIMESERIES root.sg1.d0.s1 WITH DATATYPE=INT32,ENCODING=PLAIN,'LOSS'='SDT','COMPDEV'='-2'");
@@ -149,7 +149,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       // test set sdt property
       statement.execute(
           "CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=DOUBLE,ENCODING=PLAIN,LOSS=SDT,COMPDEV=0.01");
@@ -190,7 +190,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       // test set sdt property
       statement.execute(
           "CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=INT32,ENCODING=PLAIN,LOSS=SDT,COMPDEV=2");
@@ -233,7 +233,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       // test set sdt property
       statement.execute(
           "CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=INT32,ENCODING=PLAIN,LOSS=SDT,COMPDEV=2, COMPMINTIME=1");
@@ -277,7 +277,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       // test set sdt property
       statement.execute(
           "CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=INT32,ENCODING=PLAIN,LOSS=SDT,COMPDEV=2, COMPMAXTIME=20");
@@ -310,7 +310,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       // test set sdt property
       statement.execute(
           "CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=DOUBLE,ENCODING=PLAIN,LOSS=SDT,COMPDEV=0.01");
@@ -355,7 +355,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       // test set sdt property
       statement.execute(
           "CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=DOUBLE,ENCODING=PLAIN,LOSS=SDT,COMPDEV=0.01");
@@ -405,7 +405,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       // test set sdt property
       statement.execute(
           "CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=DOUBLE,ENCODING=PLAIN,LOSS=SDT,COMPDEV=0.01");
@@ -519,7 +519,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=INT32,ENCODING=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s1 WITH DATATYPE=INT32,ENCODING=PLAIN");
       statement.execute("INSERT INTO root.sg1.d0(timestamp, s0) VALUES (1, 1)");
@@ -557,7 +557,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s1 WITH DATATYPE=INT32,ENCODING=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s2 WITH DATATYPE=INT32,ENCODING=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s3 WITH DATATYPE=INT32,ENCODING=PLAIN");
@@ -590,7 +590,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(10);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s1 WITH DATATYPE=INT32,ENCODING=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s2 WITH DATATYPE=INT32,ENCODING=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s3 WITH DATATYPE=INT32,ENCODING=PLAIN");
@@ -623,7 +623,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(15);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s1 WITH DATATYPE=INT32,ENCODING=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s2 WITH DATATYPE=INT32,ENCODING=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s3 WITH DATATYPE=INT32,ENCODING=PLAIN");
@@ -656,7 +656,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s1 WITH DATATYPE=INT32,ENCODING=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s2 WITH DATATYPE=INT32,ENCODING=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s3 WITH DATATYPE=INT32,ENCODING=PLAIN");
@@ -760,7 +760,7 @@ public class IoTDBSimpleQueryIT {
   public void testFirstOverlappedPageFiltered() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=INT32,ENCODING=PLAIN");
 
       // seq chunk : [1,10]
@@ -797,7 +797,7 @@ public class IoTDBSimpleQueryIT {
   public void testPartialInsertion() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=INT32,ENCODING=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s1 WITH DATATYPE=INT32,ENCODING=PLAIN");
 
@@ -821,7 +821,7 @@ public class IoTDBSimpleQueryIT {
   public void testOverlappedPagesMerge() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=INT32,ENCODING=PLAIN");
 
       // seq chunk : start-end [1000, 1000]
@@ -863,7 +863,7 @@ public class IoTDBSimpleQueryIT {
   public void testUnseqUnsealedDeleteQuery() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=INT32,ENCODING=PLAIN");
 
       // seq data
@@ -901,7 +901,7 @@ public class IoTDBSimpleQueryIT {
   public void testTimeseriesMetadataCache() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       for (int i = 0; i < 10000; i++) {
         statement.execute(
             "CREATE TIMESERIES root.sg1.d0.s" + i + " WITH DATATYPE=INT32,ENCODING=PLAIN");
@@ -920,7 +920,7 @@ public class IoTDBSimpleQueryIT {
   public void testInvalidSchema() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       try {
         statement.execute(
             "CREATE TIMESERIES root.sg1.d1.s1 with datatype=BOOLEAN, encoding=TS_2DIFF");
@@ -953,7 +953,7 @@ public class IoTDBSimpleQueryIT {
   public void testUseSameStatement() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute(
           "CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=INT64, ENCODING=RLE, COMPRESSOR=SNAPPY");
       statement.execute(
@@ -999,7 +999,7 @@ public class IoTDBSimpleQueryIT {
   public void testInvalidMaxPointNumber() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute(
           "CREATE TIMESERIES root.sg1.d1.s1 with datatype=FLOAT, encoding=TS_2DIFF, "
               + "'max_point_number'='4'");
@@ -1045,14 +1045,14 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.group_with_hyphen");
+      statement.execute("CREATE DATABASE root.group_with_hyphen");
     } catch (SQLException e) {
       fail();
     }
 
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      try (ResultSet resultSet = statement.executeQuery("SHOW STORAGE GROUP")) {
+      try (ResultSet resultSet = statement.executeQuery("SHOW DATABASES")) {
         ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
         while (resultSet.next()) {
           StringBuilder builder = new StringBuilder();
@@ -1102,7 +1102,7 @@ public class IoTDBSimpleQueryIT {
   public void testFromFuzzyMatching() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute(
           "CREATE TIMESERIES root.sg1.d1.s1 with datatype=FLOAT, encoding=TS_2DIFF, "
               + "'max_point_number'='4'");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBTimeZoneIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBTimeZoneIT.java
index 365bc7d0db..8cbe3924e4 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBTimeZoneIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBTimeZoneIT.java
@@ -44,7 +44,7 @@ public class IoTDBTimeZoneIT {
 
   private static String[] insertSqls =
       new String[] {
-        "SET STORAGE GROUP TO root.timezone",
+        "CREATE DATABASE root.timezone",
         "CREATE TIMESERIES root.timezone.tz1 WITH DATATYPE = INT32, ENCODING = PLAIN",
       };
   private final String TIMESTAMP_STR = "Time";
@@ -80,8 +80,8 @@ public class IoTDBTimeZoneIT {
   }
 
   /**
-   * // execute in cli-tool SET STORAGE GROUP TO root.timezone CREATE TIMESERIES root.timezone.tz1
-   * WITH DATATYPE = INT32, ENCODING = PLAIN set time_zone=+08:00 insert into
+   * // execute in cli-tool CREATE DATABASE root.timezone CREATE TIMESERIES root.timezone.tz1 WITH
+   * DATATYPE = INT32, ENCODING = PLAIN set time_zone=+08:00 insert into
    * root.timezone(timestamp,tz1) values(1514779200000,1) insert into root.timezone(timestamp,tz1)
    * values(2018-1-1T12:00:01,2) insert into root.timezone(timestamp,tz1)
    * values(2018-1-1T12:00:02+08:00,3) insert into root.timezone(timestamp,tz1)
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBTtlIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBTtlIT.java
index 7a82539d13..3cd84d6c4c 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBTtlIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBTtlIT.java
@@ -66,7 +66,7 @@ public class IoTDBTtlIT {
         assertEquals(322, e.getErrorCode());
       }
 
-      statement.execute("SET STORAGE GROUP TO root.TTL_SG1");
+      statement.execute("CREATE DATABASE root.TTL_SG1");
       statement.execute("CREATE TIMESERIES root.TTL_SG1.s1 WITH DATATYPE=INT64,ENCODING=PLAIN");
       try {
         statement.execute("SET TTL TO root.TTL_SG1.s1 1000");
@@ -75,7 +75,7 @@ public class IoTDBTtlIT {
         fail(e.getMessage());
       }
 
-      statement.execute("SET STORAGE GROUP TO root.TTL_SG2");
+      statement.execute("CREATE DATABASE root.TTL_SG2");
       statement.execute("CREATE TIMESERIES root.TTL_SG2.s1 WITH DATATYPE=INT64,ENCODING=PLAIN");
       try {
         statement.execute("SET TTL TO root.TTL_SG2.s1 1000");
@@ -162,8 +162,8 @@ public class IoTDBTtlIT {
         }
         assertTrue(cnt >= 200);
       }
-      statement.execute("SET STORAGE GROUP TO root.sg.TTL_SG3");
-      statement.execute("SET STORAGE GROUP TO root.sg.TTL_SG4");
+      statement.execute("CREATE DATABASE root.sg.TTL_SG3");
+      statement.execute("CREATE DATABASE root.sg.TTL_SG4");
       // SG3
       for (int i = 0; i < 100; i++) {
         statement.execute(
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationByLevelIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationByLevelIT.java
index a516d80d4a..a34b3095c8 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationByLevelIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationByLevelIT.java
@@ -53,8 +53,8 @@ public class IoTDBAggregationByLevelIT {
 
   private static final String[] dataSet =
       new String[] {
-        "SET STORAGE GROUP TO root.sg1",
-        "SET STORAGE GROUP TO root.sg2",
+        "CREATE DATABASE root.sg1",
+        "CREATE DATABASE root.sg2",
         "CREATE TIMESERIES root.sg1.d1.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.sg1.d1.temperature WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
         "CREATE TIMESERIES root.sg1.d2.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationIT.java
index 63e5608cd0..cf53c68ed0 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationIT.java
@@ -59,8 +59,8 @@ public class IoTDBAggregationIT {
 
   private static final String[] creationSqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle.d0",
-        "SET STORAGE GROUP TO root.vehicle.d1",
+        "CREATE DATABASE root.vehicle.d0",
+        "CREATE DATABASE root.vehicle.d1",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
@@ -69,7 +69,7 @@ public class IoTDBAggregationIT {
       };
   private static final String[] dataSet2 =
       new String[] {
-        "SET STORAGE GROUP TO root.ln.wf01.wt01",
+        "CREATE DATABASE root.ln.wf01.wt01",
         "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.hardware WITH DATATYPE=INT32, ENCODING=PLAIN",
@@ -86,7 +86,7 @@ public class IoTDBAggregationIT {
       };
   private static final String[] dataSet3 =
       new String[] {
-        "SET STORAGE GROUP TO root.sg",
+        "CREATE DATABASE root.sg",
         "CREATE TIMESERIES root.sg.d1.s1 WITH DATATYPE=INT32, ENCODING=RLE",
         "insert into root.sg.d1(timestamp,s1) values(5,5)",
         "insert into root.sg.d1(timestamp,s1) values(12,12)",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationLargeDataIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationLargeDataIT.java
index 4145e483c2..f5c431f3fc 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationLargeDataIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationLargeDataIT.java
@@ -61,7 +61,7 @@ public class IoTDBAggregationLargeDataIT {
 
   private static String[] createSql =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle",
+        "CREATE DATABASE root.vehicle",
         "CREATE TIMESERIES root.vehicle.d1.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s3 WITH DATATYPE=TEXT, ENCODING=PLAIN",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationSmallDataIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationSmallDataIT.java
index 8b2006c736..55cb5939d1 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationSmallDataIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationSmallDataIT.java
@@ -64,7 +64,7 @@ public class IoTDBAggregationSmallDataIT {
 
   private static String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle",
+        "CREATE DATABASE root.vehicle",
         "CREATE TIMESERIES root.vehicle.d1.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d1.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBTagAggregationIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBTagAggregationIT.java
index 695bae88d3..b9304607b1 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBTagAggregationIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBTagAggregationIT.java
@@ -47,9 +47,9 @@ import static org.junit.Assert.fail;
 public class IoTDBTagAggregationIT {
   private static final String[] DATASET =
       new String[] {
-        "set storage group to root.sg.a;",
-        "set storage group to root.sg.b;",
-        "set storage group to root.sg2.c;",
+        "CREATE DATABASE root.sg.a;",
+        "CREATE DATABASE root.sg.b;",
+        "CREATE DATABASE root.sg2.c;",
         "create timeseries root.sg.a.d1.t with datatype=FLOAT tags(k1=k1v1, k2=k2v1, k3=k3v1);",
         "create timeseries root.sg.b.d2.t with datatype=FLOAT tags(k1=k1v1, k2=k2v2);",
         "create timeseries root.sg.a.d3.t with datatype=FLOAT tags(k1=k1v2, k2=k2v1);",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/alignbydevice/IoTDBAlignByDeviceIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/alignbydevice/IoTDBAlignByDeviceIT.java
index 6e9abfa9fc..decd847622 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/alignbydevice/IoTDBAlignByDeviceIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/alignbydevice/IoTDBAlignByDeviceIT.java
@@ -49,8 +49,8 @@ public class IoTDBAlignByDeviceIT {
 
   private static String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle",
-        "SET STORAGE GROUP TO root.other",
+        "CREATE DATABASE root.vehicle",
+        "CREATE DATABASE root.other",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedDataDeletionIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedDataDeletionIT.java
index 44e4c70ffb..054e575715 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedDataDeletionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedDataDeletionIT.java
@@ -48,7 +48,7 @@ public class IoTDBAlignedDataDeletionIT {
 
   private static String[] creationSqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle",
+        "CREATE DATABASE root.vehicle",
         "CREATE ALIGNED TIMESERIES root.vehicle.d0(s0 INT32 ENCODING=RLE, s1 INT64 ENCODING=RLE, s2 FLOAT ENCODING=RLE, s3 TEXT ENCODING=PLAIN, s4 BOOLEAN ENCODING=PLAIN)",
       };
 
@@ -215,7 +215,7 @@ public class IoTDBAlignedDataDeletionIT {
   public void testDelAfterFlush() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.ln.wf01.wt01");
+      statement.execute("CREATE DATABASE root.ln.wf01.wt01");
       statement.execute(
           "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN," + " ENCODING=PLAIN");
       statement.execute(
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByLevelQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByLevelQueryIT.java
index 7e587bcace..06c25d88fa 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByLevelQueryIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByLevelQueryIT.java
@@ -61,7 +61,7 @@ public class IoTDBGroupByLevelQueryIT {
     AlignedWriteUtil.insertData();
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg2");
+      statement.execute("CREATE DATABASE root.sg2");
       statement.execute(
           "create aligned timeseries root.sg2.d1(s1 FLOAT encoding=RLE, s2 INT32 encoding=Gorilla compression=SNAPPY, s3 INT64)");
       for (int i = 1; i <= 10; i++) {
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IOTDBGroupByIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IOTDBGroupByIT.java
index 6c2e9aaee2..51b7c414a6 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IOTDBGroupByIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IOTDBGroupByIT.java
@@ -59,7 +59,7 @@ public class IOTDBGroupByIT {
 
   private static final String[] SQLs =
       new String[] {
-        "SET STORAGE GROUP TO root.ln.wf01.wt01",
+        "CREATE DATABASE root.ln.wf01.wt01",
         "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.hardware WITH DATATYPE=INT32, ENCODING=PLAIN",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IoTDBGroupByUnseqIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IoTDBGroupByUnseqIT.java
index 8f9110df29..866d47a9f3 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IoTDBGroupByUnseqIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IoTDBGroupByUnseqIT.java
@@ -41,7 +41,7 @@ public class IoTDBGroupByUnseqIT {
 
   private static final String[] dataSet1 =
       new String[] {
-        "SET STORAGE GROUP TO root.sg1",
+        "CREATE DATABASE root.sg1",
         "CREATE TIMESERIES root.sg1.d1.s1 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "INSERT INTO root.sg1.d1(time,s1) values(1, 1)",
         "INSERT INTO root.sg1.d1(time,s1) values(2, 2)",
@@ -59,7 +59,7 @@ public class IoTDBGroupByUnseqIT {
 
   private static final String[] dataSet2 =
       new String[] {
-        "SET STORAGE GROUP TO root.sg2",
+        "CREATE DATABASE root.sg2",
         "CREATE TIMESERIES root.sg2.d1.s1 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "INSERT INTO root.sg2.d1(time,s1) values(1, 1)",
         "INSERT INTO root.sg2.d1(time,s1) values(10, 10)",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IoTDBHavingIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IoTDBHavingIT.java
index e5fb978c71..39bd9d24e9 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IoTDBHavingIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IoTDBHavingIT.java
@@ -45,7 +45,7 @@ import static org.apache.iotdb.itbase.constant.TestConstant.sum;
 public class IoTDBHavingIT {
   private static final String[] SQLs =
       new String[] {
-        "SET STORAGE GROUP TO root.test",
+        "CREATE DATABASE root.test",
         "CREATE TIMESERIES root.test.sg1.s1 WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.test.sg1.s2 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "CREATE TIMESERIES root.test.sg1.s3 WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBAliasIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBAliasIT.java
index 21bc7371bd..0be9d5affb 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBAliasIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBAliasIT.java
@@ -50,7 +50,7 @@ public class IoTDBAliasIT {
 
   private static final String[] SQLs =
       new String[] {
-        "SET STORAGE GROUP TO root.sg",
+        "CREATE DATABASE root.sg",
         "CREATE TIMESERIES root.sg.d1.s1(speed) WITH DATATYPE=FLOAT, ENCODING=RLE",
         "CREATE TIMESERIES root.sg.d1.s2(temperature) WITH DATATYPE=FLOAT, ENCODING=RLE",
         "CREATE TIMESERIES root.sg.d2.s1(speed) WITH DATATYPE=FLOAT, ENCODING=RLE",
@@ -64,13 +64,13 @@ public class IoTDBAliasIT {
         "INSERT INTO root.sg.d2(timestamp,speed,temperature,power) values(200, 20.2, 21.8, 81.0)",
         "INSERT INTO root.sg.d2(timestamp,speed,temperature,power) values(300, 45.3, 23.4, 82.0)",
         "INSERT INTO root.sg.d2(timestamp,speed,temperature,power) values(400, 73.4, 26.3, 83.0)",
-        "SET STORAGE GROUP TO root.sg1",
+        "CREATE DATABASE root.sg1",
         "CREATE TIMESERIES root.sg1.d1.s1 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "CREATE TIMESERIES root.sg1.d1.s2 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "INSERT INTO root.sg1.d1(timestamp, s1, s2) VALUES (0, -1, 1)",
         "INSERT INTO root.sg1.d1(timestamp, s1, s2) VALUES (1, -2, 2)",
         "INSERT INTO root.sg1.d1(timestamp, s1, s2) VALUES (2, -3, 3)",
-        "SET STORAGE GROUP TO root.sg2",
+        "CREATE DATABASE root.sg2",
         "CREATE TIMESERIES root.sg2.d1.s1 WITH DATATYPE=FLOAT, ENCODING=RLE",
         "CREATE TIMESERIES root.sg2.d1.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
         "CREATE TIMESERIES root.sg2.d2.s1 WITH DATATYPE=FLOAT, ENCODING=RLE",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBArithmeticIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBArithmeticIT.java
index f3dd814931..247c80cf16 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBArithmeticIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBArithmeticIT.java
@@ -50,7 +50,7 @@ public class IoTDBArithmeticIT {
   private static final double E = 0.0001;
 
   private static final String[] INSERTION_SQLS = {
-    "SET STORAGE GROUP TO root.test",
+    "CREATE DATABASE root.test",
     "CREATE TIMESERIES root.sg.d1.s1 WITH DATATYPE=INT32, ENCODING=PLAIN",
     "CREATE TIMESERIES root.sg.d1.s2 WITH DATATYPE=INT64, ENCODING=PLAIN",
     "CREATE TIMESERIES root.sg.d1.s3 WITH DATATYPE=FLOAT, ENCODING=PLAIN",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBFuzzyQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBFuzzyQueryIT.java
index 34007401dd..9c4c34e7c7 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBFuzzyQueryIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBFuzzyQueryIT.java
@@ -62,7 +62,7 @@ public class IoTDBFuzzyQueryIT {
   }
 
   private static void initCreateSQLStatement() {
-    sqls.add("SET STORAGE GROUP TO root.t1");
+    sqls.add("CREATE DATABASE root.t1");
     sqls.add("CREATE TIMESERIES root.t1.wf01.wt01.status WITH DATATYPE=TEXT, ENCODING=PLAIN");
     sqls.add("CREATE TIMESERIES root.t1.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=RLE");
     sqls.add("CREATE TIMESERIES root.t1.wf01.wt02.status WITH DATATYPE=TEXT, ENCODING=PLAIN");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBInIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBInIT.java
index 8ef0bfe4b0..f2c35bbbac 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBInIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBInIT.java
@@ -50,8 +50,8 @@ public class IoTDBInIT {
 
   private static String[] sqls =
       new String[] {
-        "set storage group to root.ln",
-        "set storage group to root.sg",
+        "CREATE DATABASE root.ln",
+        "CREATE DATABASE root.sg",
         "create timeseries root.sg.d1.s1.qrcode with datatype=TEXT,encoding=PLAIN",
         "insert into root.sg.d1.s1(timestamp,qrcode) values(1509465600000,'qrcode001')",
         "insert into root.sg.d1.s1(timestamp,qrcode) values(1509465660000,'qrcode002')",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullValueFillIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullValueFillIT.java
index 31854eaaa6..6477c9bf1c 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullValueFillIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullValueFillIT.java
@@ -66,7 +66,7 @@ public class IoTDBNullValueFillIT {
    */
   private static final String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.sg1",
+        "CREATE DATABASE root.sg1",
         "create aligned timeseries root.sg1.d1(s1 INT32, s2 INT64, s3 FLOAT, s4 DOUBLE, s5 BOOLEAN, s6 TEXT)",
         "insert into root.sg1.d1(time, s2, s4, s6) aligned values(1, 1, 1.0, 't1')",
         "insert into root.sg1.d1(time, s1, s2, s3, s4, s5, s6) aligned values(2, 2, 2, 2.0, 2.0, true, 't2')",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBPaginationIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBPaginationIT.java
index 685630c5d1..0afc36119b 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBPaginationIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBPaginationIT.java
@@ -44,7 +44,7 @@ public class IoTDBPaginationIT {
 
   private static final String[] SQLs =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle",
+        "CREATE DATABASE root.vehicle",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBQueryDemoIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBQueryDemoIT.java
index 940e4771d7..c67d48e0e3 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBQueryDemoIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBQueryDemoIT.java
@@ -49,7 +49,7 @@ public class IoTDBQueryDemoIT {
 
   private static String[] sqls =
       new String[] {
-        "set storage group to root.ln",
+        "CREATE DATABASE root.ln",
         "create timeseries root.ln.wf01.wt01.status with datatype=BOOLEAN,encoding=PLAIN",
         "insert into root.ln.wf01.wt01(timestamp,status) values(1509465600000,true)",
         "insert into root.ln.wf01.wt01(timestamp,status) values(1509465660000,true)",
@@ -94,7 +94,7 @@ public class IoTDBQueryDemoIT {
         "insert into root.ln.wf02.wt02(timestamp,status) values(1509466020000,false)",
         "insert into root.ln.wf02.wt02(timestamp,status) values(1509466080000,false)",
         "insert into root.ln.wf02.wt02(timestamp,status) values(1509466140000,false)",
-        "set storage group to root.sgcc",
+        "CREATE DATABASE root.sgcc",
         "create timeseries root.sgcc.wf03.wt01.status with datatype=BOOLEAN,encoding=PLAIN",
         "insert into root.sgcc.wf03.wt01(timestamp,status) values(1509465600000,true)",
         "insert into root.sgcc.wf03.wt01(timestamp,status) values(1509465660000,true)",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBResultSetIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBResultSetIT.java
index fb8c04c584..a2fb3b5124 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBResultSetIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBResultSetIT.java
@@ -50,7 +50,7 @@ public class IoTDBResultSetIT {
 
   private static final String[] SQLs =
       new String[] {
-        "SET STORAGE GROUP TO root.t1",
+        "CREATE DATABASE root.t1",
         "CREATE TIMESERIES root.t1.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.t1.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=RLE",
         "CREATE TIMESERIES root.t1.wf01.wt01.type WITH DATATYPE=INT32, ENCODING=RLE",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBSelectCompareExpressionIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBSelectCompareExpressionIT.java
index b9c8436c48..a8c551077a 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBSelectCompareExpressionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBSelectCompareExpressionIT.java
@@ -109,7 +109,7 @@ public class IoTDBSelectCompareExpressionIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg");
+      statement.execute("CREATE DATABASE root.sg");
       statement.execute("CREATE TIMESERIES root.sg.d1.s1 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg.d1.s2 with datatype=INT64,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg.d1.s3 with datatype=FLOAT,encoding=PLAIN");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBSelectSchemaIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBSelectSchemaIT.java
index 829954ec97..a053c85e44 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBSelectSchemaIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBSelectSchemaIT.java
@@ -47,7 +47,7 @@ public class IoTDBSelectSchemaIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg");
+      statement.execute("CREATE DATABASE root.sg");
       statement.execute("CREATE TIMESERIES root.sg.d1.s1 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg.d1.s2 with datatype=INT64,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg.d1.s3 with datatype=DOUBLE,encoding=PLAIN");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBAutoCreateSchemaIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBAutoCreateSchemaIT.java
index cab57cadd9..f33c8719c8 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBAutoCreateSchemaIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBAutoCreateSchemaIT.java
@@ -81,7 +81,7 @@ public class IoTDBAutoCreateSchemaIT {
   @Test
   public void insertTest1() throws ClassNotFoundException {
     String[] sqls = {
-      "SET STORAGE GROUP TO root.sg0",
+      "CREATE DATABASE root.sg0",
       "INSERT INTO root.sg0.d1(timestamp,s2) values(1,123.123)",
       "INSERT INTO root.sg0.d1(timestamp,s3) values(1,\"abc\")",
     };
@@ -162,7 +162,7 @@ public class IoTDBAutoCreateSchemaIT {
     String storageGroup = "root.sg2.a.b.c";
     String timeSeriesPrefix = "root.sg2.a.b";
 
-    statement.execute(String.format("SET storage group TO %s", storageGroup));
+    statement.execute(String.format("CREATE DATABASE %s", storageGroup));
     try {
       statement.execute(
           String.format("INSERT INTO %s(timestamp, c) values(123, \"aabb\")", timeSeriesPrefix));
@@ -194,7 +194,7 @@ public class IoTDBAutoCreateSchemaIT {
     Assert.assertFalse(resultList.contains(timeSeriesPrefix + "c"));
 
     resultList.clear();
-    try (ResultSet resultSet = statement.executeQuery("show storage group")) {
+    try (ResultSet resultSet = statement.executeQuery("show databases")) {
       while (resultSet.next()) {
         resultList.add(resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP));
       }
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateAlignedTimeseriesIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateAlignedTimeseriesIT.java
index 3116295ad2..a1d1c87e70 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateAlignedTimeseriesIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateAlignedTimeseriesIT.java
@@ -69,7 +69,7 @@ public class IoTDBCreateAlignedTimeseriesIT {
           "root.sg1.d1.vector1.s2,INT64,RLE,SNAPPY"
         };
 
-    statement.execute("SET STORAGE GROUP TO root.sg1");
+    statement.execute("CREATE DATABASE root.sg1");
     try {
       statement.execute(
           "CREATE ALIGNED TIMESERIES root.sg1.d1.vector1(s1 FLOAT encoding=PLAIN compressor=UNCOMPRESSED,s2 INT64 encoding=RLE)");
@@ -97,7 +97,7 @@ public class IoTDBCreateAlignedTimeseriesIT {
           "root.sg1.d1.vector1.s1,DOUBLE,PLAIN,SNAPPY", "root.sg1.d1.vector1.s2,INT64,RLE,SNAPPY"
         };
 
-    statement.execute("SET STORAGE GROUP TO root.sg1");
+    statement.execute("CREATE DATABASE root.sg1");
     try {
       statement.execute(
           "CREATE ALIGNED TIMESERIES root.sg1.d1.vector1(s1 FLOAT encoding=PLAIN compressor=UNCOMPRESSED,s2 INT64 encoding=RLE)");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateStorageGroupIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateStorageGroupIT.java
index 43e3d2db97..c12a12c364 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateStorageGroupIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateStorageGroupIT.java
@@ -67,13 +67,13 @@ public class IoTDBCreateStorageGroupIT {
     EnvFactory.getEnv().cleanAfterTest();
   }
 
-  /** The test creates three storage groups */
+  /** The test creates three databases */
   @Test
   public void testCreateStorageGroup() throws Exception {
     String[] storageGroups = {"root.sg1", "root.sg2", "root.sg3"};
 
     for (String storageGroup : storageGroups) {
-      statement.execute(String.format("create storage group %s", storageGroup));
+      statement.execute(String.format("create database %s", storageGroup));
     }
 
     // ensure that current StorageGroup in cache is right.
@@ -92,7 +92,7 @@ public class IoTDBCreateStorageGroupIT {
   private void createStorageGroupTool(String[] storageGroups) throws SQLException {
 
     List<String> resultList = new ArrayList<>();
-    try (ResultSet resultSet = statement.executeQuery("show storage group")) {
+    try (ResultSet resultSet = statement.executeQuery("SHOW DATABASES")) {
       while (resultSet.next()) {
         String storageGroupPath = resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP);
         resultList.add(storageGroupPath);
@@ -107,32 +107,32 @@ public class IoTDBCreateStorageGroupIT {
     Assert.assertEquals(storageGroups[2], resultList.get(2));
   }
 
-  /** Test creating a storage group that path is an existence storage group */
+  /** Test creating a database that path is an existence database */
   @Test
   public void testCreateExistStorageGroup1() throws Exception {
     String storageGroup = "root.sg";
 
-    statement.execute(String.format("set storage group to %s", storageGroup));
+    statement.execute(String.format("CREATE DATABASE %s", storageGroup));
 
     try {
-      statement.execute(String.format("create storage group %s", storageGroup));
+      statement.execute(String.format("create database %s", storageGroup));
       fail();
     } catch (SQLException e) {
-      Assert.assertEquals("903: root.sg has already been set to storage group", e.getMessage());
+      Assert.assertEquals("903: root.sg has already been created as database", e.getMessage());
     }
   }
 
-  /** Test the parent node has been set as a storage group */
+  /** Test the parent node has been set as a database */
   @Test
   public void testCreateExistStorageGroup2() throws Exception {
 
-    statement.execute("create storage group root.sg");
+    statement.execute("create database root.sg");
 
     try {
-      statement.execute("create storage group root.sg.`device`");
+      statement.execute("create database root.sg.`device`");
       fail();
     } catch (SQLException e) {
-      Assert.assertEquals("903: root.sg has already been set to storage group", e.getMessage());
+      Assert.assertEquals("903: root.sg has already been created as database", e.getMessage());
     }
   }
 }
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateTimeseriesIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateTimeseriesIT.java
index 51565b8f41..7991d20498 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateTimeseriesIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateTimeseriesIT.java
@@ -66,7 +66,7 @@ public class IoTDBCreateTimeseriesIT {
 
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute(String.format("SET storage group TO %s", storageGroup));
+      statement.execute(String.format("CREATE DATABASE %s", storageGroup));
       statement.execute(
           String.format(
               "create timeseries %s with datatype=INT64, encoding=PLAIN, compression=SNAPPY",
@@ -93,7 +93,7 @@ public class IoTDBCreateTimeseriesIT {
     resultList.clear();
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement();
-        ResultSet resultSet = statement.executeQuery("show storage group")) {
+        ResultSet resultSet = statement.executeQuery("SHOW DATABASES")) {
       while (resultSet.next()) {
         String res = resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP);
         resultList.add(res);
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeleteStorageGroupIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeleteStorageGroupIT.java
index e451f608fe..e3f766e113 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeleteStorageGroupIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeleteStorageGroupIT.java
@@ -58,18 +58,18 @@ public class IoTDBDeleteStorageGroupIT {
   public void testDeleteStorageGroup() throws Exception {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.ln.wf01.wt01");
-      statement.execute("SET STORAGE GROUP TO root.ln.wf01.wt02");
-      statement.execute("SET STORAGE GROUP TO root.ln.wf01.wt03");
-      statement.execute("SET STORAGE GROUP TO root.ln.wf01.wt04");
-      statement.execute("DELETE STORAGE GROUP root.ln.wf01.wt01");
+      statement.execute("CREATE DATABASE root.ln.wf01.wt01");
+      statement.execute("CREATE DATABASE root.ln.wf01.wt02");
+      statement.execute("CREATE DATABASE root.ln.wf01.wt03");
+      statement.execute("CREATE DATABASE root.ln.wf01.wt04");
+      statement.execute("DELETE DATABASE root.ln.wf01.wt01");
       ;
       String[] expected =
           new String[] {"root.ln.wf01.wt02", "root.ln.wf01.wt03", "root.ln.wf01.wt04"};
       List<String> expectedList = new ArrayList<>();
       Collections.addAll(expectedList, expected);
       List<String> result = new ArrayList<>();
-      try (ResultSet resultSet = statement.executeQuery("SHOW STORAGE GROUP")) {
+      try (ResultSet resultSet = statement.executeQuery("SHOW DATABASES")) {
         while (resultSet.next()) {
           result.add(resultSet.getString(1));
         }
@@ -83,16 +83,16 @@ public class IoTDBDeleteStorageGroupIT {
   public void testDeleteMultipleStorageGroupWithQuote() throws Exception {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.ln1.wf01.wt01");
-      statement.execute("SET STORAGE GROUP TO root.ln1.wf01.wt02");
-      statement.execute("SET STORAGE GROUP TO root.ln1.wf02.wt03");
-      statement.execute("SET STORAGE GROUP TO root.ln1.wf02.wt04");
-      statement.execute("DELETE STORAGE GROUP root.ln1.wf01.wt01, root.ln1.wf02.wt03");
+      statement.execute("CREATE DATABASE root.ln1.wf01.wt01");
+      statement.execute("CREATE DATABASE root.ln1.wf01.wt02");
+      statement.execute("CREATE DATABASE root.ln1.wf02.wt03");
+      statement.execute("CREATE DATABASE root.ln1.wf02.wt04");
+      statement.execute("DELETE DATABASE root.ln1.wf01.wt01, root.ln1.wf02.wt03");
       String[] expected = new String[] {"root.ln1.wf01.wt02", "root.ln1.wf02.wt04"};
       List<String> expectedList = new ArrayList<>();
       Collections.addAll(expectedList, expected);
       List<String> result = new ArrayList<>();
-      try (ResultSet resultSet = statement.executeQuery("SHOW STORAGE GROUP")) {
+      try (ResultSet resultSet = statement.executeQuery("SHOW DATABASES")) {
         while (resultSet.next()) {
           result.add(resultSet.getString(1));
         }
@@ -106,7 +106,7 @@ public class IoTDBDeleteStorageGroupIT {
   public void deleteNonExistStorageGroup() throws Exception {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.ln2.wf01.wt01");
+      statement.execute("CREATE DATABASE root.ln2.wf01.wt01");
       statement.execute("DELETE STORAGE GROUP root.ln2.wf01.wt02");
     }
   }
@@ -115,16 +115,16 @@ public class IoTDBDeleteStorageGroupIT {
   public void testDeleteStorageGroupWithStar() throws Exception {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.ln3.wf01.wt01");
-      statement.execute("SET STORAGE GROUP TO root.ln3.wf01.wt02");
-      statement.execute("SET STORAGE GROUP TO root.ln3.wf02.wt03");
-      statement.execute("SET STORAGE GROUP TO root.ln3.wf02.wt04");
+      statement.execute("CREATE DATABASE root.ln3.wf01.wt01");
+      statement.execute("CREATE DATABASE root.ln3.wf01.wt02");
+      statement.execute("CREATE DATABASE root.ln3.wf02.wt03");
+      statement.execute("CREATE DATABASE root.ln3.wf02.wt04");
       statement.execute("DELETE STORAGE GROUP root.ln3.wf02.*");
       String[] expected = new String[] {"root.ln3.wf01.wt01", "root.ln3.wf01.wt02"};
       List<String> expectedList = new ArrayList<>();
       Collections.addAll(expectedList, expected);
       List<String> result = new ArrayList<>();
-      try (ResultSet resultSet = statement.executeQuery("SHOW STORAGE GROUP")) {
+      try (ResultSet resultSet = statement.executeQuery("SHOW DATABASES")) {
         while (resultSet.next()) {
           result.add(resultSet.getString(1));
         }
@@ -138,13 +138,13 @@ public class IoTDBDeleteStorageGroupIT {
   public void testDeleteAllStorageGroups() throws Exception {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.ln4.wf01.wt01");
-      statement.execute("SET STORAGE GROUP TO root.ln4.wf01.wt02");
-      statement.execute("SET STORAGE GROUP TO root.ln4.wf02.wt03");
-      statement.execute("SET STORAGE GROUP TO root.ln4.wf02.wt04");
+      statement.execute("CREATE DATABASE root.ln4.wf01.wt01");
+      statement.execute("CREATE DATABASE root.ln4.wf01.wt02");
+      statement.execute("CREATE DATABASE root.ln4.wf02.wt03");
+      statement.execute("CREATE DATABASE root.ln4.wf02.wt04");
       statement.execute("DELETE STORAGE GROUP root.**");
       List<String> result = new ArrayList<>();
-      try (ResultSet resultSet = statement.executeQuery("SHOW STORAGE GROUP")) {
+      try (ResultSet resultSet = statement.executeQuery("SHOW DATABASES")) {
         while (resultSet.next()) {
           result.add(resultSet.getString(1));
         }
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBMetadataFetchIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBMetadataFetchIT.java
index 5b77f67fab..c9d4ba971c 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBMetadataFetchIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBMetadataFetchIT.java
@@ -58,10 +58,10 @@ public class IoTDBMetadataFetchIT {
 
       String[] insertSqls =
           new String[] {
-            "SET STORAGE GROUP TO root.ln.wf01.wt01",
-            "SET STORAGE GROUP TO root.ln.wf01.wt02",
-            "SET STORAGE GROUP TO root.ln1.wf01.wt01",
-            "SET STORAGE GROUP TO root.ln2.wf01.wt01",
+            "CREATE DATABASE root.ln.wf01.wt01",
+            "CREATE DATABASE root.ln.wf01.wt02",
+            "CREATE DATABASE root.ln1.wf01.wt01",
+            "CREATE DATABASE root.ln2.wf01.wt01",
             "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE = BOOLEAN, ENCODING = PLAIN",
             "CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE = FLOAT, ENCODING = RLE, "
                 + "compressor = SNAPPY, 'MAX_POINT_NUMBER' = '3' ",
@@ -164,9 +164,9 @@ public class IoTDBMetadataFetchIT {
         Statement statement = connection.createStatement()) {
       String[] sqls =
           new String[] {
-            "show storage group",
-            "show storage group root.ln.wf01.**",
-            "show storage group root.ln.wf01.wt01.status"
+            "show databases",
+            "show databases root.ln.wf01.**",
+            "show databases root.ln.wf01.wt01.status"
           };
       Set<String>[] standards =
           new Set[] {
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBSortedShowTimeseriesIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBSortedShowTimeseriesIT.java
index 062938e366..9f279f8dad 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBSortedShowTimeseriesIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBSortedShowTimeseriesIT.java
@@ -48,8 +48,8 @@ public class IoTDBSortedShowTimeseriesIT {
 
   private static String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.turbine",
-        "SET STORAGE GROUP TO root.ln",
+        "CREATE DATABASE root.turbine",
+        "CREATE DATABASE root.ln",
         "create timeseries root.turbine.d0.s0(temperature) with datatype=FLOAT, encoding=RLE, compression=SNAPPY "
             + "tags('unit'='f', 'description'='turbine this is a test1') "
             + "attributes('H_Alarm'='100', 'M_Alarm'='50')",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/selectinto/IoTDBSelectIntoIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/selectinto/IoTDBSelectIntoIT.java
index 422b8aa22c..caeb9d2e8a 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/selectinto/IoTDBSelectIntoIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/selectinto/IoTDBSelectIntoIT.java
@@ -51,7 +51,7 @@ public class IoTDBSelectIntoIT {
 
   protected static final String[] SQLs =
       new String[] {
-        "SET STORAGE GROUP TO root.sg",
+        "CREATE DATABASE root.sg",
         "CREATE TIMESERIES root.sg.d1.s1 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.sg.d1.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
         "CREATE TIMESERIES root.sg.d2.s1 WITH DATATYPE=INT32, ENCODING=RLE",
@@ -80,7 +80,7 @@ public class IoTDBSelectIntoIT {
         "INSERT INTO root.sg.d2(time, s2) VALUES (11, 11)",
         "INSERT INTO root.sg.d2(time, s1) VALUES (12, 12)",
         "flush",
-        "SET STORAGE GROUP TO root.sg1",
+        "CREATE DATABASE root.sg1",
         "CREATE TIMESERIES root.sg1.d1.s1 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.sg1.d1.s2 WITH DATATYPE=FLOAT, ENCODING=RLE"
       };
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/trigger/IoTDBTriggerExecutionIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/trigger/IoTDBTriggerExecutionIT.java
index c7a104f4dd..1ce075f402 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/trigger/IoTDBTriggerExecutionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/trigger/IoTDBTriggerExecutionIT.java
@@ -86,7 +86,7 @@ public class IoTDBTriggerExecutionIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.test");
+      statement.execute("CREATE DATABASE root.test");
       statement.execute(
           "CREATE TIMESERIES root.test.stateless.a with datatype=INT32,encoding=PLAIN");
       statement.execute(
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/trigger/IoTDBTriggerManagementIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/trigger/IoTDBTriggerManagementIT.java
index 500f319d7e..b36b54998c 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/trigger/IoTDBTriggerManagementIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/trigger/IoTDBTriggerManagementIT.java
@@ -95,7 +95,7 @@ public class IoTDBTriggerManagementIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.test");
+      statement.execute("CREATE DATABASE root.test");
       statement.execute(
           "CREATE TIMESERIES root.test.stateless.a with datatype=INT32,encoding=PLAIN");
       statement.execute(
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFM4IT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFM4IT.java
index d1dd4d0d37..6c62e55f63 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFM4IT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFM4IT.java
@@ -226,7 +226,7 @@ public class IoTDBUDFM4IT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.vehicle");
+      statement.execute("CREATE DATABASE root.vehicle");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s1 with datatype=double,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s2 with datatype=INT32,encoding=PLAIN");
     } catch (SQLException throwable) {
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFOtherWindowQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFOtherWindowQueryIT.java
index 07744152a6..6f368de5c8 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFOtherWindowQueryIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFOtherWindowQueryIT.java
@@ -85,7 +85,7 @@ public class IoTDBUDFOtherWindowQueryIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.vehicle");
+      statement.execute("CREATE DATABASE root.vehicle");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s3 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s4 with datatype=INT32,encoding=PLAIN");
       statement.execute(
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFWindowQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFWindowQueryIT.java
index c654f71c72..b6029e9970 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFWindowQueryIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFWindowQueryIT.java
@@ -84,7 +84,7 @@ public class IoTDBUDFWindowQueryIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.vehicle");
+      statement.execute("CREATE DATABASE root.vehicle");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s1 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s2 with datatype=INT32,encoding=PLAIN");
     } catch (SQLException throwable) {
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFAlignByTimeQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFAlignByTimeQueryIT.java
index 0ae65de1e6..47ea813454 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFAlignByTimeQueryIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFAlignByTimeQueryIT.java
@@ -93,7 +93,7 @@ public class IoTDBUDTFAlignByTimeQueryIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.vehicle");
+      statement.execute("CREATE DATABASE root.vehicle");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s1 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s2 with datatype=INT64,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d2.s1 with datatype=FLOAT,encoding=PLAIN");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFBuiltinFunctionIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFBuiltinFunctionIT.java
index 8ef47e56f1..af4d4a758e 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFBuiltinFunctionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFBuiltinFunctionIT.java
@@ -71,7 +71,7 @@ public class IoTDBUDTFBuiltinFunctionIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg");
+      statement.execute("CREATE DATABASE root.sg");
       statement.execute("CREATE TIMESERIES root.sg.d1.s1 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg.d1.s2 with datatype=INT64,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg.d1.s3 with datatype=FLOAT,encoding=PLAIN");
@@ -1045,7 +1045,7 @@ public class IoTDBUDTFBuiltinFunctionIT {
   public void testStringFunctions() {
     String[] createSQLs =
         new String[] {
-          "SET STORAGE GROUP TO root.testStringFunctions",
+          "CREATE DATABASE root.testStringFunctions",
           "CREATE TIMESERIES root.testStringFunctions.d1.s1 WITH DATATYPE=TEXT, ENCODING=PLAIN",
           "CREATE TIMESERIES root.testStringFunctions.d1.s2 WITH DATATYPE=TEXT, ENCODING=PLAIN",
         };
@@ -1197,7 +1197,7 @@ public class IoTDBUDTFBuiltinFunctionIT {
     // create time series with master data
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.testMasterRepair");
+      statement.execute("CREATE DATABASE root.testMasterRepair");
       statement.execute(
           "CREATE TIMESERIES root.testMasterRepair.d1.s1 with datatype=FLOAT,encoding=PLAIN");
       statement.execute(
@@ -1366,7 +1366,7 @@ public class IoTDBUDTFBuiltinFunctionIT {
   public void testChangePoints() {
     String[] createSQLs =
         new String[] {
-          "SET STORAGE GROUP TO root.testChangePoints",
+          "CREATE DATABASE root.testChangePoints",
           "CREATE TIMESERIES root.testChangePoints.d1.s1 WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
           "CREATE TIMESERIES root.testChangePoints.d1.s2 WITH DATATYPE=INT32, ENCODING=PLAIN",
           "CREATE TIMESERIES root.testChangePoints.d1.s3 WITH DATATYPE=INT64, ENCODING=PLAIN",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFHybridQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFHybridQueryIT.java
index 0907fc51a9..6f446fa1a3 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFHybridQueryIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFHybridQueryIT.java
@@ -56,7 +56,7 @@ public class IoTDBUDTFHybridQueryIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.vehicle");
+      statement.execute("CREATE DATABASE root.vehicle");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s1 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s2 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d2.s1 with datatype=INT32,encoding=PLAIN");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFNonAlignQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFNonAlignQueryIT.java
index 149551fc91..91006dbf76 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFNonAlignQueryIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFNonAlignQueryIT.java
@@ -82,7 +82,7 @@ public class IoTDBUDTFNonAlignQueryIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.vehicle");
+      statement.execute("CREATE DATABASE root.vehicle");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s1 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s2 with datatype=INT64,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d2.s1 with datatype=FLOAT,encoding=PLAIN");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/utils/AlignedWriteUtil.java b/integration-test/src/test/java/org/apache/iotdb/db/it/utils/AlignedWriteUtil.java
index 5b7cd25a5e..3bf3659a66 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/utils/AlignedWriteUtil.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/utils/AlignedWriteUtil.java
@@ -36,7 +36,7 @@ public class AlignedWriteUtil {
 
   private static final String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.sg1",
+        "CREATE DATABASE root.sg1",
         "create aligned timeseries root.sg1.d1(s1 FLOAT encoding=RLE, s2 INT32 encoding=Gorilla compression=SNAPPY, s3 INT64, s4 BOOLEAN, s5 TEXT)",
         "create timeseries root.sg1.d2.s1 WITH DATATYPE=FLOAT, encoding=RLE",
         "create timeseries root.sg1.d2.s2 WITH DATATYPE=INT32, encoding=Gorilla",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/watermark/IoTDBWatermarkIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/watermark/IoTDBWatermarkIT.java
index 1b54f3cf67..a1ffb38245 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/watermark/IoTDBWatermarkIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/watermark/IoTDBWatermarkIT.java
@@ -125,7 +125,7 @@ public class IoTDBWatermarkIT {
 
       String[] create_sql =
           new String[] {
-            "SET STORAGE GROUP TO root.vehicle",
+            "CREATE DATABASE root.vehicle",
             "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
             "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
             "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE"
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAllNullIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAllNullIT.java
index 2dbc153eb9..2e5d7cd47c 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAllNullIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAllNullIT.java
@@ -45,7 +45,7 @@ public class IoTDBWithoutAllNullIT {
 
   private static final String[] dataSet =
       new String[] {
-        "SET STORAGE GROUP TO root.testWithoutAllNull",
+        "CREATE DATABASE root.testWithoutAllNull",
         "CREATE TIMESERIES root.testWithoutAllNull.d1.s1 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "CREATE TIMESERIES root.testWithoutAllNull.d1.s2 WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.testWithoutAllNull.d1.s3 WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAnyNullIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAnyNullIT.java
index ffa9a9ff31..64931ebdec 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAnyNullIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAnyNullIT.java
@@ -43,7 +43,7 @@ public class IoTDBWithoutAnyNullIT {
 
   private static final String[] dataSet =
       new String[] {
-        "SET STORAGE GROUP TO root.test",
+        "CREATE DATABASE root.test",
         "CREATE TIMESERIES root.test.d1.s1 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "CREATE TIMESERIES root.test.d1.s2 WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.test.d1.s3 WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAllFilterIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAllFilterIT.java
index 632acc2cbd..158d33b0db 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAllFilterIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAllFilterIT.java
@@ -45,7 +45,7 @@ public class IoTDBWithoutNullAllFilterIT {
 
   private static String[] dataSet1 =
       new String[] {
-        "SET STORAGE GROUP TO root.test",
+        "CREATE DATABASE root.test",
         "CREATE TIMESERIES root.test.sg1.s1 WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.test.sg1.s2 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "CREATE TIMESERIES root.test.sg1.s3 WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAnyFilterIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAnyFilterIT.java
index e83214ac15..17be22726a 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAnyFilterIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAnyFilterIT.java
@@ -44,7 +44,7 @@ public class IoTDBWithoutNullAnyFilterIT {
 
   private static String[] dataSet1 =
       new String[] {
-        "SET STORAGE GROUP TO root.test",
+        "CREATE DATABASE root.test",
         "CREATE TIMESERIES root.test.sg1.s1 WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.test.sg1.s2 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "CREATE TIMESERIES root.test.sg1.s3 WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
diff --git a/integration/src/main/java/org/apache/iotdb/integration/env/ClusterEnvBase.java b/integration/src/main/java/org/apache/iotdb/integration/env/ClusterEnvBase.java
index b7ae7ff61c..57ad550cae 100644
--- a/integration/src/main/java/org/apache/iotdb/integration/env/ClusterEnvBase.java
+++ b/integration/src/main/java/org/apache/iotdb/integration/env/ClusterEnvBase.java
@@ -124,7 +124,7 @@ public abstract class ClusterEnvBase implements BaseEnv {
 
       try (IoTDBConnection connection = getConnection(60);
           Statement statement = connection.createStatement()) {
-        statement.execute("SET STORAGE GROUP TO root.test" + counter);
+        statement.execute("CREATE DATABASE root.test" + counter);
         statement.execute(
             "CREATE TIMESERIES root.test" + counter + ".d0.s0 WITH DATATYPE=INT32, ENCODING=RLE");
         if (statement.execute("SHOW TIMESERIES")) {
diff --git a/integration/src/main/java/org/apache/iotdb/integration/env/RemoteServerEnv.java b/integration/src/main/java/org/apache/iotdb/integration/env/RemoteServerEnv.java
index e3cc6608f7..f2d660b759 100644
--- a/integration/src/main/java/org/apache/iotdb/integration/env/RemoteServerEnv.java
+++ b/integration/src/main/java/org/apache/iotdb/integration/env/RemoteServerEnv.java
@@ -40,7 +40,7 @@ public class RemoteServerEnv implements BaseEnv {
   public void initBeforeClass() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.init;");
+      statement.execute("CREATE DATABASE root.init;");
       statement.execute("DELETE STORAGE GROUP root;");
     } catch (Exception e) {
       e.printStackTrace();
@@ -55,7 +55,7 @@ public class RemoteServerEnv implements BaseEnv {
   public void initBeforeTest() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.init;");
+      statement.execute("CREATE DATABASE root.init;");
       statement.execute("DELETE STORAGE GROUP root;");
     } catch (Exception e) {
       e.printStackTrace();
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IOTDBInsertIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IOTDBInsertIT.java
index bc86a95a40..e1bf7d4cd3 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IOTDBInsertIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IOTDBInsertIT.java
@@ -74,7 +74,7 @@ public class IOTDBInsertIT {
   }
 
   private static void initCreateSQLStatement() {
-    sqls.add("SET STORAGE GROUP TO root.t1");
+    sqls.add("CREATE DATABASE root.t1");
     sqls.add("CREATE TIMESERIES root.t1.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN");
     sqls.add("CREATE TIMESERIES root.t1.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=RLE");
     sqls.add("CREATE TIMESERIES root.t1.wf01.wt01.f1 WITH DATATYPE=FLOAT, ENCODING=PLAIN");
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBAlignedTimeSeriesCompactionIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBAlignedTimeSeriesCompactionIT.java
index e57575a56d..bde10d7eda 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBAlignedTimeSeriesCompactionIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBAlignedTimeSeriesCompactionIT.java
@@ -43,7 +43,7 @@ public class IoTDBAlignedTimeSeriesCompactionIT {
     EnvFactory.getEnv().initBeforeClass();
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("set storage group to " + storageGroup);
+      statement.execute("CREATE DATABASE " + storageGroup);
     }
   }
 
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBAuthorizationIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBAuthorizationIT.java
index 022668e095..33cf4e138c 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBAuthorizationIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBAuthorizationIT.java
@@ -78,8 +78,7 @@ public class IoTDBAuthorizationIT {
                   Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "tempuser", "temppw");
           Statement userStmt = userCon.createStatement()) {
 
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.a"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.a"));
         Assert.assertThrows(
             SQLException.class,
             () ->
@@ -93,7 +92,7 @@ public class IoTDBAuthorizationIT {
 
         adminStmt.execute("GRANT USER tempuser PRIVILEGES ALL on root.**");
 
-        userStmt.execute("SET STORAGE GROUP TO root.a");
+        userStmt.execute("CREATE DATABASE root.a");
         userStmt.execute("CREATE TIMESERIES root.a.b WITH DATATYPE=INT32,ENCODING=PLAIN");
         userStmt.execute("INSERT INTO root.a(timestamp, b) VALUES (100, 100)");
         userStmt.execute("SELECT * from root.a");
@@ -103,8 +102,7 @@ public class IoTDBAuthorizationIT {
         adminStmt.execute("REVOKE USER tempuser PRIVILEGES ALL on root.**");
         adminStmt.execute("REVOKE USER tempuser PRIVILEGES CREATE_TIMESERIES ON root.b.b");
 
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.b"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.b"));
         Assert.assertThrows(
             SQLException.class,
             () ->
@@ -135,12 +133,12 @@ public class IoTDBAuthorizationIT {
           Statement userStmt = userCon.createStatement()) {
 
         Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.sgtest"));
+            SQLException.class, () -> userStmt.execute("CREATE DATABASE root.sgtest"));
 
         adminStmt.execute("GRANT USER sgtest PRIVILEGES SET_STORAGE_GROUP ON root.sgtest");
 
         try {
-          userStmt.execute("SET STORAGE GROUP TO root.sgtest");
+          userStmt.execute("CREATE DATABASE root.sgtest");
         } catch (SQLException e) {
           fail(e.getMessage());
         }
@@ -428,26 +426,22 @@ public class IoTDBAuthorizationIT {
           Statement userStmt = userCon.createStatement()) {
 
         // grant and revoke the user the privilege to create time series
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.a"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.a"));
 
         adminStmt.execute("GRANT USER tempuser PRIVILEGES SET_STORAGE_GROUP ON root.a");
-        userStmt.execute("SET STORAGE GROUP TO root.a");
+        userStmt.execute("CREATE DATABASE root.a");
         adminStmt.execute("GRANT USER tempuser PRIVILEGES CREATE_TIMESERIES ON root.a.b");
         userStmt.execute("CREATE TIMESERIES root.a.b WITH DATATYPE=INT32,ENCODING=PLAIN");
         // no privilege to create this one
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.b"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.b"));
         // privilege already exists
         Assert.assertThrows(
             SQLException.class,
             () -> adminStmt.execute("GRANT USER tempuser PRIVILEGES SET_STORAGE_GROUP ON root.a"));
         // no privilege to create this one any more
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.a"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.a"));
         // no privilege to create timeseries
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.a"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.a"));
 
         adminStmt.execute("REVOKE USER tempuser PRIVILEGES SET_STORAGE_GROUP ON root.a");
         // no privilege to create this one any more
@@ -478,7 +472,7 @@ public class IoTDBAuthorizationIT {
 
         // revoke the privilege to delete time series
         adminStmt.execute("CREATE TIMESERIES root.a.b WITH DATATYPE=INT32,ENCODING=PLAIN");
-        adminStmt.execute("SET STORAGE GROUP TO root.b");
+        adminStmt.execute("CREATE DATABASE root.b");
         adminStmt.execute("CREATE TIMESERIES root.b.a WITH DATATYPE=INT32,ENCODING=PLAIN");
         adminStmt.execute("REVOKE USER tempuser PRIVILEGES DELETE_TIMESERIES on root.a.**");
         userStmt.execute("DELETE TIMESERIES root.b.a");
@@ -504,7 +498,7 @@ public class IoTDBAuthorizationIT {
           Statement userStmt = userCon.createStatement()) {
 
         adminStmt.execute("GRANT USER tempuser PRIVILEGES SET_STORAGE_GROUP ON root.a");
-        userStmt.execute("SET STORAGE GROUP TO root.a");
+        userStmt.execute("CREATE DATABASE root.a");
         adminStmt.execute("GRANT USER tempuser PRIVILEGES CREATE_TIMESERIES ON root.a.b");
         userStmt.execute("CREATE TIMESERIES root.a.b WITH DATATYPE=INT32,ENCODING=PLAIN");
 
@@ -558,7 +552,7 @@ public class IoTDBAuthorizationIT {
             "GRANT ROLE admin PRIVILEGES SET_STORAGE_GROUP,CREATE_TIMESERIES,DELETE_TIMESERIES,READ_TIMESERIES,INSERT_TIMESERIES on root.**");
         adminStmt.execute("GRANT admin TO tempuser");
 
-        userStmt.execute("SET STORAGE GROUP TO root.a");
+        userStmt.execute("CREATE DATABASE root.a");
         userStmt.execute("CREATE TIMESERIES root.a.b WITH DATATYPE=INT32,ENCODING=PLAIN");
         userStmt.execute("CREATE TIMESERIES root.a.c WITH DATATYPE=INT32,ENCODING=PLAIN");
         userStmt.execute("INSERT INTO root.a(timestamp,b,c) VALUES (1,100,1000)");
@@ -595,7 +589,7 @@ public class IoTDBAuthorizationIT {
         Statement adminStmt = adminCon.createStatement()) {
 
       adminStmt.execute("CREATE USER tempuser 'temppw'");
-      adminStmt.execute("SET STORAGE GROUP TO root.a");
+      adminStmt.execute("CREATE DATABASE root.a");
       int privilegeCnt = 500;
       for (int i = 0; i < privilegeCnt; i++) {
         adminStmt.execute("CREATE TIMESERIES root.a.b" + i + " WITH DATATYPE=INT32,ENCODING=PLAIN");
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBClearCacheIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBClearCacheIT.java
index c97710fc45..6a51bc39ca 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBClearCacheIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBClearCacheIT.java
@@ -43,7 +43,7 @@ public class IoTDBClearCacheIT {
 
   private static String[] sqls =
       new String[] {
-        "set storage group to root.ln",
+        "CREATE DATABASE root.ln",
         "create timeseries root.ln.wf01.wt01.status with datatype=BOOLEAN,encoding=PLAIN",
         "insert into root.ln.wf01.wt01(timestamp,status) values(1509465600000,true)",
         "insert into root.ln.wf01.wt01(timestamp,status) values(1509465660000,true)",
@@ -88,7 +88,7 @@ public class IoTDBClearCacheIT {
         "insert into root.ln.wf02.wt02(timestamp,status) values(1509466020000,false)",
         "insert into root.ln.wf02.wt02(timestamp,status) values(1509466080000,false)",
         "insert into root.ln.wf02.wt02(timestamp,status) values(1509466140000,false)",
-        "set storage group to root.sgcc",
+        "CREATE DATABASE root.sgcc",
         "create timeseries root.sgcc.wf03.wt01.status with datatype=BOOLEAN,encoding=PLAIN",
         "insert into root.sgcc.wf03.wt01(timestamp,status) values(1509465600000,true)",
         "insert into root.sgcc.wf03.wt01(timestamp,status) values(1509465660000,true)",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCloseIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCloseIT.java
index 5e80ea6aa0..00bea906e8 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCloseIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCloseIT.java
@@ -88,7 +88,7 @@ public class IoTDBCloseIT {
         statement.execute(sql);
       }
 
-      statement.execute("SET STORAGE GROUP TO root.fans");
+      statement.execute("CREATE DATABASE root.fans");
       statement.execute("CREATE TIMESERIES root.fans.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE");
       statement.execute("CREATE TIMESERIES root.fans.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE");
 
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCompactionIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCompactionIT.java
index 6c8b2a7c93..dce4ef7550 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCompactionIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCompactionIT.java
@@ -66,7 +66,7 @@ public class IoTDBCompactionIT {
     logger.info("test...");
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.mergeTest");
+      statement.execute("CREATE DATABASE root.mergeTest");
       try {
         statement.execute("CREATE TIMESERIES root.mergeTest.s1 WITH DATATYPE=INT64,ENCODING=PLAIN");
       } catch (SQLException e) {
@@ -111,7 +111,7 @@ public class IoTDBCompactionIT {
     logger.info("test...");
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.mergeTest");
+      statement.execute("CREATE DATABASE root.mergeTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -174,7 +174,7 @@ public class IoTDBCompactionIT {
     // e.g.: write 1. seq [10, 20), 2. seq [20, 30), 3. unseq [20, 30), 4. unseq [10, 20)
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.mergeTest");
+      statement.execute("CREATE DATABASE root.mergeTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -255,7 +255,7 @@ public class IoTDBCompactionIT {
     logger.info("testCrossPartition...");
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.mergeTest");
+      statement.execute("CREATE DATABASE root.mergeTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCompactionWithIDTableIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCompactionWithIDTableIT.java
index cd765dc565..de44842958 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCompactionWithIDTableIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCompactionWithIDTableIT.java
@@ -80,7 +80,7 @@ public class IoTDBCompactionWithIDTableIT {
     logger.info("test...");
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.mergeTest");
+      statement.execute("CREATE DATABASE root.mergeTest");
       try {
         statement.execute("CREATE TIMESERIES root.mergeTest.s1 WITH DATATYPE=INT64,ENCODING=PLAIN");
       } catch (SQLException e) {
@@ -125,7 +125,7 @@ public class IoTDBCompactionWithIDTableIT {
     logger.info("test...");
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.mergeTest");
+      statement.execute("CREATE DATABASE root.mergeTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -188,7 +188,7 @@ public class IoTDBCompactionWithIDTableIT {
     // e.g.: write 1. seq [10, 20), 2. seq [20, 30), 3. unseq [20, 30), 4. unseq [10, 20)
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.mergeTest");
+      statement.execute("CREATE DATABASE root.mergeTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -269,7 +269,7 @@ public class IoTDBCompactionWithIDTableIT {
     logger.info("testCrossPartition...");
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.mergeTest");
+      statement.execute("CREATE DATABASE root.mergeTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBDaemonIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBDaemonIT.java
index 4ff90010b7..001da8c2cc 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBDaemonIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBDaemonIT.java
@@ -55,8 +55,8 @@ public class IoTDBDaemonIT {
 
   private static String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle.d0",
-        "SET STORAGE GROUP TO root.vehicle.d1",
+        "CREATE DATABASE root.vehicle.d0",
+        "CREATE DATABASE root.vehicle.d1",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBDisableAlignIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBDisableAlignIT.java
index bc3b5ee677..ce515a3851 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBDisableAlignIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBDisableAlignIT.java
@@ -47,8 +47,8 @@ public class IoTDBDisableAlignIT {
 
   private static String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle",
-        "SET STORAGE GROUP TO root.other",
+        "CREATE DATABASE root.vehicle",
+        "CREATE DATABASE root.other",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBFillIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBFillIT.java
index 060d2d10ea..e046d4882a 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBFillIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBFillIT.java
@@ -40,7 +40,7 @@ public class IoTDBFillIT {
 
   private static String[] dataSet1 =
       new String[] {
-        "SET STORAGE GROUP TO root.ln.wf01.wt01",
+        "CREATE DATABASE root.ln.wf01.wt01",
         "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.hardware WITH DATATYPE=INT32, ENCODING=PLAIN",
@@ -102,7 +102,7 @@ public class IoTDBFillIT {
 
   private static String[] dataSet2 =
       new String[] {
-        "SET STORAGE GROUP TO root.ln.wf01.wt02",
+        "CREATE DATABASE root.ln.wf01.wt02",
         "CREATE TIMESERIES root.ln.wf01.wt02.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt02.temperature WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
         "INSERT INTO root.ln.wf01.wt02(timestamp,temperature,status) "
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBFlushQueryMergeIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBFlushQueryMergeIT.java
index b80bdb855c..f7ec2d6cf1 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBFlushQueryMergeIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBFlushQueryMergeIT.java
@@ -46,7 +46,7 @@ public class IoTDBFlushQueryMergeIT {
   private static final Logger logger = LoggerFactory.getLogger(IoTDBFlushQueryMergeIT.class);
   private static String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle.d0",
+        "CREATE DATABASE root.vehicle.d0",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "insert into root.vehicle.d0(timestamp,s0) values(1,101)",
         "insert into root.vehicle.d0(timestamp,s0) values(2,198)",
@@ -114,9 +114,9 @@ public class IoTDBFlushQueryMergeIT {
         "INSERT INTO root.group%d(timestamp, s1, s2, s3) VALUES (%d, %d, %f, %s)";
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.group1");
-      statement.execute("SET STORAGE GROUP TO root.group2");
-      statement.execute("SET STORAGE GROUP TO root.group3");
+      statement.execute("CREATE DATABASE root.group1");
+      statement.execute("CREATE DATABASE root.group2");
+      statement.execute("CREATE DATABASE root.group3");
 
       for (int i = 1; i <= 3; i++) {
         for (int j = 10; j < 20; j++) {
@@ -161,9 +161,9 @@ public class IoTDBFlushQueryMergeIT {
   public void testFlushGivenGroupNoData() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.nodatagroup1");
-      statement.execute("SET STORAGE GROUP TO root.nodatagroup2");
-      statement.execute("SET STORAGE GROUP TO root.nodatagroup3");
+      statement.execute("CREATE DATABASE root.nodatagroup1");
+      statement.execute("CREATE DATABASE root.nodatagroup2");
+      statement.execute("CREATE DATABASE root.nodatagroup3");
       statement.execute("FLUSH root.nodatagroup1");
       statement.execute("FLUSH root.nodatagroup2");
       statement.execute("FLUSH root.nodatagroup3");
@@ -179,7 +179,7 @@ public class IoTDBFlushQueryMergeIT {
   public void testFlushNotExistGroupNoData() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.noexist.nodatagroup1");
+      statement.execute("CREATE DATABASE root.noexist.nodatagroup1");
       try {
         statement.execute(
             "FLUSH root.noexist.nodatagroup1,root.notExistGroup1,root.notExistGroup2");
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBLoadExternalTsfileIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBLoadExternalTsfileIT.java
index 70793e6bab..ee42a5c48c 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBLoadExternalTsfileIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBLoadExternalTsfileIT.java
@@ -64,8 +64,8 @@ public class IoTDBLoadExternalTsfileIT {
 
   protected static String[] insertSequenceSqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle",
-        "SET STORAGE GROUP TO root.test",
+        "CREATE DATABASE root.vehicle",
+        "CREATE DATABASE root.test",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=TEXT, ENCODING=PLAIN",
         "CREATE TIMESERIES root.vehicle.d1.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
@@ -911,8 +911,8 @@ public class IoTDBLoadExternalTsfileIT {
       List<String> metaDataSqls =
           new ArrayList<>(
               Arrays.asList(
-                  "SET STORAGE GROUP TO root.vehicle",
-                  "SET STORAGE GROUP TO root.test",
+                  "CREATE DATABASE root.vehicle",
+                  "CREATE DATABASE root.test",
                   "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT64, ENCODING=RLE",
                   "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=TEXT, ENCODING=PLAIN",
                   "CREATE TIMESERIES root.vehicle.d1.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiSeriesIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiSeriesIT.java
index 85833cf9f9..8228d7953e 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiSeriesIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiSeriesIT.java
@@ -101,7 +101,7 @@ public class IoTDBMultiSeriesIT {
         statement.execute(sql);
       }
 
-      statement.execute("SET STORAGE GROUP TO root.fans");
+      statement.execute("CREATE DATABASE root.fans");
       statement.execute("CREATE TIMESERIES root.fans.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE");
       statement.execute("CREATE TIMESERIES root.fans.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE");
 
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiStatementsIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiStatementsIT.java
index f8771ea6ca..e3c0fcfa49 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiStatementsIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiStatementsIT.java
@@ -87,7 +87,7 @@ public class IoTDBMultiStatementsIT {
         statement.execute(sql);
       }
 
-      statement.execute("SET STORAGE GROUP TO root.fans");
+      statement.execute("CREATE DATABASE root.fans");
       statement.execute("CREATE TIMESERIES root.fans.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE");
       statement.execute("CREATE TIMESERIES root.fans.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE");
 
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBNewTsFileCompactionIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBNewTsFileCompactionIT.java
index 8717132018..452ff1108b 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBNewTsFileCompactionIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBNewTsFileCompactionIT.java
@@ -76,7 +76,7 @@ public class IoTDBNewTsFileCompactionIT {
                 Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
         Statement statement = connection.createStatement()) {
 
-      statement.execute("SET STORAGE GROUP TO root.newTsFileCompaction");
+      statement.execute("CREATE DATABASE root.newTsFileCompaction");
     }
   }
 
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBOverlappedPageIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBOverlappedPageIT.java
index 02c4ca9c19..545e8666fd 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBOverlappedPageIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBOverlappedPageIT.java
@@ -49,7 +49,7 @@ public class IoTDBOverlappedPageIT {
 
   private static String[] dataSet1 =
       new String[] {
-        "SET STORAGE GROUP TO root.sg1",
+        "CREATE DATABASE root.sg1",
         "CREATE TIMESERIES root.sg1.d1.s1 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "INSERT INTO root.sg1.d1(time,s1) values(1, 1)",
         "INSERT INTO root.sg1.d1(time,s1) values(10, 10)",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryMemoryControlIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryMemoryControlIT.java
index 1fa1290ece..fa45615ebf 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryMemoryControlIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryMemoryControlIT.java
@@ -43,7 +43,7 @@ public class IoTDBQueryMemoryControlIT {
 
   private static final String[] sqls =
       new String[] {
-        "set storage group to root.ln",
+        "CREATE DATABASE root.ln",
         "create timeseries root.ln.wf01.wt01 with datatype=INT32,encoding=PLAIN",
         "create timeseries root.ln.wf01.wt02 with datatype=INT32,encoding=PLAIN",
         "create timeseries root.ln.wf01.wt03 with datatype=INT32,encoding=PLAIN",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryTimeoutIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryTimeoutIT.java
index 0b8215d36b..2104346c76 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryTimeoutIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryTimeoutIT.java
@@ -138,8 +138,8 @@ public class IoTDBQueryTimeoutIT {
   private static void prepareData() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.addBatch("SET STORAGE GROUP TO root.sg1;");
-      statement.addBatch("SET STORAGE GROUP TO root.sg2;");
+      statement.addBatch("CREATE DATABASE root.sg1;");
+      statement.addBatch("CREATE DATABASE root.sg2;");
       statement.addBatch("CREATE TIMESERIES root.sg1.d1.s1 with datatype=INT32,encoding=RLE;");
       statement.addBatch("CREATE TIMESERIES root.sg2.d2.s2 with datatype=INT32,encoding=RLE;");
       for (int i = 0; i <= 80000; i++) {
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryWithIDTableIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryWithIDTableIT.java
index 6980b7cd47..ac3b406f0c 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryWithIDTableIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryWithIDTableIT.java
@@ -48,8 +48,8 @@ public class IoTDBQueryWithIDTableIT {
 
   private static String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle",
-        "SET STORAGE GROUP TO root.other",
+        "CREATE DATABASE root.vehicle",
+        "CREATE DATABASE root.other",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRemovePartitionIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRemovePartitionIT.java
index b795b0319a..fceb7feabf 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRemovePartitionIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRemovePartitionIT.java
@@ -179,7 +179,7 @@ public class IoTDBRemovePartitionIT {
             DriverManager.getConnection(
                 Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
         Statement statement = connection.createStatement()) {
-      statement.execute("set storage group to root.test");
+      statement.execute("CREATE DATABASE root.test");
       statement.execute("insert into root.test.wf02.wt02(timestamp,status) values(1,true)");
       statement.execute("select * from root.test.wf02.wt02");
       statement.execute("DELETE PARTITION root.test 0");
@@ -204,7 +204,7 @@ public class IoTDBRemovePartitionIT {
             DriverManager.getConnection(
                 Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
         Statement statement = connection.createStatement()) {
-      statement.execute("set storage group to root.test");
+      statement.execute("CREATE DATABASE root.test");
       statement.execute("insert into root.test.wf02.wt02(timestamp,status) values(2,true)");
       statement.execute("select * from root.test.wf02.wt02");
       statement.execute("DELETE PARTITION root.test 0");
@@ -234,7 +234,7 @@ public class IoTDBRemovePartitionIT {
             DriverManager.getConnection(
                 Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
         Statement statement = connection.createStatement()) {
-      statement.execute("set storage group to root.test");
+      statement.execute("CREATE DATABASE root.test");
       statement.execute("insert into root.test.wf02.wt02(timestamp,status) values(2,true)");
       statement.execute("select * from root.test.wf02.wt02");
       statement.execute("DELETE PARTITION root.test 0");
@@ -264,7 +264,7 @@ public class IoTDBRemovePartitionIT {
             DriverManager.getConnection(
                 Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
         Statement statement = connection.createStatement()) {
-      statement.execute("set storage group to root.test");
+      statement.execute("CREATE DATABASE root.test");
       statement.execute("insert into root.test.wf02.wt02(timestamp,status) values(1,true)");
       statement.execute("flush");
       statement.execute("DELETE PARTITION root.test 0");
@@ -287,8 +287,8 @@ public class IoTDBRemovePartitionIT {
     List<String> sqls =
         new ArrayList<>(
             Arrays.asList(
-                "SET STORAGE GROUP TO root.test1",
-                "SET STORAGE GROUP TO root.test2",
+                "CREATE DATABASE root.test1",
+                "CREATE DATABASE root.test2",
                 "CREATE TIMESERIES root.test1.s0 WITH DATATYPE=INT64,ENCODING=PLAIN",
                 "CREATE TIMESERIES root.test2.s0 WITH DATATYPE=INT64,ENCODING=PLAIN"));
     // 10 partitions, each one with one seq file and one unseq file
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRewriteTsFileToolIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRewriteTsFileToolIT.java
index 012f5b6c92..25f23a0fee 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRewriteTsFileToolIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRewriteTsFileToolIT.java
@@ -100,7 +100,7 @@ public class IoTDBRewriteTsFileToolIT {
     try (Connection connection =
             DriverManager.getConnection("jdbc:iotdb://127.0.0.1:6667", "root", "root");
         Statement statement = connection.createStatement()) {
-      statement.execute("set storage group to root.sg");
+      statement.execute("CREATE DATABASE root.sg");
       statement.execute("create timeseries root.sg.d1.s INT32");
       statement.execute("create timeseries root.sg.d2.s INT32");
       statement.execute("create timeseries root.sg.d3.s INT32");
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRpcCompressionIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRpcCompressionIT.java
index cc3b5626fe..7b24d44c59 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRpcCompressionIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRpcCompressionIT.java
@@ -107,7 +107,7 @@ public class IoTDBRpcCompressionIT {
 
   private void doSomething(Statement statement) throws SQLException, InterruptedException {
 
-    statement.execute("set storage group to root.demo");
+    statement.execute("CREATE DATABASE root.demo");
     statement.execute("create timeseries root.demo.d1.s1 with datatype=INT64,encoding=RLE");
     statement.execute("create timeseries root.demo.d1.s2 with datatype=INT64,encoding=RLE");
     statement.execute("create timeseries root.demo.d1.s3 with datatype=INT64,encoding=RLE");
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSensorUpdateIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSensorUpdateIT.java
index 004d690057..489fbbb9c4 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSensorUpdateIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSensorUpdateIT.java
@@ -52,7 +52,7 @@ public class IoTDBSensorUpdateIT {
   public void testMerge() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("set storage group to root.demo");
+      statement.execute("CREATE DATABASE root.demo");
       statement.execute("create timeseries root.demo.d1.s1 with datatype=INT64,encoding=RLE");
       statement.execute("create timeseries root.demo.d1.s2 with datatype=INT64,encoding=RLE");
       statement.execute("create timeseries root.demo.d1.s3 with datatype=INT64,encoding=RLE");
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSessionTimeoutIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSessionTimeoutIT.java
index 3245d01700..19d56546ca 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSessionTimeoutIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSessionTimeoutIT.java
@@ -62,7 +62,7 @@ public class IoTDBSessionTimeoutIT {
             DriverManager.getConnection("jdbc:iotdb://127.0.0.1:6667/", "root", "root");
         Statement statement = connection.createStatement()) {
       Thread.sleep(SESSION_TIMEOUT + 10000);
-      statement.execute("show storage group");
+      statement.execute("SHOW DATABASES");
       fail("session did not timeout as expected");
     } catch (IoTDBSQLException e) {
       assertEquals(
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSetSystemReadOnlyWritableIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSetSystemReadOnlyWritableIT.java
index bf763eb497..47e2af2927 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSetSystemReadOnlyWritableIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSetSystemReadOnlyWritableIT.java
@@ -48,7 +48,7 @@ public class IoTDBSetSystemReadOnlyWritableIT {
 
   private static final String[] sqls1 =
       new String[] {
-        "set storage group to root.ln",
+        "CREATE DATABASE root.ln",
         "create timeseries root.ln.wf01.wt01.status with datatype=BOOLEAN,encoding=PLAIN",
         "insert into root.ln.wf01.wt01(timestamp,status) values(1509465600000,true)",
         "insert into root.ln.wf01.wt01(timestamp,status) values(1509465660000,true)",
@@ -97,7 +97,7 @@ public class IoTDBSetSystemReadOnlyWritableIT {
         "insert into root.ln.wf02.wt02(timestamp,status) values(1509466020000,false)",
         "insert into root.ln.wf02.wt02(timestamp,status) values(1509466080000,false)",
         "insert into root.ln.wf02.wt02(timestamp,status) values(1509466140000,false)",
-        "set storage group to root.sgcc",
+        "CREATE DATABASE root.sgcc",
         "create timeseries root.sgcc.wf03.wt01.status with datatype=BOOLEAN,encoding=PLAIN",
         "insert into root.sgcc.wf03.wt01(timestamp,status) values(1509465600000,true)",
         "insert into root.sgcc.wf03.wt01(timestamp,status) values(1509465660000,true)",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSizeTieredCompactionIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSizeTieredCompactionIT.java
index 3d25cbda98..deed2d2b71 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSizeTieredCompactionIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSizeTieredCompactionIT.java
@@ -60,7 +60,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void test() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -105,7 +105,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testAppendMergeAfterDeserializeMerge() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       try {
         statement.execute("CREATE TIMESERIES root.compactionTest.s1 WITH DATATYPE=INT64");
       } catch (SQLException e) {
@@ -156,7 +156,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testDeserializeMergeAfterAppendMerge() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       try {
         statement.execute("CREATE TIMESERIES root.compactionTest.s1 WITH DATATYPE=INT64");
       } catch (SQLException e) {
@@ -205,7 +205,7 @@ public class IoTDBSizeTieredCompactionIT {
   private void testCompactionNoUnseq(int mergeCount) throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -255,7 +255,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testCompactionOnceWithUnseq() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -308,7 +308,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testCompactionToSecondLevelWithUnseq() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -368,7 +368,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testCompactionToSecondLevelWithUnseqDisableUnseqCompaction() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -434,7 +434,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testCompactionToStableLevelWithUnseq() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -494,7 +494,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testCompactionToStableLevelWithUnseqDisableUnseqCompaction() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -554,7 +554,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testCompactionSeqMaxLevelNumError0() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -614,7 +614,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testCompactionSeqMaxLevelNumError1() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -674,7 +674,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testCompactionSeqFileNumInEachLevelError0() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -734,7 +734,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testCompactionSeqFileNumInEachLevelError1() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -794,7 +794,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testCompactionWithUnseqCompaction() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -877,7 +877,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testCompactionWithDeletionTimeseries() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -928,7 +928,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testCompactionWithDeletionTimeseriesAndCreateDifferentTypeTest() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSnapshotIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSnapshotIT.java
index 14db6df1a4..414d99a92e 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSnapshotIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSnapshotIT.java
@@ -72,7 +72,7 @@ public class IoTDBSnapshotIT {
           DirectoryNotLegalException, DataRegionException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("set storage group to " + SG_NAME);
+      statement.execute("CREATE DATABASE " + SG_NAME);
       for (int i = 0; i < 10; ++i) {
         for (int j = 0; j < 10; ++j) {
           statement.execute(
@@ -138,7 +138,7 @@ public class IoTDBSnapshotIT {
           DirectoryNotLegalException, DataRegionException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("set storage group to " + SG_NAME);
+      statement.execute("CREATE DATABASE " + SG_NAME);
       for (int i = 0; i < 10; ++i) {
         for (int j = 0; j < 10; ++j) {
           statement.execute(
@@ -173,7 +173,7 @@ public class IoTDBSnapshotIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       Map<String, Integer> resultMap = new HashMap<>();
-      statement.execute("set storage group to " + SG_NAME);
+      statement.execute("CREATE DATABASE " + SG_NAME);
       for (int i = 0; i < 10; ++i) {
         for (int j = 0; j < 10; ++j) {
           statement.execute(
@@ -230,7 +230,7 @@ public class IoTDBSnapshotIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       Map<String, Integer> resultMap = new HashMap<>();
-      statement.execute("set storage group to " + SG_NAME);
+      statement.execute("CREATE DATABASE " + SG_NAME);
       for (int i = 0; i < 10; ++i) {
         for (int j = 0; j < 10; ++j) {
           statement.execute(
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSortedShowTimeseriesIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSortedShowTimeseriesIT.java
index b54368d9ac..0c39ff6d7c 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSortedShowTimeseriesIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSortedShowTimeseriesIT.java
@@ -44,8 +44,8 @@ public class IoTDBSortedShowTimeseriesIT {
 
   private static String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.turbine",
-        "SET STORAGE GROUP TO root.ln",
+        "CREATE DATABASE root.turbine",
+        "CREATE DATABASE root.ln",
         "create timeseries root.turbine.d0.s0(temperature) with datatype=FLOAT, encoding=RLE, compression=SNAPPY "
             + "tags('unit'='f', 'description'='turbine this is a test1') "
             + "attributes('H_Alarm'='100', 'M_Alarm'='50')",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTracingIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTracingIT.java
index 7743d60014..5360bd07d2 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTracingIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTracingIT.java
@@ -47,7 +47,7 @@ public class IoTDBTracingIT {
   private static void prepareData() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg_tracing");
+      statement.execute("CREATE DATABASE root.sg_tracing");
       statement.execute(
           "CREATE TIMESERIES root.sg_tracing.d1.s1 WITH DATATYPE=INT32, ENCODING=RLE");
 
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTtlIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTtlIT.java
index 9912f40430..855c119fab 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTtlIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTtlIT.java
@@ -69,7 +69,7 @@ public class IoTDBTtlIT {
         assertEquals(TSStatusCode.TIMESERIES_NOT_EXIST.getStatusCode(), e.getErrorCode());
       }
 
-      statement.execute("SET STORAGE GROUP TO root.TTL_SG1");
+      statement.execute("CREATE DATABASE root.TTL_SG1");
       statement.execute("CREATE TIMESERIES root.TTL_SG1.s1 WITH DATATYPE=INT64,ENCODING=PLAIN");
       try {
         statement.execute("SET TTL TO root.TTL_SG1.s1 1000");
@@ -77,7 +77,7 @@ public class IoTDBTtlIT {
         assertEquals(TSStatusCode.STORAGE_GROUP_NOT_EXIST.getStatusCode(), e.getErrorCode());
       }
 
-      statement.execute("SET STORAGE GROUP TO root.TTL_SG2");
+      statement.execute("CREATE DATABASE root.TTL_SG2");
       statement.execute("CREATE TIMESERIES root.TTL_SG2.s1 WITH DATATYPE=INT64,ENCODING=PLAIN");
       try {
         statement.execute("SET TTL TO root.TTL_SG2.s1 1000");
@@ -166,8 +166,8 @@ public class IoTDBTtlIT {
         }
         assertTrue(cnt >= 200);
       }
-      statement.execute("SET STORAGE GROUP TO root.sg.TTL_SG3");
-      statement.execute("SET STORAGE GROUP TO root.sg.TTL_SG4");
+      statement.execute("CREATE DATABASE root.sg.TTL_SG3");
+      statement.execute("CREATE DATABASE root.sg.TTL_SG4");
       // SG2
       for (int i = 0; i < 100; i++) {
         statement.execute(
@@ -279,8 +279,8 @@ public class IoTDBTtlIT {
   public void testShowTTL() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.group1");
-      statement.execute("SET STORAGE GROUP TO root.group2");
+      statement.execute("CREATE DATABASE root.group1");
+      statement.execute("CREATE DATABASE root.group2");
       String result = doQuery(statement, "SHOW ALL TTL");
       assertTrue(
           result.equals("root.group1,null\n" + "root.group2,null\n")
@@ -325,8 +325,8 @@ public class IoTDBTtlIT {
     CommonDescriptor.getInstance().getConfig().setDefaultTTLInMs(10000);
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.group1");
-      statement.execute("SET STORAGE GROUP TO root.group2");
+      statement.execute("CREATE DATABASE root.group1");
+      statement.execute("CREATE DATABASE root.group2");
 
       String result = doQuery(statement, "SHOW ALL TTL");
       assertTrue(
@@ -342,8 +342,8 @@ public class IoTDBTtlIT {
   public void testTTLOnAnyPath() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.group1");
-      statement.execute("SET STORAGE GROUP TO root.group2.sgroup1");
+      statement.execute("CREATE DATABASE root.group1");
+      statement.execute("CREATE DATABASE root.group2.sgroup1");
       statement.execute("SET TTL TO root.group2.** 10000");
       String result = doQuery(statement, "SHOW ALL TTL");
       assertTrue(
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDFWindowQueryIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDFWindowQueryIT.java
index 2be0b28771..74e24cd7bd 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDFWindowQueryIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDFWindowQueryIT.java
@@ -56,7 +56,7 @@ public class IoTDBUDFWindowQueryIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.vehicle");
+      statement.execute("CREATE DATABASE root.vehicle");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s1 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s2 with datatype=INT32,encoding=PLAIN");
     } catch (SQLException throwable) {
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFHybridQueryIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFHybridQueryIT.java
index e4929fac7a..e35a353938 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFHybridQueryIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFHybridQueryIT.java
@@ -50,7 +50,7 @@ public class IoTDBUDTFHybridQueryIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.vehicle");
+      statement.execute("CREATE DATABASE root.vehicle");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s1 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s2 with datatype=INT32,encoding=PLAIN");
     } catch (SQLException throwable) {
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFNonAlignQueryIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFNonAlignQueryIT.java
index 94a81a6c86..cbadb9acaa 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFNonAlignQueryIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFNonAlignQueryIT.java
@@ -70,7 +70,7 @@ public class IoTDBUDTFNonAlignQueryIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.vehicle");
+      statement.execute("CREATE DATABASE root.vehicle");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s1 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s2 with datatype=INT64,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d2.s1 with datatype=FLOAT,encoding=PLAIN");
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUnseqOverlappedPageIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUnseqOverlappedPageIT.java
index 54baf7da78..e61976670c 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUnseqOverlappedPageIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUnseqOverlappedPageIT.java
@@ -52,7 +52,7 @@ public class IoTDBUnseqOverlappedPageIT {
 
   private static String[] dataSet1 =
       new String[] {
-        "SET STORAGE GROUP TO root.sg1",
+        "CREATE DATABASE root.sg1",
         "CREATE TIMESERIES root.sg1.d1.s1 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "INSERT INTO root.sg1.d1(time,s1) values(1, 1)",
         "INSERT INTO root.sg1.d1(time,s1) values(2, 2)",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBVersionIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBVersionIT.java
index 166a1b5274..5f07fd207b 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBVersionIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBVersionIT.java
@@ -48,8 +48,8 @@ public class IoTDBVersionIT {
   public void testVersionPersist() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.versionTest1");
-      statement.execute("SET STORAGE GROUP TO root.versionTest2");
+      statement.execute("CREATE DATABASE root.versionTest1");
+      statement.execute("CREATE DATABASE root.versionTest2");
       statement.execute(
           "CREATE TIMESERIES root.versionTest1.s0" + " WITH DATATYPE=INT32,ENCODING=PLAIN");
       statement.execute(
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBUDFNestAggregationIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBUDFNestAggregationIT.java
index 6d38a673c1..60d98dbec8 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBUDFNestAggregationIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBUDFNestAggregationIT.java
@@ -46,8 +46,8 @@ public class IoTDBUDFNestAggregationIT {
 
   private static String[] creationSqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle.d0",
-        "SET STORAGE GROUP TO root.vehicle.d1",
+        "CREATE DATABASE root.vehicle.d0",
+        "CREATE DATABASE root.vehicle.d1",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
@@ -56,7 +56,7 @@ public class IoTDBUDFNestAggregationIT {
       };
   private static String[] dataSet2 =
       new String[] {
-        "SET STORAGE GROUP TO root.ln.wf01.wt01",
+        "CREATE DATABASE root.ln.wf01.wt01",
         "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.hardware WITH DATATYPE=INT32, ENCODING=PLAIN",
@@ -73,7 +73,7 @@ public class IoTDBUDFNestAggregationIT {
       };
   private static String[] dataSet3 =
       new String[] {
-        "SET STORAGE GROUP TO root.sg",
+        "CREATE DATABASE root.sg",
         "CREATE TIMESERIES root.sg.d1.s1 WITH DATATYPE=INT32, ENCODING=RLE",
         "insert into root.sg.d1(timestamp,s1) values(5,5)",
         "insert into root.sg.d1(timestamp,s1) values(12,12)",
@@ -88,8 +88,8 @@ public class IoTDBUDFNestAggregationIT {
 
   private static final String[] dataSet4 =
       new String[] {
-        "SET STORAGE GROUP TO root.sg1",
-        "SET STORAGE GROUP TO root.sg2",
+        "CREATE DATABASE root.sg1",
+        "CREATE DATABASE root.sg2",
         "CREATE TIMESERIES root.sg1.d1.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.sg1.d1.temperature WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
         "CREATE TIMESERIES root.sg1.d2.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
@@ -111,7 +111,7 @@ public class IoTDBUDFNestAggregationIT {
 
   private static final String[] dataSet5 =
       new String[] {
-        "SET STORAGE GROUP TO root.st",
+        "CREATE DATABASE root.st",
         "CREATE TIMESERIES root.st.a WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
         "CREATE TIMESERIES root.st.b WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
         "CREATE TIMESERIES root.st.c WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBUserDefinedAggregationFunctionIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBUserDefinedAggregationFunctionIT.java
index bbd3c2b3e8..dd98564996 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBUserDefinedAggregationFunctionIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBUserDefinedAggregationFunctionIT.java
@@ -45,8 +45,8 @@ public class IoTDBUserDefinedAggregationFunctionIT {
 
   private static String[] creationSqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle.d0",
-        "SET STORAGE GROUP TO root.vehicle.d1",
+        "CREATE DATABASE root.vehicle.d0",
+        "CREATE DATABASE root.vehicle.d1",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
@@ -55,7 +55,7 @@ public class IoTDBUserDefinedAggregationFunctionIT {
       };
   private static String[] dataSet2 =
       new String[] {
-        "SET STORAGE GROUP TO root.ln.wf01.wt01",
+        "CREATE DATABASE root.ln.wf01.wt01",
         "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.hardware WITH DATATYPE=INT32, ENCODING=PLAIN",
@@ -72,7 +72,7 @@ public class IoTDBUserDefinedAggregationFunctionIT {
       };
   private static String[] dataSet3 =
       new String[] {
-        "SET STORAGE GROUP TO root.sg",
+        "CREATE DATABASE root.sg",
         "CREATE TIMESERIES root.sg.d1.s1 WITH DATATYPE=INT32, ENCODING=RLE",
         "insert into root.sg.d1(timestamp,s1) values(5,5)",
         "insert into root.sg.d1(timestamp,s1) values(12,12)",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/aligned/AlignedWriteUtil.java b/integration/src/test/java/org/apache/iotdb/db/integration/aligned/AlignedWriteUtil.java
index 7c509f04cf..a19ab2597e 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/aligned/AlignedWriteUtil.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/aligned/AlignedWriteUtil.java
@@ -35,7 +35,7 @@ public class AlignedWriteUtil {
 
   private static final String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.sg1",
+        "CREATE DATABASE root.sg1",
         "create aligned timeseries root.sg1.d1(s1 FLOAT encoding=RLE, s2 INT32 encoding=Gorilla compression=SNAPPY, s3 INT64, s4 BOOLEAN, s5 TEXT)",
         "create timeseries root.sg1.d2.s1 WITH DATATYPE=FLOAT, encoding=RLE",
         "create timeseries root.sg1.d2.s2 WITH DATATYPE=INT32, encoding=Gorilla",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBGroupByFillQueryBigDataIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBGroupByFillQueryBigDataIT.java
index 61e204102e..292aad443c 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBGroupByFillQueryBigDataIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBGroupByFillQueryBigDataIT.java
@@ -43,7 +43,7 @@ public class IoTDBGroupByFillQueryBigDataIT {
 
   private static final String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.sg1",
+        "CREATE DATABASE root.sg1",
         "create aligned timeseries root.sg1.d1(s1 FLOAT encoding=RLE, s2 INT32 encoding=Gorilla compression=SNAPPY, s3 INT64)",
         "create timeseries root.sg1.d2.s1 WITH DATATYPE=FLOAT, encoding=RLE",
         "create timeseries root.sg1.d2.s2 WITH DATATYPE=INT32, encoding=Gorilla",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBLoadExternalAlignedTsFileIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBLoadExternalAlignedTsFileIT.java
index 041d7347b6..d8cb6f2a1d 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBLoadExternalAlignedTsFileIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBLoadExternalAlignedTsFileIT.java
@@ -65,8 +65,8 @@ public class IoTDBLoadExternalAlignedTsFileIT {
 
   private static String[] insertSequenceSqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle",
-        "SET STORAGE GROUP TO root.test",
+        "CREATE DATABASE root.vehicle",
+        "CREATE DATABASE root.test",
         "CREATE ALIGNED TIMESERIES root.vehicle.d0(s0 INT32 encoding=RLE, s1 TEXT encoding=PLAIN)",
         "CREATE ALIGNED TIMESERIES root.vehicle.d1(s2 FLOAT encoding=RLE, s3 BOOLEAN encoding=PLAIN)",
         "CREATE ALIGNED TIMESERIES root.test.d0(s0 INT32 encoding=RLE, s1 TEXT encoding=PLAIN)",
@@ -909,8 +909,8 @@ public class IoTDBLoadExternalAlignedTsFileIT {
       List<String> metaDataSqls =
           new ArrayList<>(
               Arrays.asList(
-                  "SET STORAGE GROUP TO root.vehicle",
-                  "SET STORAGE GROUP TO root.test",
+                  "CREATE DATABASE root.vehicle",
+                  "CREATE DATABASE root.test",
                   "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT64, ENCODING=RLE",
                   "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=TEXT, ENCODING=PLAIN",
                   "CREATE TIMESERIES root.vehicle.d1.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/groupby/IoTDBGroupByFillIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/groupby/IoTDBGroupByFillIT.java
index 5978fd77ec..4f8dd7076c 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/groupby/IoTDBGroupByFillIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/groupby/IoTDBGroupByFillIT.java
@@ -54,7 +54,7 @@ public class IoTDBGroupByFillIT {
 
   private static String[] dataSet1 =
       new String[] {
-        "SET STORAGE GROUP TO root.ln.wf01.wt01",
+        "CREATE DATABASE root.ln.wf01.wt01",
         "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=INT32, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.hardware WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/groupby/IoTDBGroupByFillMixPathsIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/groupby/IoTDBGroupByFillMixPathsIT.java
index 139bf085b2..37d0638083 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/groupby/IoTDBGroupByFillMixPathsIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/groupby/IoTDBGroupByFillMixPathsIT.java
@@ -46,7 +46,7 @@ public class IoTDBGroupByFillMixPathsIT {
 
   private static String[] dataSet1 =
       new String[] {
-        "SET STORAGE GROUP TO root.ln.wf01.wt01",
+        "CREATE DATABASE root.ln.wf01.wt01",
         "CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=INT32, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.hardware WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/groupby/IoTDBGroupByFillWithRangeIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/groupby/IoTDBGroupByFillWithRangeIT.java
index 899ec91bfc..2ea03f2d28 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/groupby/IoTDBGroupByFillWithRangeIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/groupby/IoTDBGroupByFillWithRangeIT.java
@@ -43,7 +43,7 @@ public class IoTDBGroupByFillWithRangeIT {
 
   private static String[] dataSet1 =
       new String[] {
-        "SET STORAGE GROUP TO root.ln.wf01.wt01",
+        "CREATE DATABASE root.ln.wf01.wt01",
         "CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=INT32, ENCODING=PLAIN",
         "INSERT INTO root.ln.wf01.wt01(timestamp,temperature) " + "values(1, 1)",
         "INSERT INTO root.ln.wf01.wt01(timestamp,temperature) " + "values(6, 6)",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/sync/IoTDBSyncSenderIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/sync/IoTDBSyncSenderIT.java
index a0de7ddd86..762b20e20e 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/sync/IoTDBSyncSenderIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/sync/IoTDBSyncSenderIT.java
@@ -109,8 +109,8 @@ public class IoTDBSyncSenderIT {
     try (Connection connection =
             DriverManager.getConnection("jdbc:iotdb://127.0.0.1:6667/", "root", "root");
         Statement statement = connection.createStatement()) {
-      statement.execute("set storage group to root.sg1");
-      statement.execute("set storage group to root.sg2");
+      statement.execute("CREATE DATABASE root.sg1");
+      statement.execute("CREATE DATABASE root.sg2");
       statement.execute("create timeseries root.sg1.d1.s1 with datatype=int32, encoding=PLAIN");
       statement.execute("create timeseries root.sg1.d1.s2 with datatype=float, encoding=RLE");
       statement.execute("create timeseries root.sg1.d1.s3 with datatype=TEXT, encoding=PLAIN");
@@ -231,7 +231,7 @@ public class IoTDBSyncSenderIT {
         Statement statement = connection.createStatement()) {
       statement.execute("delete from root.sg1.d1.* where time <= 2");
       statement.execute("delete timeseries root.sg1.d2.*");
-      statement.execute("delete storage group root.sg2");
+      statement.execute("delete database root.sg2");
     }
 
     List<PipeData> resultList = new ArrayList<>();
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/sync/SyncTestUtil.java b/integration/src/test/java/org/apache/iotdb/db/integration/sync/SyncTestUtil.java
index 3a23be2992..c371dac64b 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/sync/SyncTestUtil.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/sync/SyncTestUtil.java
@@ -43,12 +43,12 @@ public class SyncTestUtil {
 
   private static final String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle",
+        "CREATE DATABASE root.vehicle",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=TEXT, ENCODING=PLAIN",
         "CREATE TIMESERIES root.vehicle.d1.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d1.s3 WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
-        "SET STORAGE GROUP TO root.sg1",
+        "CREATE DATABASE root.sg1",
         "create aligned timeseries root.sg1.d1(s1 FLOAT encoding=RLE, s2 INT32 encoding=Gorilla compression=SNAPPY, s3 INT64, s4 BOOLEAN, s5 TEXT)",
         "insert into root.sg1.d1(time, s1, s2, s3, s4, s5) aligned values(1, 1.0, 1, 1, TRUE, 'aligned_test1')",
         "insert into root.sg1.d1(time, s1, s2, s3, s5) aligned values(2, 2.0, 2, 2, 'aligned_test2')",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/versionadaption/IoTDBDDLVersionAdaptionIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/versionadaption/IoTDBDDLVersionAdaptionIT.java
index e835183d5e..2a2e03401d 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/versionadaption/IoTDBDDLVersionAdaptionIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/versionadaption/IoTDBDDLVersionAdaptionIT.java
@@ -58,10 +58,10 @@ public class IoTDBDDLVersionAdaptionIT {
 
       String[] insertSqls =
           new String[] {
-            "SET STORAGE GROUP TO root.ln.wf01.wt01",
-            "SET STORAGE GROUP TO root.ln.wf01.wt02",
-            "SET STORAGE GROUP TO root.ln1.wf01.wt01",
-            "SET STORAGE GROUP TO root.ln2.wf01.wt01",
+            "CREATE DATABASE root.ln.wf01.wt01",
+            "CREATE DATABASE root.ln.wf01.wt02",
+            "CREATE DATABASE root.ln1.wf01.wt01",
+            "CREATE DATABASE root.ln2.wf01.wt01",
             "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE = BOOLEAN, ENCODING = PLAIN",
             "CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE = FLOAT, ENCODING = RLE, "
                 + "compressor = SNAPPY, 'MAX_POINT_NUMBER' = '3'",
@@ -139,9 +139,7 @@ public class IoTDBDDLVersionAdaptionIT {
   public void showStorageGroupTest() throws SQLException {
     String[] sqls =
         new String[] {
-          "show storage group",
-          "show storage group root.ln.wf01",
-          "show storage group root.ln.wf01.wt01.status"
+          "show databases", "show databases root.ln.wf01", "show databases root.ln.wf01.wt01.status"
         };
     Set<String>[] standards =
         new Set[] {
@@ -321,10 +319,10 @@ public class IoTDBDDLVersionAdaptionIT {
   public void testDeleteStorageGroup() throws Exception {
     executeDeleteAndCheckResult(
         "DELETE STORAGE GROUP root.ln.*",
-        "SHOW STORAGE GROUP",
+        "SHOW DATABASES",
         new String[] {"root.ln1.wf01.wt01", "root.ln2.wf01.wt01"});
     executeDeleteAndCheckResult(
-        "DELETE STORAGE GROUP root.ln1", "SHOW STORAGE GROUP", new String[] {"root.ln2.wf01.wt01"});
+        "DELETE STORAGE GROUP root.ln1", "SHOW DATABASES", new String[] {"root.ln2.wf01.wt01"});
   }
 
   @Test
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/versionadaption/IoTDBDeletionVersionAdaptionIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/versionadaption/IoTDBDeletionVersionAdaptionIT.java
index 6fea22169f..8a0f966204 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/versionadaption/IoTDBDeletionVersionAdaptionIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/versionadaption/IoTDBDeletionVersionAdaptionIT.java
@@ -48,8 +48,8 @@ public class IoTDBDeletionVersionAdaptionIT {
 
   private static String[] creationSqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle.d0",
-        "SET STORAGE GROUP TO root.vehicle.d1",
+        "CREATE DATABASE root.vehicle.d0",
+        "CREATE DATABASE root.vehicle.d1",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/versionadaption/IoTDBQueryVersionAdaptionIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/versionadaption/IoTDBQueryVersionAdaptionIT.java
index d7cfb958cc..6c74c6d862 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/versionadaption/IoTDBQueryVersionAdaptionIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/versionadaption/IoTDBQueryVersionAdaptionIT.java
@@ -58,7 +58,7 @@ public class IoTDBQueryVersionAdaptionIT {
 
   private static String[] sqls =
       new String[] {
-        "set storage group to root.ln",
+        "CREATE DATABASE root.ln",
         "create timeseries root.ln.wf01.wt01.status with datatype=BOOLEAN,encoding=PLAIN",
         "insert into root.ln.wf01.wt01(timestamp,status) values(1509465600000,true)",
         "insert into root.ln.wf01.wt01(timestamp,status) values(1509465660000,true)",
@@ -103,7 +103,7 @@ public class IoTDBQueryVersionAdaptionIT {
         "insert into root.ln.wf02.wt02(timestamp,status) values(1509466020000,false)",
         "insert into root.ln.wf02.wt02(timestamp,status) values(1509466080000,false)",
         "insert into root.ln.wf02.wt02(timestamp,status) values(1509466140000,false)",
-        "set storage group to root.sgcc",
+        "CREATE DATABASE root.sgcc",
         "create timeseries root.sgcc.wf03.wt01.status with datatype=BOOLEAN,encoding=PLAIN",
         "insert into root.sgcc.wf03.wt01(timestamp,status) values(1509465600000,true)",
         "insert into root.sgcc.wf03.wt01(timestamp,status) values(1509465660000,true)",
diff --git a/jdbc/README.md b/jdbc/README.md
index b7d1cda796..cb0ce3bdfc 100644
--- a/jdbc/README.md
+++ b/jdbc/README.md
@@ -81,14 +81,14 @@ public class JDBCExample {
     Statement statement = connection.createStatement();
     //Create storage group
     try {
-      statement.execute("SET STORAGE GROUP TO root.demo");
+      statement.execute("CREATE DATABASE root.demo");
     }catch (IoTDBSQLException e){
       System.out.println(e.getMessage());
     }
 
 
-    //Show storage group
-    statement.execute("SHOW STORAGE GROUP");
+    //SHOW DATABASES
+    statement.execute("SHOW DATABASES");
     outputResult(statement.getResultSet());
 
     //Create time series
diff --git a/jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBDatabaseMetadata.java b/jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBDatabaseMetadata.java
index 2977eb60dc..a7066ffbb2 100644
--- a/jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBDatabaseMetadata.java
+++ b/jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBDatabaseMetadata.java
@@ -672,7 +672,7 @@ public class IoTDBDatabaseMetadata implements DatabaseMetaData {
   @Override
   public ResultSet getCatalogs() throws SQLException {
     Statement stmt = this.connection.createStatement();
-    ResultSet rs = stmt.executeQuery("SHOW STORAGE GROUP ");
+    ResultSet rs = stmt.executeQuery("SHOW DATABASES ");
 
     List<String> columnNameList = new ArrayList<>();
     List<String> columnTypeList = new ArrayList<>();
@@ -913,7 +913,7 @@ public class IoTDBDatabaseMetadata implements DatabaseMetaData {
   @Override
   public ResultSet getClientInfoProperties() throws SQLException {
     Statement stmt = this.connection.createStatement();
-    ResultSet rs = stmt.executeQuery("SHOW STORAGE GROUP ");
+    ResultSet rs = stmt.executeQuery("SHOW DATABASES ");
 
     Field[] fields = new Field[4];
     fields[0] = new Field("", "NAME", "TEXT");
@@ -966,7 +966,7 @@ public class IoTDBDatabaseMetadata implements DatabaseMetaData {
       throws SQLException {
     Statement stmt = this.connection.createStatement();
 
-    String sql = "SHOW STORAGE GROUP";
+    String sql = "SHOW DATABASES";
     if (catalog != null && catalog.length() > 0) {
       if (catalog.contains("%")) {
         catalog = catalog.replace("%", "*");
@@ -1912,7 +1912,7 @@ public class IoTDBDatabaseMetadata implements DatabaseMetaData {
   @Override
   public ResultSet getSchemas() throws SQLException {
     Statement stmt = this.connection.createStatement();
-    ResultSet rs = stmt.executeQuery("SHOW STORAGE GROUP ");
+    ResultSet rs = stmt.executeQuery("SHOW DATABASES ");
     Field[] fields = new Field[2];
     fields[0] = new Field("", "TABLE_SCHEM", "TEXT");
     fields[1] = new Field("", "TABLE_CATALOG", "TEXT");
@@ -2084,7 +2084,7 @@ public class IoTDBDatabaseMetadata implements DatabaseMetaData {
       throws SQLException {
     Statement stmt = this.connection.createStatement();
 
-    String sql = "SHOW STORAGE GROUP";
+    String sql = "SHOW DATABASES";
     if (catalog != null && catalog.length() > 0) {
       if (catalog.contains("%")) {
         catalog = catalog.replace("%", "*");
@@ -2225,7 +2225,7 @@ public class IoTDBDatabaseMetadata implements DatabaseMetaData {
       throws SQLException {
     Statement stmt = this.connection.createStatement();
 
-    String sql = "SHOW STORAGE GROUP";
+    String sql = "SHOW DATABASES";
     if (catalog != null && catalog.length() > 0) {
       if (catalog.contains("%")) {
         catalog = catalog.replace("%", "*");
diff --git a/jdbc/src/test/java/org/apache/iotdb/jdbc/BatchTest.java b/jdbc/src/test/java/org/apache/iotdb/jdbc/BatchTest.java
index c70017756d..6126815dab 100644
--- a/jdbc/src/test/java/org/apache/iotdb/jdbc/BatchTest.java
+++ b/jdbc/src/test/java/org/apache/iotdb/jdbc/BatchTest.java
@@ -94,7 +94,7 @@ public class BatchTest {
     resp.setSubStatus(resExpected);
 
     statement.clearBatch();
-    statement.addBatch("SET STORAGE GROUP TO root.ln.wf01.wt01");
+    statement.addBatch("CREATE DATABASE root.ln.wf01.wt01");
     statement.addBatch(
         "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN");
     statement.addBatch(
diff --git a/jdbc/src/test/java/org/apache/iotdb/jdbc/IoTDBDatabaseMetadataTest.java b/jdbc/src/test/java/org/apache/iotdb/jdbc/IoTDBDatabaseMetadataTest.java
index 029439e851..76174b4e88 100644
--- a/jdbc/src/test/java/org/apache/iotdb/jdbc/IoTDBDatabaseMetadataTest.java
+++ b/jdbc/src/test/java/org/apache/iotdb/jdbc/IoTDBDatabaseMetadataTest.java
@@ -115,7 +115,7 @@ public class IoTDBDatabaseMetadataTest {
     resp.setSubStatus(resExpected);
 
     statement.clearBatch();
-    statement.addBatch("SET STORAGE GROUP TO root.ln.wf01.wt01");
+    statement.addBatch("CREATE DATABASE root.ln.wf01.wt01");
     statement.addBatch(
         "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN");
     int[] result = statement.executeBatch();
diff --git a/jdbc/src/test/java/org/apache/iotdb/jdbc/IoTDBJDBCResultSetTest.java b/jdbc/src/test/java/org/apache/iotdb/jdbc/IoTDBJDBCResultSetTest.java
index e4437c9d0c..cb2e45bd75 100644
--- a/jdbc/src/test/java/org/apache/iotdb/jdbc/IoTDBJDBCResultSetTest.java
+++ b/jdbc/src/test/java/org/apache/iotdb/jdbc/IoTDBJDBCResultSetTest.java
@@ -63,7 +63,7 @@ import static org.mockito.Mockito.when;
    The test utilizes the mockito framework to mock responses from an IoTDB server.
    The status of the IoTDB server mocked here is determined by the following sql commands:
 
-   "SET STORAGE GROUP TO root.vehicle",
+   "CREATE DATABASE root.vehicle",
    "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
    "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
    "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/utils/IoTDBMetricsUtils.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/utils/IoTDBMetricsUtils.java
index 2112235c1e..5d36496538 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/utils/IoTDBMetricsUtils.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/utils/IoTDBMetricsUtils.java
@@ -66,7 +66,7 @@ public class IoTDBMetricsUtils {
 
   public static void checkOrCreateStorageGroup(SessionPool session) {
     try (SessionDataSetWrapper result =
-        session.executeQueryStatement("show storage group " + STORAGE_GROUP)) {
+        session.executeQueryStatement("SHOW DATABASES " + STORAGE_GROUP)) {
       if (!result.hasNext()) {
         session.setStorageGroup(STORAGE_GROUP);
       }
diff --git a/node-commons/src/assembly/resources/conf/iotdb-common.properties b/node-commons/src/assembly/resources/conf/iotdb-common.properties
index 6a894ffc8f..8b95d2977d 100644
--- a/node-commons/src/assembly/resources/conf/iotdb-common.properties
+++ b/node-commons/src/assembly/resources/conf/iotdb-common.properties
@@ -144,9 +144,9 @@
 # The parameter form is a:b:c:d, where a, b, c and d are integers. for example: 8:2 , 7:3
 # storage_engine_memory_proportion=8:2
 
-# Max number of concurrent writing time partitions in one storage group
+# Max number of concurrent writing time partitions in one database
 # This parameter is used to control total memTable number when memory control is disabled
-# The max number of memTable is 4 * concurrent_writing_time_partition * storage group number
+# The max number of memTable is 4 * concurrent_writing_time_partition * database number
 # Datatype: long
 # concurrent_writing_time_partition=1
 
@@ -243,14 +243,14 @@
 ####################
 
 # Whether creating schema automatically is enabled
-# If true, then create storage group and timeseries automatically when not exists in insertion
-# Or else, user need to create storage group and timeseries before insertion.
+# If true, then create database and timeseries automatically when not exists in insertion
+# Or else, user need to create database and timeseries before insertion.
 # Datatype: boolean
 # enable_auto_create_schema=true
 
 # Storage group level when creating schema automatically is enabled
 # e.g. root.sg0.d1.s2
-#      we will set root.sg0 as the storage group if storage group level is 1
+#      we will set root.sg0 as the database if database level is 1
 # Datatype: int
 # default_storage_group_level=1
 
@@ -381,9 +381,9 @@
 # Datatype: String
 # timestamp_precision=ms
 
-# Default TTL for storage groups that are not set TTL by statements, If not set (default),
+# Default TTL for databases that are not set TTL by statements, If not set (default),
 # the TTL will be unlimited.
-# Notice: if this property is changed, previous created storage group which are not set TTL will also be affected.
+# Notice: if this property is changed, previous created database which are not set TTL will also be affected.
 # data.
 # Datatype: long
 # Unit: ms
@@ -637,7 +637,7 @@
 # Max number of wal nodes, each node corresponds to one wal directory
 # The default value 0 means the number is determined by the system.
 # Notice: this value affects write performance significantly.
-# For non-SSD disks, values between one third and half of storage groups number are recommended.
+# For non-SSD disks, values between one third and half of databases number are recommended.
 # Datatype: int
 # max_wal_nodes_num=0
 
diff --git a/server/src/main/java/org/apache/iotdb/db/constant/TestConstant.java b/server/src/main/java/org/apache/iotdb/db/constant/TestConstant.java
index 4f83998eed..77c1546920 100644
--- a/server/src/main/java/org/apache/iotdb/db/constant/TestConstant.java
+++ b/server/src/main/java/org/apache/iotdb/db/constant/TestConstant.java
@@ -53,7 +53,7 @@ public class TestConstant {
 
   public static String[] createSql =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle",
+        "CREATE DATABASE root.vehicle",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/rewrite/RewriteCrossSpaceCompactionSelector.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/rewrite/RewriteCrossSpaceCompactionSelector.java
index fba0e10cfe..beaba02e08 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/rewrite/RewriteCrossSpaceCompactionSelector.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/rewrite/RewriteCrossSpaceCompactionSelector.java
@@ -358,8 +358,8 @@ public class RewriteCrossSpaceCompactionSelector implements ICrossSpaceSelector
   /**
    * This method creates a specific file selector according to the file selection strategy of
    * crossSpace compaction, uses the file selector to select all unseqFiles and seqFiles to be
-   * compacted under the time partition of the virtual storage group, and creates a compaction task
-   * for them. The task is put into the compactionTaskQueue of the {@link CompactionTaskManager}.
+   * compacted under the time partition of the data region, and creates a compaction task for them.
+   * The task is put into the compactionTaskQueue of the {@link CompactionTaskManager}.
    *
    * @return Returns whether the file was found and submits the merge task
    */
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/flush/MemTableFlushTask.java b/server/src/main/java/org/apache/iotdb/db/engine/flush/MemTableFlushTask.java
index 6e50754e16..c90729a2cb 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/flush/MemTableFlushTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/flush/MemTableFlushTask.java
@@ -77,7 +77,7 @@ public class MemTableFlushTask {
   /**
    * @param memTable the memTable to flush
    * @param writer the writer where memTable will be flushed to (current tsfile writer or vm writer)
-   * @param storageGroup current storage group
+   * @param storageGroup current database
    */
   public MemTableFlushTask(
       IMemTable memTable, RestorableTsFileIOWriter writer, String storageGroup) {
@@ -87,7 +87,7 @@ public class MemTableFlushTask {
     this.encodingTaskFuture = SUB_TASK_POOL_MANAGER.submit(encodingTask);
     this.ioTaskFuture = SUB_TASK_POOL_MANAGER.submit(ioTask);
     LOGGER.debug(
-        "flush task of Storage group {} memtable is created, flushing to file {}.",
+        "flush task of database {} memtable is created, flushing to file {}.",
         storageGroup,
         writer.getFile().getName());
   }
@@ -148,7 +148,7 @@ public class MemTableFlushTask {
     }
     encodingTaskQueue.put(new TaskEnd());
     LOGGER.debug(
-        "Storage group {} memtable flushing into file {}: data sort time cost {} ms.",
+        "Database {} memtable flushing into file {}: data sort time cost {} ms.",
         storageGroup,
         writer.getFile().getName(),
         sortTime);
@@ -185,7 +185,7 @@ public class MemTableFlushTask {
             "flush");
 
     LOGGER.info(
-        "Storage group {} memtable {} flushing a memtable has finished! Time consumption: {}ms",
+        "Database {} memtable {} flushing a memtable has finished! Time consumption: {}ms",
         storageGroup,
         memTable,
         System.currentTimeMillis() - start);
@@ -199,7 +199,7 @@ public class MemTableFlushTask {
         @Override
         public void run() {
           LOGGER.debug(
-              "Storage group {} memtable flushing to file {} starts to encoding data.",
+              "Database {} memtable flushing to file {} starts to encoding data.",
               storageGroup,
               writer.getFile().getName());
           while (true) {
@@ -219,7 +219,7 @@ public class MemTableFlushTask {
                   @SuppressWarnings("squid:S2142")
                   InterruptedException e) {
                 LOGGER.error(
-                    "Storage group {} memtable flushing to file {}, encoding task is interrupted.",
+                    "Database {} memtable flushing to file {}, encoding task is interrupted.",
                     storageGroup,
                     writer.getFile().getName(),
                     e);
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/dataregion/VirtualPartitioner.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/dataregion/VirtualPartitioner.java
index e1c66463e1..e7da7271da 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/dataregion/VirtualPartitioner.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/dataregion/VirtualPartitioner.java
@@ -23,7 +23,7 @@ import org.apache.iotdb.commons.path.PartialPath;
 public interface VirtualPartitioner {
 
   /**
-   * use device id to determine storage group id
+   * use device id to determine database id
    *
    * @param deviceId device id
    * @return data region id
diff --git a/server/src/main/java/org/apache/iotdb/db/exception/metadata/SchemaDirCreationFailureException.java b/server/src/main/java/org/apache/iotdb/db/exception/metadata/SchemaDirCreationFailureException.java
index eff365eb62..e3430d2133 100644
--- a/server/src/main/java/org/apache/iotdb/db/exception/metadata/SchemaDirCreationFailureException.java
+++ b/server/src/main/java/org/apache/iotdb/db/exception/metadata/SchemaDirCreationFailureException.java
@@ -23,6 +23,6 @@ import org.apache.iotdb.commons.exception.MetadataException;
 public class SchemaDirCreationFailureException extends MetadataException {
 
   public SchemaDirCreationFailureException(String dirPath) {
-    super(String.format("create storage group schema folder %s failed.", dirPath));
+    super(String.format("create database schema folder %s failed.", dirPath));
   }
 }
diff --git a/server/src/main/java/org/apache/iotdb/db/exception/metadata/StorageGroupAlreadySetException.java b/server/src/main/java/org/apache/iotdb/db/exception/metadata/StorageGroupAlreadySetException.java
index 19be4c077d..add26ca3a2 100644
--- a/server/src/main/java/org/apache/iotdb/db/exception/metadata/StorageGroupAlreadySetException.java
+++ b/server/src/main/java/org/apache/iotdb/db/exception/metadata/StorageGroupAlreadySetException.java
@@ -52,9 +52,9 @@ public class StorageGroupAlreadySetException extends MetadataException {
 
   private static String getMessage(String path, boolean hasChild) {
     if (hasChild) {
-      return String.format("some children of %s have already been set to storage group", path);
+      return String.format("some children of %s have already been set to database", path);
     } else {
-      return String.format("%s has already been set to storage group", path);
+      return String.format("%s has already been created as database", path);
     }
   }
 }
diff --git a/server/src/main/java/org/apache/iotdb/db/exception/metadata/StorageGroupNotSetException.java b/server/src/main/java/org/apache/iotdb/db/exception/metadata/StorageGroupNotSetException.java
index 57f9d82e05..4a0428fd87 100644
--- a/server/src/main/java/org/apache/iotdb/db/exception/metadata/StorageGroupNotSetException.java
+++ b/server/src/main/java/org/apache/iotdb/db/exception/metadata/StorageGroupNotSetException.java
@@ -27,12 +27,12 @@ public class StorageGroupNotSetException extends MetadataException {
   private static final long serialVersionUID = 3739300272099030533L;
 
   public StorageGroupNotSetException(String path) {
-    super(String.format("Storage group is not set for current seriesPath: [%s]", path));
+    super(String.format("Database is not set for current seriesPath: [%s]", path));
     this.errorCode = TSStatusCode.STORAGE_GROUP_NOT_EXIST.getStatusCode();
   }
 
   public StorageGroupNotSetException(String path, boolean isUserException) {
-    super(String.format("Storage group is not set for current seriesPath: [%s]", path));
+    super(String.format("Database is not set for current seriesPath: [%s]", path));
     this.isUserException = isUserException;
     this.errorCode = TSStatusCode.STORAGE_GROUP_NOT_EXIST.getStatusCode();
   }
@@ -40,6 +40,6 @@ public class StorageGroupNotSetException extends MetadataException {
   public StorageGroupNotSetException(String path, String reason) {
     super(
         String.format(
-            "Storage group is not set for current seriesPath: [%s], because %s", path, reason));
+            "Database is not set for current seriesPath: [%s], because %s", path, reason));
   }
 }
diff --git a/server/src/main/java/org/apache/iotdb/db/localconfignode/LocalConfigNode.java b/server/src/main/java/org/apache/iotdb/db/localconfignode/LocalConfigNode.java
index 998c900c02..30bac3a19c 100644
--- a/server/src/main/java/org/apache/iotdb/db/localconfignode/LocalConfigNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/localconfignode/LocalConfigNode.java
@@ -121,7 +121,7 @@ import java.util.stream.Collectors;
 
 /**
  * This class simulates the behaviour of configNode to manage the configs locally. The schema
- * configs include storage group, schema region and template. The data config is dataRegion.
+ * configs include database, schema region and template. The data config is dataRegion.
  */
 public class LocalConfigNode {
 
@@ -260,12 +260,12 @@ public class LocalConfigNode {
 
   // endregion
 
-  // region Interfaces for storage group management
+  // region Interfaces for database management
 
-  // region Interfaces for storage group write operation
+  // region Interfaces for database write operation
 
   /**
-   * Set storage group of the given path to MTree.
+   * CREATE DATABASE of the given path to MTree.
    *
    * @param storageGroup root.node.(node)*
    */
@@ -301,7 +301,7 @@ public class LocalConfigNode {
 
     schemaPartitionTable.deleteStorageGroup(storageGroup);
 
-    // delete storage group after all related resources have been cleared
+    // delete database after all related resources have been cleared
     storageGroupSchemaManager.deleteStorageGroup(storageGroup);
   }
 
@@ -313,12 +313,12 @@ public class LocalConfigNode {
 
     File sgDir = new File(config.getSchemaDir() + File.separator + storageGroup.getFullPath());
     if (sgDir.delete()) {
-      logger.info("delete storage group folder {}", sgDir.getAbsolutePath());
+      logger.info("delete database folder {}", sgDir.getAbsolutePath());
     } else {
       if (sgDir.exists()) {
-        logger.info("delete storage group folder {} failed.", sgDir.getAbsolutePath());
+        logger.info("delete database folder {} failed.", sgDir.getAbsolutePath());
         throw new MetadataException(
-            String.format("Failed to delete storage group folder %s", sgDir.getAbsolutePath()));
+            String.format("Failed to delete database folder %s", sgDir.getAbsolutePath()));
       }
     }
   }
@@ -330,7 +330,7 @@ public class LocalConfigNode {
   }
 
   /**
-   * Delete storage groups of given paths from MTree.
+   * Delete databases of given paths from MTree.
    *
    * @param storageGroups list of paths to be deleted.
    */
@@ -375,10 +375,10 @@ public class LocalConfigNode {
 
   // endregion
 
-  // region Interfaces for storage group info query
+  // region Interfaces for database info query
 
   /**
-   * Check if the given path is storage group or not.
+   * Check if the given path is database or not.
    *
    * @param path Format: root.node.(node)*
    */
@@ -386,16 +386,16 @@ public class LocalConfigNode {
     return storageGroupSchemaManager.isStorageGroup(path);
   }
 
-  /** Check whether the given path contains a storage group */
+  /** Check whether the given path contains a database */
   public boolean checkStorageGroupByPath(PartialPath path) {
     return storageGroupSchemaManager.checkStorageGroupByPath(path);
   }
 
   /**
-   * Check whether the storage group of given path is set. The path may be a prefix path of some
-   * storage group. Besides, the given path may be also beyond the MTreeAboveSG scope, then return
-   * true if the covered part exists, which means there's storage group on this path. The rest part
-   * will be checked by certain storage group subTree.
+   * Check whether the database of given path is set. The path may be a prefix path of some
+   * database. Besides, the given path may be also beyond the MTreeAboveSG scope, then return true
+   * if the covered part exists, which means there's database on this path. The rest part will be
+   * checked by certain database subTree.
    *
    * @param path a full path or a prefix path
    */
@@ -404,7 +404,7 @@ public class LocalConfigNode {
   }
 
   /**
-   * To calculate the count of storage group for given path pattern. If using prefix match, the path
+   * To calculate the count of database for given path pattern. If using prefix match, the path
    * pattern is used to match prefix path. All timeseries start with the matched prefix path will be
    * counted.
    */
@@ -414,26 +414,26 @@ public class LocalConfigNode {
   }
 
   /**
-   * Get storage group name by path
+   * Get database name by path
    *
-   * <p>e.g., root.sg1 is a storage group and path = root.sg1.d1, return root.sg1
+   * <p>e.g., root.sg1 is a database and path = root.sg1.d1, return root.sg1
    *
    * @param path only full path, cannot be path pattern
-   * @return storage group in the given path
+   * @return database in the given path
    */
   public PartialPath getBelongedStorageGroup(PartialPath path) throws StorageGroupNotSetException {
     return storageGroupSchemaManager.getBelongedStorageGroup(path);
   }
 
   /**
-   * Get the storage group that given path pattern matches or belongs to.
+   * Get the database that given path pattern matches or belongs to.
    *
    * <p>Suppose we have (root.sg1.d1.s1, root.sg2.d2.s2), refer the following cases: 1. given path
    * "root.sg1", ("root.sg1") will be returned. 2. given path "root.*", ("root.sg1", "root.sg2")
    * will be returned. 3. given path "root.*.d1.s1", ("root.sg1", "root.sg2") will be returned.
    *
    * @param pathPattern a path pattern or a full path
-   * @return a list contains all storage groups related to given path pattern
+   * @return a list contains all databases related to given path pattern
    */
   public List<PartialPath> getBelongedStorageGroups(PartialPath pathPattern)
       throws MetadataException {
@@ -441,37 +441,37 @@ public class LocalConfigNode {
   }
 
   /**
-   * Get all storage group matching given path pattern. If using prefix match, the path pattern is
-   * used to match prefix path. All timeseries start with the matched prefix path will be collected.
+   * Get all database matching given path pattern. If using prefix match, the path pattern is used
+   * to match prefix path. All timeseries start with the matched prefix path will be collected.
    *
    * @param pathPattern a pattern of a full path
    * @param isPrefixMatch if true, the path pattern is used to match prefix path
-   * @return A ArrayList instance which stores storage group paths matching given path pattern.
+   * @return A ArrayList instance which stores database paths matching given path pattern.
    */
   public List<PartialPath> getMatchedStorageGroups(PartialPath pathPattern, boolean isPrefixMatch)
       throws MetadataException {
     return storageGroupSchemaManager.getMatchedStorageGroups(pathPattern, isPrefixMatch);
   }
 
-  /** Get all storage group paths */
+  /** Get all database paths */
   public List<PartialPath> getAllStorageGroupPaths() {
     return storageGroupSchemaManager.getAllStorageGroupPaths();
   }
 
   /**
-   * For a path, infer all storage groups it may belong to. The path can have wildcards. Resolve the
-   * path or path pattern into StorageGroupName-FullPath pairs that FullPath matches the given path.
+   * For a path, infer all databases it may belong to. The path can have wildcards. Resolve the path
+   * or path pattern into StorageGroupName-FullPath pairs that FullPath matches the given path.
    *
-   * <p>Consider the path into two parts: (1) the sub path which can not contain a storage group
-   * name and (2) the sub path which is substring that begin after the storage group name.
+   * <p>Consider the path into two parts: (1) the sub path which can not contain a database name and
+   * (2) the sub path which is substring that begin after the database name.
    *
-   * <p>(1) Suppose the part of the path can not contain a storage group name (e.g.,
+   * <p>(1) Suppose the part of the path can not contain a database name (e.g.,
    * "root".contains("root.sg") == false), then: For each one level wildcard *, only one level will
    * be inferred and the wildcard will be removed. For each multi level wildcard **, then the
-   * inference will go on until the storage groups are found and the wildcard will be kept. (2)
-   * Suppose the part of the path is a substring that begin after the storage group name. (e.g., For
-   * "root.*.sg1.a.*.b.*" and "root.x.sg1" is a storage group, then this part is "a.*.b.*"). For
-   * this part, keep what it is.
+   * inference will go on until the databases are found and the wildcard will be kept. (2) Suppose
+   * the part of the path is a substring that begin after the database name. (e.g., For
+   * "root.*.sg1.a.*.b.*" and "root.x.sg1" is a database, then this part is "a.*.b.*"). For this
+   * part, keep what it is.
    *
    * <p>Assuming we have three SGs: root.group1, root.group2, root.area1.group3 Eg1: for input
    * "root.**", returns ("root.group1", "root.group1.**"), ("root.group2", "root.group2.**")
@@ -489,7 +489,7 @@ public class LocalConfigNode {
     Map<String, List<PartialPath>> sgPathMap =
         storageGroupSchemaManager.groupPathByStorageGroup(path);
     if (logger.isDebugEnabled()) {
-      logger.debug("The storage groups of path {} are {}", path, sgPathMap.keySet());
+      logger.debug("The databases of path {} are {}", path, sgPathMap.keySet());
     }
     return sgPathMap;
   }
@@ -510,9 +510,9 @@ public class LocalConfigNode {
   /**
    * To collect nodes in the given level for given path pattern. If using prefix match, the path
    * pattern is used to match prefix path. All nodes start with the matched prefix path will be
-   * collected. This method only count in nodes above storage group. Nodes below storage group,
-   * including storage group node will be collected by certain SchemaRegion. The involved storage
-   * groups will be collected to fetch schemaRegion.
+   * collected. This method only count in nodes above database. Nodes below database, including
+   * database node will be collected by certain SchemaRegion. The involved storage groups will be
+   * collected to fetch schemaRegion.
    *
    * @param pathPattern a path pattern or a full path
    * @param nodeLevel the level should match the level of the path
@@ -530,8 +530,8 @@ public class LocalConfigNode {
 
   /**
    * Get child node path in the next level of the given path pattern. This method only count in
-   * nodes above storage group. Nodes below storage group, including storage group node will be
-   * counted by certain Storage Group.
+   * nodes above database. Nodes below database, including database node will be counted by certain
+   * database.
    *
    * <p>give pathPattern and the child nodes is those matching pathPattern.*
    *
@@ -548,8 +548,8 @@ public class LocalConfigNode {
 
   /**
    * Get child node path in the next level of the given path pattern. This method only count in
-   * nodes above storage group. Nodes below storage group, including storage group node will be
-   * counted by certain Storage Group.
+   * nodes above database. Nodes below database, including database node will be counted by certain
+   * database.
    *
    * <p>give pathPattern and the child nodes is those matching pathPattern.*
    *
@@ -568,14 +568,14 @@ public class LocalConfigNode {
 
   // region Interfaces for StorageGroupMNode Query
 
-  /** Get storage group node by path. the give path don't need to be storage group path. */
+  /** Get database node by path. the give path don't need to be database path. */
   public IStorageGroupMNode getStorageGroupNodeByPath(PartialPath path) throws MetadataException {
-    // used for storage engine auto create storage group
+    // used for storage engine auto create database
     ensureStorageGroup(path);
     return storageGroupSchemaManager.getStorageGroupNodeByPath(path);
   }
 
-  /** Get all storage group MNodes */
+  /** Get all database MNodes */
   public List<IStorageGroupMNode> getAllStorageGroupNodes() {
     return storageGroupSchemaManager.getAllStorageGroupNodes();
   }
@@ -589,9 +589,8 @@ public class LocalConfigNode {
   /**
    * Get the target SchemaRegionIds, which the given path belongs to. The path must be a fullPath
    * without wildcards, * or **. This method is the first step when there's a task on one certain
-   * path, e.g., root.sg1 is a storage group and path = root.sg1.d1, return SchemaRegionId of
-   * root.sg1. If there's no storage group on the given path, StorageGroupNotSetException will be
-   * thrown.
+   * path, e.g., root.sg1 is a database and path = root.sg1.d1, return SchemaRegionId of root.sg1.
+   * If there's no database on the given path, StorageGroupNotSetException will be thrown.
    */
   public SchemaRegionId getBelongedSchemaRegionId(PartialPath path) throws MetadataException {
     PartialPath storageGroup = storageGroupSchemaManager.getBelongedStorageGroup(path);
@@ -608,20 +607,20 @@ public class LocalConfigNode {
     if (schemaRegionId == null) {
       throw new MetadataException(
           String.format(
-              "Storage group %s has not been prepared well. Schema region for %s has not been allocated or is not initialized.",
+              "database %s has not been prepared well. Schema region for %s has not been allocated or is not initialized.",
               storageGroup, path));
     }
     ISchemaRegion schemaRegion = schemaEngine.getSchemaRegion(schemaRegionId);
     if (schemaRegion == null) {
       throw new MetadataException(
           String.format(
-              "Storage group [%s] has not been prepared well. Schema region [%s] is not initialized.",
+              "database [%s] has not been prepared well. Schema region [%s] is not initialized.",
               storageGroup, schemaRegionId));
     }
     return schemaRegionId;
   }
 
-  // This interface involves storage group and schema region auto creation
+  // This interface involves database and schema region auto creation
   public SchemaRegionId getBelongedSchemaRegionIdWithAutoCreate(PartialPath path)
       throws MetadataException {
     PartialPath storageGroup = ensureStorageGroup(path);
@@ -640,8 +639,8 @@ public class LocalConfigNode {
   /**
    * Get the target SchemaRegionIds, which will be involved/covered by the given pathPattern. The
    * path may contain wildcards, * or **. This method is the first step when there's a task on
-   * multiple paths represented by the given pathPattern. If isPrefixMatch, all storage groups under
-   * the prefixPath that matches the given pathPattern will be collected.
+   * multiple paths represented by the given pathPattern. If isPrefixMatch, all databases under the
+   * prefixPath that matches the given pathPattern will be collected.
    */
   public List<SchemaRegionId> getInvolvedSchemaRegionIds(
       PartialPath pathPattern, boolean isPrefixMatch) throws MetadataException {
@@ -848,9 +847,8 @@ public class LocalConfigNode {
   /**
    * Get the target DataRegionIds, which the given path belongs to. The path must be a fullPath
    * without wildcards, * or **. This method is the first step when there's a task on one certain
-   * path, e.g., root.sg1 is a storage group and path = root.sg1.d1, return DataRegionId of
-   * root.sg1. If there's no storage group on the given path, StorageGroupNotSetException will be
-   * thrown.
+   * path, e.g., root.sg1 is a database and path = root.sg1.d1, return DataRegionId of root.sg1. If
+   * there's no database on the given path, StorageGroupNotSetException will be thrown.
    */
   public DataRegionId getBelongedDataRegionId(PartialPath path)
       throws MetadataException, DataRegionException {
@@ -863,13 +861,13 @@ public class LocalConfigNode {
     if (dataRegion == null) {
       throw new DataRegionException(
           String.format(
-              "Storage group %s has not been prepared well. Data region for %s is not initialized.",
+              "Database %s has not been prepared well. Data region for %s is not initialized.",
               storageGroup, path));
     }
     return dataRegionId;
   }
 
-  // This interface involves storage group and data region auto creation
+  // This interface involves database and data region auto creation
   public DataRegionId getBelongedDataRegionIdWithAutoCreate(PartialPath devicePath)
       throws MetadataException, DataRegionException {
     PartialPath storageGroup = storageGroupSchemaManager.getBelongedStorageGroup(devicePath);
diff --git a/server/src/main/java/org/apache/iotdb/db/localconfignode/LocalDataPartitionInfo.java b/server/src/main/java/org/apache/iotdb/db/localconfignode/LocalDataPartitionInfo.java
index 0802bfc4d8..25cb703e98 100644
--- a/server/src/main/java/org/apache/iotdb/db/localconfignode/LocalDataPartitionInfo.java
+++ b/server/src/main/java/org/apache/iotdb/db/localconfignode/LocalDataPartitionInfo.java
@@ -28,7 +28,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
-// This class is used for data partition maintaining the map between storage group and
+// This class is used for data partition maintaining the map between database and
 // dataRegionIds.
 public class LocalDataPartitionInfo {
 
@@ -77,7 +77,7 @@ public class LocalDataPartitionInfo {
    * Try to allocate a data region for the new time partition slot. This function will try to create
    * new data region to make expansion if the existing data regions meet some condition.
    *
-   * @param storageGroup The path for the storage group.
+   * @param storageGroup The path for the database.
    * @param path The full path for the series.
    * @return The data region id for the time partition slot.
    */
diff --git a/server/src/main/java/org/apache/iotdb/db/localconfignode/LocalDataPartitionTable.java b/server/src/main/java/org/apache/iotdb/db/localconfignode/LocalDataPartitionTable.java
index 7e0455207b..18c03c05fe 100644
--- a/server/src/main/java/org/apache/iotdb/db/localconfignode/LocalDataPartitionTable.java
+++ b/server/src/main/java/org/apache/iotdb/db/localconfignode/LocalDataPartitionTable.java
@@ -69,7 +69,7 @@ public class LocalDataPartitionTable {
   }
 
   /**
-   * Get all data region id of current storage group
+   * Get all data region id of current database
    *
    * @return data region id in list
    */
diff --git a/server/src/main/java/org/apache/iotdb/db/localconfignode/LocalSchemaPartitionTable.java b/server/src/main/java/org/apache/iotdb/db/localconfignode/LocalSchemaPartitionTable.java
index 0044178875..b1bdd10ac1 100644
--- a/server/src/main/java/org/apache/iotdb/db/localconfignode/LocalSchemaPartitionTable.java
+++ b/server/src/main/java/org/apache/iotdb/db/localconfignode/LocalSchemaPartitionTable.java
@@ -30,7 +30,7 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.atomic.AtomicInteger;
 
-// This class is used for schema partition maintaining the map between storage group and
+// This class is used for schema partition maintaining the map between database and
 // schemaRegionIds.
 public class LocalSchemaPartitionTable {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/LocalSchemaProcessor.java b/server/src/main/java/org/apache/iotdb/db/metadata/LocalSchemaProcessor.java
index 273c4a179a..4a14505a87 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/LocalSchemaProcessor.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/LocalSchemaProcessor.java
@@ -395,7 +395,7 @@ public class LocalSchemaProcessor {
   // including sg set and delete, and ttl set
 
   /**
-   * Set storage group of the given path to MTree.
+   * CREATE DATABASE of the given path to MTree.
    *
    * @param storageGroup root.node.(node)*
    */
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/idtable/AppendOnlyDiskSchemaManager.java b/server/src/main/java/org/apache/iotdb/db/metadata/idtable/AppendOnlyDiskSchemaManager.java
index 7856444791..126c7a0d29 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/idtable/AppendOnlyDiskSchemaManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/idtable/AppendOnlyDiskSchemaManager.java
@@ -80,8 +80,7 @@ public class AppendOnlyDiskSchemaManager implements IDiskSchemaManager {
     // create dirs
     if (dir.mkdirs()) {
       logger.info(
-          "ID table create storage group system dir {} doesn't exist, create it",
-          dir.getParentFile());
+          "ID table create database system dir {} doesn't exist, create it", dir.getParentFile());
     }
 
     dataFile = new File(dir, FILE_NAME);
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/idtable/IDTableHashmapImpl.java b/server/src/main/java/org/apache/iotdb/db/metadata/idtable/IDTableHashmapImpl.java
index 5880cb7c28..7a402716fe 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/idtable/IDTableHashmapImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/idtable/IDTableHashmapImpl.java
@@ -56,7 +56,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-/** id table belongs to a storage group and mapping timeseries path to it's schema */
+/** id table belongs to a database and mapping timeseries path to it's schema */
 public class IDTableHashmapImpl implements IDTable {
 
   // number of table slot
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/idtable/IDTableManager.java b/server/src/main/java/org/apache/iotdb/db/metadata/idtable/IDTableManager.java
index f60e18812a..675552e618 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/idtable/IDTableManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/idtable/IDTableManager.java
@@ -34,13 +34,13 @@ import java.io.File;
 import java.io.IOException;
 import java.util.HashMap;
 
-/** This class manages one id table for each logical storage group */
+/** This class manages one id table for each logical database */
 public class IDTableManager {
 
   /** logger */
   Logger logger = LoggerFactory.getLogger(IDTableManager.class);
 
-  /** storage group path -> id table */
+  /** database path -> id table */
   HashMap<String, IDTable> idTableMap;
 
   /** system dir */
@@ -76,7 +76,7 @@ public class IDTableManager {
    * get id table by device path
    *
    * @param devicePath device path
-   * @return id table belongs to path's storage group
+   * @return id table belongs to path's database
    */
   public synchronized IDTable getIDTable(PartialPath devicePath) {
     try {
@@ -94,10 +94,10 @@ public class IDTableManager {
   }
 
   /**
-   * get id table by storage group path
+   * get id table by database path
    *
-   * @param sgPath storage group path
-   * @return id table belongs to path's storage group
+   * @param sgPath database path
+   * @return id table belongs to path's database
    */
   public synchronized IDTable getIDTableDirectly(String sgPath) {
     return idTableMap.computeIfAbsent(
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/ConfigMTree.java b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/ConfigMTree.java
index d900a82659..d35e30541a 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/ConfigMTree.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/ConfigMTree.java
@@ -93,10 +93,10 @@ public class ConfigMTree {
     }
   }
 
-  // region Storage Group Management
+  // region database Management
 
   /**
-   * Set storage group. Make sure check seriesPath before setting storage group
+   * CREATE DATABASE. Make sure check seriesPath before setting database
    *
    * @param path path
    */
@@ -114,7 +114,7 @@ public class ConfigMTree {
       if (temp == null) {
         cur.addChild(nodeNames[i], new InternalMNode(cur, nodeNames[i]));
       } else if (temp.isStorageGroup()) {
-        // before set storage group, check whether the storage group already exists
+        // before create database, check whether the database already exists
         throw new StorageGroupAlreadySetException(temp.getFullPath());
       }
       cur = cur.getChild(nodeNames[i]);
@@ -145,12 +145,12 @@ public class ConfigMTree {
     }
   }
 
-  /** Delete a storage group */
+  /** Delete a database */
   public void deleteStorageGroup(PartialPath path) throws MetadataException {
     IStorageGroupMNode storageGroupMNode = getStorageGroupNodeByStorageGroupPath(path);
     IMNode cur = storageGroupMNode.getParent();
     // Suppose current system has root.a.b.sg1, root.a.sg2, and delete root.a.b.sg1
-    // delete the storage group node sg1
+    // delete the database node sg1
     cur.deleteChild(storageGroupMNode.getName());
 
     // delete node a while retain root.a.sg2
@@ -161,10 +161,10 @@ public class ConfigMTree {
   }
 
   /**
-   * Check whether path is storage group or not
+   * Check whether path is database or not
    *
    * <p>e.g., path = root.a.b.sg. if nor a and b is StorageGroupMNode and sg is a StorageGroupMNode
-   * path is a storage group
+   * path is a database
    *
    * @param path path
    * @apiNote :for cluster
@@ -187,7 +187,7 @@ public class ConfigMTree {
     return cur != null && cur.isStorageGroup();
   }
 
-  /** Check whether the given path contains a storage group */
+  /** Check whether the given path contains a database */
   public boolean checkStorageGroupByPath(PartialPath path) {
     String[] nodes = path.getNodes();
     IMNode cur = root;
@@ -203,11 +203,11 @@ public class ConfigMTree {
   }
 
   /**
-   * Get storage group path by path
+   * Get database path by path
    *
-   * <p>e.g., root.sg1 is storage group, path is root.sg1.d1, return root.sg1
+   * <p>e.g., root.sg1 is database, path is root.sg1.d1, return root.sg1
    *
-   * @return storage group in the given path
+   * @return database in the given path
    */
   public PartialPath getBelongedStorageGroup(PartialPath path) throws StorageGroupNotSetException {
     String[] nodes = path.getNodes();
@@ -224,14 +224,14 @@ public class ConfigMTree {
   }
 
   /**
-   * Get the storage group that given path pattern matches or belongs to.
+   * Get the database that given path pattern matches or belongs to.
    *
    * <p>Suppose we have (root.sg1.d1.s1, root.sg2.d2.s2), refer the following cases: 1. given path
    * "root.sg1", ("root.sg1") will be returned. 2. given path "root.*", ("root.sg1", "root.sg2")
    * will be returned. 3. given path "root.*.d1.s1", ("root.sg1", "root.sg2") will be returned.
    *
    * @param pathPattern a path pattern or a full path
-   * @return a list contains all storage groups related to given path
+   * @return a list contains all databases related to given path
    */
   public List<PartialPath> getBelongedStorageGroups(PartialPath pathPattern)
       throws MetadataException {
@@ -239,13 +239,13 @@ public class ConfigMTree {
   }
 
   /**
-   * Get all storage group that the given path pattern matches. If using prefix match, the path
-   * pattern is used to match prefix path. All timeseries start with the matched prefix path will be
+   * Get all database that the given path pattern matches. If using prefix match, the path pattern
+   * is used to match prefix path. All timeseries start with the matched prefix path will be
    * collected.
    *
    * @param pathPattern a path pattern or a full path
    * @param isPrefixMatch if true, the path pattern is used to match prefix path
-   * @return a list contains all storage group names under given path pattern
+   * @return a list contains all database names under given path pattern
    */
   public List<PartialPath> getMatchedStorageGroups(PartialPath pathPattern, boolean isPrefixMatch)
       throws MetadataException {
@@ -270,9 +270,9 @@ public class ConfigMTree {
   }
 
   /**
-   * Get all storage group names
+   * Get all database names
    *
-   * @return a list contains all distinct storage groups
+   * @return a list contains all distinct databases
    */
   public List<PartialPath> getAllStorageGroupPaths() {
     List<PartialPath> res = new ArrayList<>();
@@ -291,7 +291,7 @@ public class ConfigMTree {
 
   /**
    * Resolve the path or path pattern into StorageGroupName-FullPath pairs. Try determining the
-   * storage group using the children of a mNode. If one child is a storage group node, put a
+   * database using the children of a mNode. If one child is a database node, put a
    * storageGroupName-fullPath pair into paths.
    */
   public Map<String, List<PartialPath>> groupPathByStorageGroup(PartialPath path)
@@ -311,9 +311,8 @@ public class ConfigMTree {
   }
 
   /**
-   * Get the count of storage group matching the given path. If using prefix match, the path pattern
-   * is used to match prefix path. All timeseries start with the matched prefix path will be
-   * counted.
+   * Get the count of database matching the given path. If using prefix match, the path pattern is
+   * used to match prefix path. All timeseries start with the matched prefix path will be counted.
    *
    * @param pathPattern a path pattern or a full path, may contain wildcard.
    * @param isPrefixMatch if true, the path pattern is used to match prefix path
@@ -327,8 +326,7 @@ public class ConfigMTree {
   }
 
   /**
-   * E.g., root.sg is storage group given [root, sg], if the give path is not a storage group, throw
-   * exception
+   * E.g., root.sg is database given [root, sg], if the give path is not a database, throw exception
    */
   public IStorageGroupMNode getStorageGroupNodeByStorageGroupPath(PartialPath storageGroupPath)
       throws MetadataException {
@@ -359,9 +357,9 @@ public class ConfigMTree {
   }
 
   /**
-   * E.g., root.sg is storage group given [root, sg], return the MNode of root.sg given [root, sg,
-   * device], return the MNode of root.sg Get storage group node, the give path don't need to be
-   * storage group path.
+   * E.g., root.sg is database given [root, sg], return the MNode of root.sg given [root, sg,
+   * device], return the MNode of root.sg Get database node, the give path don't need to be database
+   * path.
    */
   public IStorageGroupMNode getStorageGroupNodeByPath(PartialPath path) throws MetadataException {
     String[] nodes = path.getNodes();
@@ -397,7 +395,7 @@ public class ConfigMTree {
     return result;
   }
 
-  /** Get all storage group MNodes */
+  /** Get all database MNodes */
   public List<IStorageGroupMNode> getAllStorageGroupNodes() {
     List<IStorageGroupMNode> ret = new ArrayList<>();
     Deque<IMNode> nodeStack = new ArrayDeque<>();
@@ -414,8 +412,8 @@ public class ConfigMTree {
   }
 
   /**
-   * Check whether the storage group of given path exists. The given path may be a prefix path of
-   * existing storage group.
+   * Check whether the database of given path exists. The given path may be a prefix path of
+   * existing database.
    *
    * @param path a full path or a prefix path
    */
@@ -438,8 +436,8 @@ public class ConfigMTree {
   }
 
   /**
-   * Check whether the storage group of given path exists. The given path may be a prefix path of
-   * existing storage group. if exists will throw MetaException.
+   * Check whether the database of given path exists. The given path may be a prefix path of
+   * existing database. if exists will throw MetaException.
    *
    * @param path a full path or a prefix path
    */
@@ -515,8 +513,8 @@ public class ConfigMTree {
 
   /**
    * Get child node path in the next level of the given path pattern. This method only count in
-   * nodes above storage group. Nodes below storage group, including storage group node will be
-   * counted by certain MTreeBelowSG.
+   * nodes above database. Nodes below database, including database node will be counted by certain
+   * MTreeBelowSG.
    *
    * <p>give pathPattern and the child nodes is those matching pathPattern.*
    *
@@ -551,8 +549,8 @@ public class ConfigMTree {
 
   /**
    * Get child node path in the next level of the given path pattern. This method only count in
-   * nodes above storage group. Nodes below storage group, including storage group node will be
-   * counted by certain MTreeBelowSG.
+   * nodes above database. Nodes below database, including database node will be counted by certain
+   * MTreeBelowSG.
    *
    * <p>give pathPattern and the child nodes is those matching pathPattern.*
    *
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGCachedImpl.java b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGCachedImpl.java
index a60d136556..b544c36d19 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGCachedImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGCachedImpl.java
@@ -162,7 +162,7 @@ public class MTreeBelowSGCachedImpl implements IMTreeBelowSG {
 
   /**
    * Create a timeseries with a full path from root to leaf node. Before creating a timeseries, the
-   * storage group should be set first, throw exception otherwise
+   * database should be set first, throw exception otherwise
    *
    * @param path timeseries path
    * @param dataType data type
@@ -258,7 +258,7 @@ public class MTreeBelowSGCachedImpl implements IMTreeBelowSG {
 
   /**
    * Create aligned timeseries with full paths from root to one leaf node. Before creating
-   * timeseries, the * storage group should be set first, throw exception otherwise
+   * timeseries, the * database should be set first, throw exception otherwise
    *
    * @param devicePath device path
    * @param measurements measurements list
@@ -553,9 +553,9 @@ public class MTreeBelowSGCachedImpl implements IMTreeBelowSG {
       }
     }
 
-    // delete all empty ancestors except storage group and MeasurementMNode
+    // delete all empty ancestors except database and MeasurementMNode
     while (isEmptyInternalMNode(curNode)) {
-      // if current storage group has no time series, return the storage group name
+      // if current database has no time series, return the database name
       if (curNode.isStorageGroup()) {
         return curNode.getPartialPath();
       }
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/traverser/collector/MNodeCollector.java b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/traverser/collector/MNodeCollector.java
index f748631d55..aa70be9b3e 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/traverser/collector/MNodeCollector.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/traverser/collector/MNodeCollector.java
@@ -37,7 +37,7 @@ import java.util.Set;
  */
 public abstract class MNodeCollector<T> extends CollectorTraverser<T> {
 
-  // traverse for specific storage group
+  // traverse for specific database
   protected StorageGroupFilter storageGroupFilter = null;
 
   // level query option
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/ISchemaRegion.java b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/ISchemaRegion.java
index e0319ee600..c18b1c59be 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/ISchemaRegion.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/ISchemaRegion.java
@@ -275,7 +275,7 @@ public interface ISchemaRegion {
       throws MetadataException;
 
   /**
-   * Get all device paths and according storage group paths as ShowDevicesResult.
+   * Get all device paths and according database paths as ShowDevicesResult.
    *
    * @param plan ShowDevicesPlan which contains the path pattern and restriction params.
    * @return ShowDevicesResult and the current offset of this region after traverse.
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaEngine.java b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaEngine.java
index 9e90744995..dcf9baac96 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaEngine.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaEngine.java
@@ -146,7 +146,7 @@ public class SchemaEngine {
   }
 
   /**
-   * Scan the storage group and schema region directories to recover schema regions and return the
+   * Scan the database and schema region directories to recover schema regions and return the
    * collected local schema partition info for localSchemaPartitionTable recovery.
    */
   private Map<PartialPath, List<SchemaRegionId>> initSchemaRegion() throws MetadataException {
@@ -284,7 +284,7 @@ public class SchemaEngine {
     return () -> {
       long timeRecord = System.currentTimeMillis();
       try {
-        // TODO: handle duplicated regionId across different storage group
+        // TODO: handle duplicated regionId across different database
         ISchemaRegion schemaRegion =
             createSchemaRegionWithoutExistenceCheck(storageGroup, schemaRegionId);
         timeRecord = System.currentTimeMillis() - timeRecord;
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionSchemaFileImpl.java b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionSchemaFileImpl.java
index a606f26f97..0f4571e039 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionSchemaFileImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionSchemaFileImpl.java
@@ -231,10 +231,10 @@ public class SchemaRegionSchemaFileImpl implements ISchemaRegion {
     File sgSchemaFolder = SystemFileFactory.INSTANCE.getFile(sgDirPath);
     if (!sgSchemaFolder.exists()) {
       if (sgSchemaFolder.mkdirs()) {
-        logger.info("create storage group schema folder {}", sgDirPath);
+        logger.info("create database schema folder {}", sgDirPath);
       } else {
         if (!sgSchemaFolder.exists()) {
-          logger.error("create storage group schema folder {} failed.", sgDirPath);
+          logger.error("create database schema folder {} failed.", sgDirPath);
           throw new SchemaDirCreationFailureException(sgDirPath);
         }
       }
@@ -1145,7 +1145,7 @@ public class SchemaRegionSchemaFileImpl implements ISchemaRegion {
   }
 
   /**
-   * Get all device paths and according storage group paths as ShowDevicesResult.
+   * Get all device paths and according database paths as ShowDevicesResult.
    *
    * @param plan ShowDevicesPlan which contains the path pattern and restriction params.
    * @return ShowDevicesResult and the current offset of this region after traverse.
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/storagegroup/IStorageGroupSchemaManager.java b/server/src/main/java/org/apache/iotdb/db/metadata/storagegroup/IStorageGroupSchemaManager.java
index 050854f1f2..8ccbe25433 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/storagegroup/IStorageGroupSchemaManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/storagegroup/IStorageGroupSchemaManager.java
@@ -31,7 +31,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-// This class declares all the interfaces for storage group management.
+// This class declares all the interfaces for database management.
 public interface IStorageGroupSchemaManager {
 
   void init() throws MetadataException, IOException;
@@ -41,37 +41,35 @@ public interface IStorageGroupSchemaManager {
   void clear() throws IOException;
 
   /**
-   * Set storage group of the given path to MTree.
+   * create database of the given path to MTree.
    *
-   * @param path storage group path
+   * @param path database path
    */
   void setStorageGroup(PartialPath path) throws MetadataException;
 
-  /**
-   * Delete storage groups of given paths from MTree. Log format: "delete_storage_group,sg1,sg2,sg3"
-   */
+  /** Delete databases of given paths from MTree. Log format: "delete_storage_group,sg1,sg2,sg3" */
   void deleteStorageGroup(PartialPath storageGroup) throws MetadataException;
 
   void setTTL(PartialPath storageGroup, long dataTTL) throws MetadataException, IOException;
 
-  /** Check if the given path is storage group or not. */
+  /** Check if the given path is database or not. */
   boolean isStorageGroup(PartialPath path);
 
-  /** Check whether the given path contains a storage group */
+  /** Check whether the given path contains a database */
   boolean checkStorageGroupByPath(PartialPath path);
 
   /**
-   * Get storage group name by path
+   * Get database name by path
    *
-   * <p>e.g., root.sg1 is a storage group and path = root.sg1.d1, return root.sg1
+   * <p>e.g., root.sg1 is a database and path = root.sg1.d1, return root.sg1
    *
    * @param path only full path, cannot be path pattern
-   * @return storage group in the given path
+   * @return database in the given path
    */
   PartialPath getBelongedStorageGroup(PartialPath path) throws StorageGroupNotSetException;
 
   /**
-   * Get the storage group that given path pattern matches or belongs to.
+   * Get the database that given path pattern matches or belongs to.
    *
    * <p>Suppose we have (root.sg1.d1.s1, root.sg2.d2.s2), refer the following cases: 1. given path
    * "root.sg1", ("root.sg1") will be returned. 2. given path "root.*", ("root.sg1", "root.sg2")
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/storagegroup/StorageGroupSchemaManager.java b/server/src/main/java/org/apache/iotdb/db/metadata/storagegroup/StorageGroupSchemaManager.java
index 3883a913aa..6dd78225fb 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/storagegroup/StorageGroupSchemaManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/storagegroup/StorageGroupSchemaManager.java
@@ -46,8 +46,8 @@ import java.util.Set;
 
 import static org.apache.iotdb.db.metadata.MetadataConstant.STORAGE_GROUP_LOG;
 
-// This class implements all the interfaces for storage group management. The MTreeAboveSg is used
-// to manage all the storage groups and MNodes above storage group.
+// This class implements all the interfaces for database management. The MTreeAboveSg is used
+// to manage all the databases and MNodes above database.
 public class StorageGroupSchemaManager implements IStorageGroupSchemaManager {
 
   private static final Logger logger = LoggerFactory.getLogger(StorageGroupSchemaManager.class);
@@ -112,7 +112,7 @@ public class StorageGroupSchemaManager implements IStorageGroupSchemaManager {
               logger.error("Unrecognizable command {}", plan.getOperatorType());
           }
         } catch (MetadataException | IOException e) {
-          logger.error("Error occurred while redo storage group log", e);
+          logger.error("Error occurred while redo database log", e);
         }
       }
     }
@@ -123,7 +123,7 @@ public class StorageGroupSchemaManager implements IStorageGroupSchemaManager {
     try {
       logWriter.force();
     } catch (IOException e) {
-      logger.error("Cannot force storage group log", e);
+      logger.error("Cannot force database log", e);
     }
   }
 
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/upgrade/MetadataUpgrader.java b/server/src/main/java/org/apache/iotdb/db/metadata/upgrade/MetadataUpgrader.java
index c17d8f7ac9..1845e61d61 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/upgrade/MetadataUpgrader.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/upgrade/MetadataUpgrader.java
@@ -101,13 +101,13 @@ public class MetadataUpgrader {
    * </ol>
    *
    * <p>The purpose of upgrader is to recover metadata from the existing files and split and store
-   * them into files in certain storage group dirs. The upgrader will execute the following steps in
+   * them into files in certain database dirs. The upgrader will execute the following steps in
    * order:
    *
    * <ol>
    *   <li>Deserialize the snapshot and recover the MRTree into memory
-   *   <li>Try set storage group based on the recovered StorageGroupMNodes and create timeseries
-   *       based on the recovered MeasurementMNode
+   *   <li>Try create database based on the recovered StorageGroupMNodes and create timeseries based
+   *       on the recovered MeasurementMNode
    *   <li>Redo the mlog
    *   <li>rename and backup the files in the same directory, the order is:
    *       <ol>
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/common/schematree/ISchemaTree.java b/server/src/main/java/org/apache/iotdb/db/mpp/common/schematree/ISchemaTree.java
index 500319c6fa..acd383286a 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/common/schematree/ISchemaTree.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/common/schematree/ISchemaTree.java
@@ -53,12 +53,12 @@ public interface ISchemaTree {
   DeviceSchemaInfo searchDeviceSchemaInfo(PartialPath devicePath, List<String> measurements);
 
   /**
-   * Get storage group name by path
+   * Get database name by path
    *
-   * <p>e.g., root.sg1 is a storage group and path = root.sg1.d1, return root.sg1
+   * <p>e.g., root.sg1 is a database and path = root.sg1.d1, return root.sg1
    *
    * @param pathName only full path, cannot be path pattern
-   * @return storage group in the given path
+   * @return database in the given path
    */
   String getBelongedStorageGroup(String pathName);
 
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaFetchMergeOperator.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaFetchMergeOperator.java
index 96ff8cbc11..07a531e80c 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaFetchMergeOperator.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaFetchMergeOperator.java
@@ -107,7 +107,7 @@ public class SchemaFetchMergeOperator implements ProcessOperator {
   private TsBlock generateStorageGroupInfo() {
     ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
     try {
-      // to indicate this binary data is storage group info
+      // to indicate this binary data is database info
       ReadWriteIOUtils.write((byte) 0, outputStream);
 
       ReadWriteIOUtils.write(storageGroupList.size(), outputStream);
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaFetchScanOperator.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaFetchScanOperator.java
index be0173de87..0f406e1385 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaFetchScanOperator.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaFetchScanOperator.java
@@ -118,7 +118,7 @@ public class SchemaFetchScanOperator implements SourceOperator {
 
     ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
     try {
-      // to indicate this binary data is storage group info
+      // to indicate this binary data is database info
       ReadWriteIOUtils.write((byte) 1, outputStream);
 
       schemaTree.serialize(outputStream);
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java
index b6e2c737a9..80e4bff41e 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java
@@ -1734,10 +1734,10 @@ public class AnalyzeVisitor extends StatementVisitor<Analysis, MPPQueryContext>
                 IoTDBDescriptor.getInstance().getConfig().getQueryTimeoutThreshold());
     if (result.status.code != TSStatusCode.SUCCESS_STATUS.getStatusCode()
         && result.status.code != TSStatusCode.STORAGE_GROUP_ALREADY_EXISTS.getStatusCode()) {
-      logger.error(String.format("Set Storage group error, statement: %s.", statement));
-      logger.error(String.format("Set storage group result status : %s.", result.status));
+      logger.error(String.format("Create Database error, statement: %s.", statement));
+      logger.error(String.format("Create database result status : %s.", result.status));
       throw new LoadFileException(
-          String.format("Can not execute set storage group statement: %s", statement));
+          String.format("Can not execute create database statement: %s", statement));
     }
   }
 
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/StandalonePartitionFetcher.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/StandalonePartitionFetcher.java
index 93e99b4ba8..62d5c4349a 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/StandalonePartitionFetcher.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/StandalonePartitionFetcher.java
@@ -221,7 +221,7 @@ public class StandalonePartitionFetcher implements IPartitionFetcher {
         }
       }
       if (isAutoCreate) {
-        // try to auto create storage group
+        // try to auto create database
         Set<PartialPath> storageGroupNamesNeedCreated = new HashSet<>();
         for (String devicePath : devicePaths) {
           if (!deviceToStorageGroup.containsKey(devicePath)) {
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/cache/PartitionCache.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/cache/PartitionCache.java
index be0e9b6e94..83b40eaec2 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/cache/PartitionCache.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/cache/PartitionCache.java
@@ -85,7 +85,7 @@ public class PartitionCache {
 
   /** the size of partitionCache */
   private final int cacheSize = config.getPartitionCacheSize();
-  /** the cache of storage group */
+  /** the cache of database */
   private final Set<String> storageGroupCache = Collections.synchronizedSet(new HashSet<>());
   /** storage -> schemaPartitionTable */
   private final Cache<String, SchemaPartitionTable> schemaPartitionCache;
@@ -117,14 +117,14 @@ public class PartitionCache {
             this.seriesSlotExecutorName, this.seriesPartitionSlotNum);
   }
 
-  // region storage group cache
+  // region database cache
 
   /**
-   * get storage group to device map
+   * get database to device map
    *
    * @param devicePaths the devices that need to hit
-   * @param tryToFetch whether try to get all storage group from config node
-   * @param isAutoCreate whether auto create storage group when cache miss
+   * @param tryToFetch whether try to get all database from config node
+   * @param isAutoCreate whether auto create database when cache miss
    */
   public Map<String, List<String>> getStorageGroupToDevice(
       List<String> devicePaths, boolean tryToFetch, boolean isAutoCreate) {
@@ -141,11 +141,11 @@ public class PartitionCache {
   }
 
   /**
-   * get device to storage group map
+   * get device to database map
    *
    * @param devicePaths the devices that need to hit
-   * @param tryToFetch whether try to get all storage group from config node
-   * @param isAutoCreate whether auto create storage group when cache miss
+   * @param tryToFetch whether try to get all database from config node
+   * @param isAutoCreate whether auto create database when cache miss
    */
   public Map<String, String> getDeviceToStorageGroup(
       List<String> devicePaths, boolean tryToFetch, boolean isAutoCreate) {
@@ -161,10 +161,10 @@ public class PartitionCache {
   }
 
   /**
-   * get storage group of device
+   * get database of device
    *
    * @param devicePath the path of device
-   * @return storage group name, return null if cache miss
+   * @return database name, return null if cache miss
    */
   private String getStorageGroupName(String devicePath) {
     synchronized (storageGroupCache) {
@@ -178,9 +178,9 @@ public class PartitionCache {
   }
 
   /**
-   * get all storage group from confignode and update storage group cache
+   * get all database from confignode and update database cache
    *
-   * @param result the result of get storage group cache
+   * @param result the result of get database cache
    * @param devicePaths the devices that need to hit
    */
   private void fetchStorageGroupAndUpdateCache(
@@ -197,7 +197,7 @@ public class PartitionCache {
             == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
           Set<String> storageGroupNames =
               storageGroupSchemaResp.getStorageGroupSchemaMap().keySet();
-          // update all storage group into cache
+          // update all database into cache
           updateStorageCache(storageGroupNames);
         }
       }
@@ -207,11 +207,11 @@ public class PartitionCache {
   }
 
   /**
-   * create not existed storage group and update storage group cache
+   * create not existed database and update database cache
    *
-   * @param result the result of get storage group cache
+   * @param result the result of get database cache
    * @param devicePaths the devices that need to hit
-   * @throws RuntimeException if failed to create storage group
+   * @throws RuntimeException if failed to create database
    */
   private void createStorageGroupAndUpdateCache(
       StorageGroupCacheResult<?> result, List<String> devicePaths)
@@ -219,12 +219,12 @@ public class PartitionCache {
     try (ConfigNodeClient client =
         configNodeClientManager.borrowClient(ConfigNodeInfo.partitionRegionId)) {
       storageGroupCacheLock.writeLock().lock();
-      // try to check whether storage group need to be created
+      // try to check whether database need to be created
       result.reset();
-      // try to hit storage group with all missed devices
+      // try to hit database with all missed devices
       getStorageGroupMap(result, devicePaths, false);
       if (!result.isSuccess()) {
-        // try to get storage group needed to be created from missed device
+        // try to get database needed to be created from missed device
         Set<String> storageGroupNamesNeedCreated = new HashSet<>();
         for (String devicePath : result.getMissedDevices()) {
           PartialPath storageGroupNameNeedCreated =
@@ -233,7 +233,7 @@ public class PartitionCache {
           storageGroupNamesNeedCreated.add(storageGroupNameNeedCreated.getFullPath());
         }
 
-        // try to create storage groups one by one until done or one storage group fail
+        // try to create databases one by one until done or one database fail
         Set<String> successFullyCreatedStorageGroup = new HashSet<>();
         for (String storageGroupName : storageGroupNamesNeedCreated) {
           TStorageGroupSchema storageGroupSchema = new TStorageGroupSchema();
@@ -243,16 +243,16 @@ public class PartitionCache {
           if (TSStatusCode.SUCCESS_STATUS.getStatusCode() == tsStatus.getCode()) {
             successFullyCreatedStorageGroup.add(storageGroupName);
           } else {
-            // try to update cache by storage groups successfully created
+            // try to update cache by databases successfully created
             updateStorageCache(successFullyCreatedStorageGroup);
             logger.warn(
-                "[{} Cache] failed to create storage group {}",
+                "[{} Cache] failed to create database {}",
                 STORAGE_GROUP_CACHE_NAME,
                 storageGroupName);
             throw new RuntimeException(new IoTDBException(tsStatus.message, tsStatus.code));
           }
         }
-        // try to update storage group cache when all storage groups has already been created
+        // try to update database cache when all databases has already been created
         updateStorageCache(storageGroupNamesNeedCreated);
       }
     } finally {
@@ -261,7 +261,7 @@ public class PartitionCache {
   }
 
   /**
-   * get storage group map in one try
+   * get database map in one try
    *
    * @param result contains result(boolean), failed devices and the map
    * @param devicePaths the devices that need to hit
@@ -301,12 +301,12 @@ public class PartitionCache {
   }
 
   /**
-   * get storage group map in three try
+   * get database map in three try
    *
    * @param result contains result, failed devices and map
    * @param devicePaths the devices that need to hit
-   * @param tryToFetch whether try to get all storage group from confignode
-   * @param isAutoCreate whether auto create storage group when device miss
+   * @param tryToFetch whether try to get all database from confignode
+   * @param isAutoCreate whether auto create database when device miss
    */
   private void getStorageGroupCacheResult(
       StorageGroupCacheResult<?> result,
@@ -319,22 +319,21 @@ public class PartitionCache {
         return;
       }
     }
-    // first try to hit storage group in fast-fail way
+    // first try to hit database in fast-fail way
     getStorageGroupMap(result, devicePaths, true);
     if (!result.isSuccess() && tryToFetch) {
       try {
-        // try to fetch storage group from config node when miss
+        // try to fetch database from config node when miss
         fetchStorageGroupAndUpdateCache(result, devicePaths);
-        // second try to hit storage group in fast-fail way
+        // second try to hit database in fast-fail way
         getStorageGroupMap(result, devicePaths, true);
         if (!result.isSuccess() && isAutoCreate) {
-          // try to auto create storage group of failed device
+          // try to auto create database of failed device
           createStorageGroupAndUpdateCache(result, devicePaths);
-          // third try to hit storage group in fast-fail way
+          // third try to hit database in fast-fail way
           getStorageGroupMap(result, devicePaths, true);
           if (!result.isSuccess()) {
-            throw new StatementAnalyzeException(
-                "Failed to get Storage Group Map in three attempts.");
+            throw new StatementAnalyzeException("Failed to get database Map in three attempts.");
           }
         }
       } catch (TException | MetadataException | IOException e) {
@@ -345,9 +344,9 @@ public class PartitionCache {
   }
 
   /**
-   * update storage group cache
+   * update database cache
    *
-   * @param storageGroupNames the storage group names that need to update
+   * @param storageGroupNames the database names that need to update
    */
   public void updateStorageCache(Set<String> storageGroupNames) {
     storageGroupCacheLock.writeLock().lock();
@@ -359,9 +358,9 @@ public class PartitionCache {
   }
 
   /**
-   * invalidate storage group cache
+   * invalidate database cache
    *
-   * @param storageGroupNames the storage groups that need to invalid
+   * @param storageGroupNames the databases that need to invalid
    */
   public void removeFromStorageGroupCache(List<String> storageGroupNames) {
     storageGroupCacheLock.writeLock().lock();
@@ -374,7 +373,7 @@ public class PartitionCache {
     }
   }
 
-  /** invalidate all storage group cache */
+  /** invalidate all database cache */
   public void removeFromStorageGroupCache() {
     storageGroupCacheLock.writeLock().lock();
     try {
@@ -476,7 +475,7 @@ public class PartitionCache {
   /**
    * get schemaPartition
    *
-   * @param storageGroupToDeviceMap storage group to devices map
+   * @param storageGroupToDeviceMap database to devices map
    * @return SchemaPartition of storageGroupToDeviceMap
    */
   public SchemaPartition getSchemaPartition(Map<String, List<String>> storageGroupToDeviceMap) {
@@ -489,7 +488,7 @@ public class PartitionCache {
       Map<String, Map<TSeriesPartitionSlot, TRegionReplicaSet>> schemaPartitionMap =
           new HashMap<>();
 
-      // check cache for each storage group
+      // check cache for each database
       for (Map.Entry<String, List<String>> entry : storageGroupToDeviceMap.entrySet()) {
         String storageGroupName = entry.getKey();
         Map<TSeriesPartitionSlot, TRegionReplicaSet> regionReplicaSetMap =
@@ -497,9 +496,9 @@ public class PartitionCache {
         SchemaPartitionTable schemaPartitionTable =
             schemaPartitionCache.getIfPresent(storageGroupName);
         if (null == schemaPartitionTable) {
-          // if storage group not find, then return cache miss.
+          // if database not find, then return cache miss.
           logger.debug(
-              "[{} Cache] miss when search storage group {}",
+              "[{} Cache] miss when search database {}",
               SCHEMA_PARTITION_CACHE_NAME,
               storageGroupName);
           CacheMetricsRecorder.record(false, SCHEMA_PARTITION_CACHE_NAME);
@@ -536,7 +535,7 @@ public class PartitionCache {
   /**
    * update schemaPartitionCache by schemaPartition.
    *
-   * @param schemaPartitionTable storage group to SeriesPartitionSlot to ConsensusGroupId map
+   * @param schemaPartitionTable database to SeriesPartitionSlot to ConsensusGroupId map
    */
   public void updateSchemaPartitionCache(
       Map<String, Map<TSeriesPartitionSlot, TConsensusGroupId>> schemaPartitionTable) {
@@ -560,9 +559,9 @@ public class PartitionCache {
   }
 
   /**
-   * invalid schemaPartitionCache by storage group
+   * invalid schemaPartitionCache by database
    *
-   * @param storageGroupName the storage groups that need to invalid
+   * @param storageGroupName the databases that need to invalid
    */
   public void invalidSchemaPartitionCache(String storageGroupName) {
     schemaPartitionCacheLock.writeLock().lock();
@@ -589,7 +588,7 @@ public class PartitionCache {
   /**
    * get dataPartition by query param map
    *
-   * @param storageGroupToQueryParamsMap storage group to dataPartitionQueryParam map
+   * @param storageGroupToQueryParamsMap database to dataPartitionQueryParam map
    * @return DataPartition of storageGroupToQueryParamsMap
    */
   public DataPartition getDataPartition(
@@ -602,7 +601,7 @@ public class PartitionCache {
       }
       Map<String, Map<TSeriesPartitionSlot, Map<TTimePartitionSlot, List<TRegionReplicaSet>>>>
           dataPartitionMap = new HashMap<>();
-      // check cache for each storage group
+      // check cache for each database
       for (Map.Entry<String, List<DataPartitionQueryParam>> entry :
           storageGroupToQueryParamsMap.entrySet()) {
         if (null == entry.getValue()
@@ -622,10 +621,10 @@ public class PartitionCache {
   }
 
   /**
-   * get dataPartition from storage group
+   * get dataPartition from database
    *
    * @param dataPartitionMap result
-   * @param storageGroupName storage group that need to get
+   * @param storageGroupName database that need to get
    * @param dataPartitionQueryParams specific query params of data partition
    * @return whether hit
    */
@@ -637,9 +636,7 @@ public class PartitionCache {
     DataPartitionTable dataPartitionTable = dataPartitionCache.getIfPresent(storageGroupName);
     if (null == dataPartitionTable) {
       logger.debug(
-          "[{} Cache] miss when search storage group {}",
-          DATA_PARTITION_CACHE_NAME,
-          storageGroupName);
+          "[{} Cache] miss when search database {}", DATA_PARTITION_CACHE_NAME, storageGroupName);
       return false;
     }
     Map<TSeriesPartitionSlot, SeriesPartitionTable> cachedStorageGroupPartitionMap =
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java
index 10df3d09c3..03349c84bf 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java
@@ -203,7 +203,7 @@ public class ClusterConfigTaskExecutor implements IConfigTaskExecutor {
       // Get response or throw exception
       if (TSStatusCode.SUCCESS_STATUS.getStatusCode() != tsStatus.getCode()) {
         LOGGER.error(
-            "Failed to execute set storage group {} in config node, status is {}.",
+            "Failed to execute create database {} in config node, status is {}.",
             setStorageGroupStatement.getStorageGroupPath(),
             tsStatus);
         future.setException(new IoTDBException(tsStatus.message, tsStatus.code));
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/StandaloneConfigTaskExecutor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/StandaloneConfigTaskExecutor.java
index a0c59d4d8b..06e3139396 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/StandaloneConfigTaskExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/StandaloneConfigTaskExecutor.java
@@ -114,7 +114,7 @@ public class StandaloneConfigTaskExecutor implements IConfigTaskExecutor {
       // schemaReplicationFactor, dataReplicationFactor, timePartitionInterval are ignored
       future.set(new ConfigTaskResult(TSStatusCode.SUCCESS_STATUS));
     } catch (Exception e) {
-      LOGGER.error("Failed to set storage group, caused by ", e);
+      LOGGER.error("Failed to create database, caused by ", e);
       future.setException(e);
     }
     return future;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/SetStorageGroupTask.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/SetStorageGroupTask.java
index ad6efea84c..5af256ff0f 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/SetStorageGroupTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/SetStorageGroupTask.java
@@ -42,7 +42,7 @@ public class SetStorageGroupTask implements IConfigTask {
     return configTaskExecutor.setStorageGroup(setStorageGroupStatement);
   }
 
-  /** construct set storage group schema according to statement */
+  /** construct create database schema according to statement */
   public static TStorageGroupSchema constructStorageGroupSchema(
       SetStorageGroupStatement setStorageGroupStatement) {
     TStorageGroupSchema storageGroupSchema = new TStorageGroupSchema();
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java
index a10c09e2c4..6f67d8b2e4 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java
@@ -602,7 +602,7 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
     }
   }
 
-  // Show Storage Group
+  // SHOW DATABASES
 
   @Override
   public Statement visitShowStorageGroup(IoTDBSqlParser.ShowStorageGroupContext ctx) {
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/StatementGenerator.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/StatementGenerator.java
index 1ee50674ec..ac09fba0dd 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/StatementGenerator.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/StatementGenerator.java
@@ -363,7 +363,7 @@ public class StatementGenerator {
   }
 
   public static Statement createStatement(String storageGroup) throws IllegalPathException {
-    // construct set storage group statement
+    // construct create database statement
     SetStorageGroupStatement statement = new SetStorageGroupStatement();
     statement.setStorageGroupPath(new PartialPath(storageGroup));
     return statement;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/ShowStorageGroupStatement.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/ShowStorageGroupStatement.java
index d48cbbc866..97fbdd0a05 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/ShowStorageGroupStatement.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/ShowStorageGroupStatement.java
@@ -28,11 +28,11 @@ import java.util.Collections;
 import java.util.List;
 
 /**
- * SHOW STORAGE GROUP statement
+ * SHOW DATABASES statement
  *
  * <p>Here is the syntax definition:
  *
- * <p>SHOW STORAGE GROUP prefixPath?
+ * <p>SHOW DATABASES prefixPath?
  */
 public class ShowStorageGroupStatement extends ShowStatement implements IConfigStatement {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/meta/AbstractInfluxDBMetaManager.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/meta/AbstractInfluxDBMetaManager.java
index 2cb1740d4c..416f51ce2d 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/meta/AbstractInfluxDBMetaManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/meta/AbstractInfluxDBMetaManager.java
@@ -57,7 +57,7 @@ public abstract class AbstractInfluxDBMetaManager implements IInfluxDBMetaManage
   }
 
   /**
-   * set storage group
+   * create database
    *
    * @param database database of influxdb
    * @param sessionID session id
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/meta/NewInfluxDBMetaManager.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/meta/NewInfluxDBMetaManager.java
index 258550f48e..2f5422b034 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/meta/NewInfluxDBMetaManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/meta/NewInfluxDBMetaManager.java
@@ -109,7 +109,7 @@ public class NewInfluxDBMetaManager extends AbstractInfluxDBMetaManager {
   }
 
   /**
-   * set storage group
+   * create database
    *
    * @param database database of influxdb
    * @param sessionID session id
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
index 344d44f41b..23b36dd54f 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
@@ -2058,7 +2058,7 @@ public class PlanExecutor implements IPlanExecutor {
 
   public boolean setStorageGroup(SetStorageGroupPlan setStorageGroupPlan)
       throws QueryProcessException {
-    AUDIT_LOGGER.info("set storage group to {}", setStorageGroupPlan.getPaths());
+    AUDIT_LOGGER.info("CREATE DATABASE {}", setStorageGroupPlan.getPaths());
     PartialPath path = setStorageGroupPlan.getPath();
     try {
       IoTDB.schemaProcessor.setStorageGroup(path);
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java b/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
index d9dff8c219..5a3a03d1b7 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
@@ -1012,7 +1012,7 @@ public class IoTDBSqlVisitor extends IoTDBSqlParserBaseVisitor<Operator> {
     return stopTriggerOperator;
   }
 
-  // Show Storage Group
+  // SHOW DATABASES
 
   @Override
   public Operator visitShowStorageGroup(IoTDBSqlParser.ShowStorageGroupContext ctx) {
diff --git a/server/src/main/java/org/apache/iotdb/db/query/executor/AggregationExecutor.java b/server/src/main/java/org/apache/iotdb/db/query/executor/AggregationExecutor.java
index 1bd88fdd1f..d5d0081263 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/executor/AggregationExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/executor/AggregationExecutor.java
@@ -125,7 +125,7 @@ public class AggregationExecutor {
     groupedPathList.addAll(pathToAggrIndexesMap.keySet());
     groupedPathList.addAll(alignedPathToAggrIndexesMap.keySet());
 
-    // TODO-Cluster: group the paths by storage group to reduce communications
+    // TODO-Cluster: group the paths by database to reduce communications
     Pair<List<DataRegion>, Map<DataRegion, List<PartialPath>>> lockListAndProcessorToSeriesMapPair =
         StorageEngine.getInstance().mergeLock(groupedPathList);
     List<DataRegion> lockList = lockListAndProcessorToSeriesMapPair.left;
diff --git a/server/src/main/java/org/apache/iotdb/db/sync/receiver/load/SchemaLoader.java b/server/src/main/java/org/apache/iotdb/db/sync/receiver/load/SchemaLoader.java
index 34cb369780..7229cf0abd 100644
--- a/server/src/main/java/org/apache/iotdb/db/sync/receiver/load/SchemaLoader.java
+++ b/server/src/main/java/org/apache/iotdb/db/sync/receiver/load/SchemaLoader.java
@@ -58,7 +58,7 @@ public class SchemaLoader implements ILoader {
     } catch (QueryProcessException e) {
       if (e.getCause() instanceof StorageGroupAlreadySetException) {
         logger.warn(
-            "Sync receiver try to set storage group "
+            "Sync receiver try to create database "
                 + ((StorageGroupAlreadySetException) e.getCause()).getStorageGroupPath()
                 + " that has already been set");
       } else {
diff --git a/server/src/main/java/org/apache/iotdb/db/sync/transport/client/IoTDBSyncClient.java b/server/src/main/java/org/apache/iotdb/db/sync/transport/client/IoTDBSyncClient.java
index a333a7bd17..f2f7ba178f 100644
--- a/server/src/main/java/org/apache/iotdb/db/sync/transport/client/IoTDBSyncClient.java
+++ b/server/src/main/java/org/apache/iotdb/db/sync/transport/client/IoTDBSyncClient.java
@@ -69,7 +69,7 @@ public class IoTDBSyncClient implements ISyncClient {
   private final int port;
   /* local IP address*/
   private final String localIP;
-  /* storage group name that client belongs to*/
+  /* database name that client belongs to*/
   private final String storageGroupName;
 
   private final Pipe pipe;
@@ -79,7 +79,7 @@ public class IoTDBSyncClient implements ISyncClient {
    * @param remoteAddress remote ip address
    * @param port remote port
    * @param localAddress local ip address
-   * @param storageGroupName storage group name that client belongs to
+   * @param storageGroupName database name that client belongs to
    */
   public IoTDBSyncClient(
       Pipe pipe, String remoteAddress, int port, String localAddress, String storageGroupName) {
diff --git a/server/src/main/java/org/apache/iotdb/db/tools/dataregion/DeviceMappingViewer.java b/server/src/main/java/org/apache/iotdb/db/tools/dataregion/DeviceMappingViewer.java
index 4a9bde9407..6666591bf4 100644
--- a/server/src/main/java/org/apache/iotdb/db/tools/dataregion/DeviceMappingViewer.java
+++ b/server/src/main/java/org/apache/iotdb/db/tools/dataregion/DeviceMappingViewer.java
@@ -28,7 +28,7 @@ import org.apache.iotdb.db.service.IoTDB;
 import java.util.Set;
 
 /**
- * for DBA to view the mapping from device to virtual storage group ID usage: run this class with
+ * for DBA to view the mapping from device to virtual database ID usage: run this class with
  * arguments [system_schema_dir], if args are not given, use default in config
  */
 public class DeviceMappingViewer {
diff --git a/server/src/main/java/org/apache/iotdb/db/tools/validate/TsFileValidationTool.java b/server/src/main/java/org/apache/iotdb/db/tools/validate/TsFileValidationTool.java
index 52b08b8060..c9558ac334 100644
--- a/server/src/main/java/org/apache/iotdb/db/tools/validate/TsFileValidationTool.java
+++ b/server/src/main/java/org/apache/iotdb/db/tools/validate/TsFileValidationTool.java
@@ -130,7 +130,7 @@ public class TsFileValidationTool {
           continue;
         }
         if (printDetails) {
-          printBoth("- Check files in storage group: " + sgDir.getAbsolutePath());
+          printBoth("- Check files in database: " + sgDir.getAbsolutePath());
         }
         // get data region dirs
         File[] dataRegionDirs = sgDir.listFiles();
diff --git a/server/src/main/java/org/apache/iotdb/db/wal/recover/file/TsFilePlanRedoer.java b/server/src/main/java/org/apache/iotdb/db/wal/recover/file/TsFilePlanRedoer.java
index eef04fe04e..cdfeb68040 100644
--- a/server/src/main/java/org/apache/iotdb/db/wal/recover/file/TsFilePlanRedoer.java
+++ b/server/src/main/java/org/apache/iotdb/db/wal/recover/file/TsFilePlanRedoer.java
@@ -61,7 +61,7 @@ public class TsFilePlanRedoer {
   private final TsFileResource tsFileResource;
   /** only unsequence file tolerates duplicated data */
   private final boolean sequence;
-  /** virtual storage group's idTable of this tsFile */
+  /** virtual database's idTable of this tsFile */
   private final IDTable idTable;
   /** store data when redoing logs */
   private IMemTable recoveryMemTable = new PrimitiveMemTable();
diff --git a/server/src/main/java/org/apache/iotdb/db/wal/recover/file/UnsealedTsFileRecoverPerformer.java b/server/src/main/java/org/apache/iotdb/db/wal/recover/file/UnsealedTsFileRecoverPerformer.java
index ab2e96ccd9..d2c08a08fd 100644
--- a/server/src/main/java/org/apache/iotdb/db/wal/recover/file/UnsealedTsFileRecoverPerformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/wal/recover/file/UnsealedTsFileRecoverPerformer.java
@@ -62,7 +62,7 @@ public class UnsealedTsFileRecoverPerformer extends AbstractTsFileRecoverPerform
 
   /** sequence file or not */
   private final boolean sequence;
-  /** add recovered TsFile back to virtual storage group */
+  /** add recovered TsFile back to data region */
   private final Consumer<UnsealedTsFileRecoverPerformer> callbackAfterUnsealedTsFileRecovered;
   /** redo wal log to recover TsFile */
   private final TsFilePlanRedoer walRedoer;
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/FileNodeManagerBenchmark.java b/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/FileNodeManagerBenchmark.java
index 527a30be24..d22bec045c 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/FileNodeManagerBenchmark.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/FileNodeManagerBenchmark.java
@@ -39,7 +39,7 @@ import java.util.Collections;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.atomic.AtomicLong;
 
-/** Bench The storage group manager with mul-thread and get its performance. */
+/** Bench The database manager with mul-thread and get its performance. */
 public class FileNodeManagerBenchmark {
 
   private static int numOfWorker = 10;
diff --git a/server/src/test/java/org/apache/iotdb/db/metadata/SchemaBasicTest.java b/server/src/test/java/org/apache/iotdb/db/metadata/SchemaBasicTest.java
index 5de4a0ac69..bcd1eea9dc 100644
--- a/server/src/test/java/org/apache/iotdb/db/metadata/SchemaBasicTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/metadata/SchemaBasicTest.java
@@ -121,7 +121,7 @@ public abstract class SchemaBasicTest {
       schemaProcessor.setStorageGroup(new PartialPath("root.laptop"));
     } catch (MetadataException e) {
       Assert.assertEquals(
-          "some children of root.laptop have already been set to storage group", e.getMessage());
+          "some children of root.laptop have already been created as database", e.getMessage());
     }
 
     try {
@@ -2376,7 +2376,7 @@ public abstract class SchemaBasicTest {
           e.getMessage());
     } catch (StorageGroupAlreadySetException e) {
       Assert.assertEquals(
-          "some children of root.ln have already been set to storage group", e.getMessage());
+          "some children of root.ln have already been created as database", e.getMessage());
     } catch (MetadataException e) {
       fail(e.getMessage());
     }
@@ -2478,7 +2478,7 @@ public abstract class SchemaBasicTest {
       fail();
     } catch (MetadataException e) {
       Assert.assertEquals(
-          "some children of root.a have already been set to storage group", e.getMessage());
+          "some children of root.a have already been created as database", e.getMessage());
       Assert.assertFalse(schemaProcessor.isPathExist(new PartialPath("root.a.d")));
     }
   }
diff --git a/server/src/test/java/org/apache/iotdb/db/metadata/mtree/ConfigMTreeTest.java b/server/src/test/java/org/apache/iotdb/db/metadata/mtree/ConfigMTreeTest.java
index b6f6cdf416..913309ba3f 100644
--- a/server/src/test/java/org/apache/iotdb/db/metadata/mtree/ConfigMTreeTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/metadata/mtree/ConfigMTreeTest.java
@@ -72,20 +72,20 @@ public class ConfigMTreeTest {
       fail("Expected exception");
     } catch (MetadataException e) {
       assertEquals(
-          "some children of root.edge1 have already been set to storage group", e.getMessage());
+          "some children of root.edge1 have already been created as database", e.getMessage());
     }
     try {
       root.setStorageGroup(new PartialPath("root.edge2"));
       root.setStorageGroup(new PartialPath("root.edge2.access"));
       fail("Expected exception");
     } catch (MetadataException e) {
-      assertEquals("root.edge2 has already been set to storage group", e.getMessage());
+      assertEquals("root.edge2 has already been created as database", e.getMessage());
     }
     try {
       root.setStorageGroup(new PartialPath("root.edge1.access"));
       fail("Expected exception");
     } catch (MetadataException e) {
-      assertEquals("root.edge1.access has already been set to storage group", e.getMessage());
+      assertEquals("root.edge1.access has already been created as database", e.getMessage());
     }
   }
 
@@ -147,7 +147,7 @@ public class ConfigMTreeTest {
       root.setStorageGroup(new PartialPath("root.laptop"));
     } catch (MetadataException e) {
       Assert.assertEquals(
-          "some children of root.laptop have already been set to storage group", e.getMessage());
+          "some children of root.laptop have already been created as database", e.getMessage());
     }
 
     try {
diff --git a/server/src/test/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGTest.java b/server/src/test/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGTest.java
index f420429414..e47f39f59d 100644
--- a/server/src/test/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGTest.java
@@ -383,7 +383,7 @@ public abstract class MTreeBelowSGTest {
       root.setStorageGroup(new PartialPath("root.laptop"));
     } catch (MetadataException e) {
       Assert.assertEquals(
-          "some children of root.laptop have already been set to storage group", e.getMessage());
+          "some children of root.laptop have already been created as database", e.getMessage());
     }
     // check timeseries
     assertFalse(storageGroup.isPathExist(new PartialPath("root.laptop.d1.s0")));
diff --git a/server/src/test/java/org/apache/iotdb/db/protocol/rest/IoTDBRestServiceTest.java b/server/src/test/java/org/apache/iotdb/db/protocol/rest/IoTDBRestServiceTest.java
index 1a38291a47..8e0ba78159 100644
--- a/server/src/test/java/org/apache/iotdb/db/protocol/rest/IoTDBRestServiceTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/protocol/rest/IoTDBRestServiceTest.java
@@ -538,7 +538,7 @@ public class IoTDBRestServiceTest {
   }
 
   public void showStorageGroup(CloseableHttpClient httpClient) {
-    String sql = "{\"sql\":\"show storage group root.*\"}";
+    String sql = "{\"sql\":\"SHOW DATABASES root.*\"}";
     Map map = queryMetaData(httpClient, sql);
     List<String> columnNamesResult = (List<String>) map.get("columnNames");
     List<List<Object>> valuesResult = (List<List<Object>>) map.get("values");
diff --git a/server/src/test/java/org/apache/iotdb/db/qp/PlannerTest.java b/server/src/test/java/org/apache/iotdb/db/qp/PlannerTest.java
index 9a621011f8..ebf9f7453a 100644
--- a/server/src/test/java/org/apache/iotdb/db/qp/PlannerTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/qp/PlannerTest.java
@@ -153,7 +153,7 @@ public class PlannerTest {
 
   @Test
   public void parseSQLToPhysicalPlan() throws Exception {
-    String createSGStatement = "set storage group to root.vehicle";
+    String createSGStatement = "CREATE DATABASE root.vehicle";
     PhysicalPlan plan1 = processor.parseSQLToPhysicalPlan(createSGStatement);
     assertEquals(OperatorType.SET_STORAGE_GROUP, plan1.getOperatorType());
 
diff --git a/server/src/test/java/org/apache/iotdb/db/qp/logical/LogicalPlanSmallTest.java b/server/src/test/java/org/apache/iotdb/db/qp/logical/LogicalPlanSmallTest.java
index 4dbb32ec4c..1f2af86b0b 100644
--- a/server/src/test/java/org/apache/iotdb/db/qp/logical/LogicalPlanSmallTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/qp/logical/LogicalPlanSmallTest.java
@@ -221,7 +221,7 @@ public class LogicalPlanSmallTest {
 
   @Test
   public void testChineseCharacter() throws IllegalPathException {
-    String sqlStr1 = "set storage group to root.一级";
+    String sqlStr1 = "CREATE DATABASE root.一级";
     Operator operator = LogicalGenerator.generate(sqlStr1, ZoneId.systemDefault());
     Assert.assertEquals(SetStorageGroupOperator.class, operator.getClass());
     Assert.assertEquals(new PartialPath("root.一级"), ((SetStorageGroupOperator) operator).getPath());
diff --git a/server/src/test/java/org/apache/iotdb/db/query/dataset/ListDataSetTest.java b/server/src/test/java/org/apache/iotdb/db/query/dataset/ListDataSetTest.java
index 01ee5e5e99..1828d83c83 100644
--- a/server/src/test/java/org/apache/iotdb/db/query/dataset/ListDataSetTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/query/dataset/ListDataSetTest.java
@@ -45,8 +45,8 @@ public class ListDataSetTest {
   private final Planner processor = new Planner();
 
   private final String[] sqls = {
-    "SET STORAGE GROUP TO root.vehicle",
-    "SET STORAGE GROUP TO root.test",
+    "CREATE DATABASE root.vehicle",
+    "CREATE DATABASE root.test",
     "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
     "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=TEXT, ENCODING=PLAIN",
     "CREATE TIMESERIES root.test.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
@@ -76,7 +76,7 @@ public class ListDataSetTest {
           QueryFilterOptimizationException, MetadataException, IOException, InterruptedException,
           SQLException {
     String[] results = new String[] {"0\troot.test", "0\troot.vehicle"};
-    PhysicalPlan plan = processor.parseSQLToPhysicalPlan("show storage group");
+    PhysicalPlan plan = processor.parseSQLToPhysicalPlan("SHOW DATABASES");
     QueryDataSet dataSet = queryExecutor.processQuery(plan, EnvironmentUtils.TEST_QUERY_CONTEXT);
     Assert.assertTrue(dataSet instanceof ListDataSet);
     Assert.assertEquals("[storage group]", dataSet.getPaths().toString());
diff --git a/server/src/test/java/org/apache/iotdb/db/query/dataset/SingleDataSetTest.java b/server/src/test/java/org/apache/iotdb/db/query/dataset/SingleDataSetTest.java
index f791b08ce7..a3675ec253 100644
--- a/server/src/test/java/org/apache/iotdb/db/query/dataset/SingleDataSetTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/query/dataset/SingleDataSetTest.java
@@ -44,8 +44,8 @@ public class SingleDataSetTest {
   private final Planner processor = new Planner();
 
   private final String[] sqls = {
-    "SET STORAGE GROUP TO root.vehicle",
-    "SET STORAGE GROUP TO root.test",
+    "CREATE DATABASE root.vehicle",
+    "CREATE DATABASE root.test",
     "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
     "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=TEXT, ENCODING=PLAIN",
     "CREATE TIMESERIES root.test.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
diff --git a/server/src/test/java/org/apache/iotdb/db/utils/datastructure/PrecisionTest.java b/server/src/test/java/org/apache/iotdb/db/utils/datastructure/PrecisionTest.java
index b390aafaf3..0fb2961d37 100644
--- a/server/src/test/java/org/apache/iotdb/db/utils/datastructure/PrecisionTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/utils/datastructure/PrecisionTest.java
@@ -52,7 +52,7 @@ public class PrecisionTest {
             DriverManager.getConnection(
                 Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.turbine1");
+      statement.execute("CREATE DATABASE root.turbine1");
       statement.execute(
           "create timeseries root.turbine1.d1.s1 with datatype=DOUBLE, encoding=PLAIN, compression=SNAPPY");
 
@@ -76,7 +76,7 @@ public class PrecisionTest {
             DriverManager.getConnection(
                 Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.turbine1");
+      statement.execute("CREATE DATABASE root.turbine1");
       statement.execute(
           "create timeseries root.turbine1.d1.s1 with datatype=DOUBLE, encoding=RLE, compression=SNAPPY");
 
@@ -100,7 +100,7 @@ public class PrecisionTest {
             DriverManager.getConnection(
                 Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.turbine1");
+      statement.execute("CREATE DATABASE root.turbine1");
       statement.execute(
           "create timeseries root.turbine1.d1.s1 with datatype=FLOAT, encoding=PLAIN, compression=SNAPPY");
 
@@ -124,7 +124,7 @@ public class PrecisionTest {
             DriverManager.getConnection(
                 Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.turbine1");
+      statement.execute("CREATE DATABASE root.turbine1");
       statement.execute(
           "create timeseries root.turbine1.d1.s1 with datatype=FLOAT, encoding=RLE, compression=SNAPPY");
 
diff --git a/spark-iotdb-connector/src/test/scala/org/apache/iotdb/spark/db/EnvironmentUtils.java b/spark-iotdb-connector/src/test/scala/org/apache/iotdb/spark/db/EnvironmentUtils.java
index 314fb684b0..eacd67a054 100644
--- a/spark-iotdb-connector/src/test/scala/org/apache/iotdb/spark/db/EnvironmentUtils.java
+++ b/spark-iotdb-connector/src/test/scala/org/apache/iotdb/spark/db/EnvironmentUtils.java
@@ -59,8 +59,8 @@ public class EnvironmentUtils {
 
   private static String[] creationSqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle.d0",
-        "SET STORAGE GROUP TO root.vehicle.d1",
+        "CREATE DATABASE root.vehicle.d0",
+        "CREATE DATABASE root.vehicle.d1",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
@@ -70,7 +70,7 @@ public class EnvironmentUtils {
 
   private static String[] dataSet2 =
       new String[] {
-        "SET STORAGE GROUP TO root.ln.wf01.wt01",
+        "CREATE DATABASE root.ln.wf01.wt01",
         "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.hardware WITH DATATYPE=INT32, ENCODING=PLAIN",
diff --git a/test/e2e/cases/cli/res/init.sql b/test/e2e/cases/cli/res/init.sql
index cb9f6aade0..d8d19b0e85 100644
--- a/test/e2e/cases/cli/res/init.sql
+++ b/test/e2e/cases/cli/res/init.sql
@@ -17,8 +17,8 @@
 -- under the License.
 --
 
-SET STORAGE GROUP TO root.ln;
-SHOW STORAGE GROUP;
+CREATE DATABASE root.ln;
+SHOW DATABASES;
 
 CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=PLAIN;
 
diff --git a/testcontainer/src/test/java/org/apache/iotdb/db/sync/SyncIT.java b/testcontainer/src/test/java/org/apache/iotdb/db/sync/SyncIT.java
index c7caf1918d..1be012695e 100644
--- a/testcontainer/src/test/java/org/apache/iotdb/db/sync/SyncIT.java
+++ b/testcontainer/src/test/java/org/apache/iotdb/db/sync/SyncIT.java
@@ -103,8 +103,8 @@ public class SyncIT {
   }
 
   private void prepareSchema() throws Exception {
-    senderStatement.execute("set storage group to root.sg1");
-    senderStatement.execute("set storage group to root.sg2");
+    senderStatement.execute("CREATE DATABASE root.sg1");
+    senderStatement.execute("CREATE DATABASE root.sg2");
     senderStatement.execute("create timeseries root.sg1.d1.s1 with datatype=int32, encoding=PLAIN");
     senderStatement.execute("create timeseries root.sg1.d1.s2 with datatype=float, encoding=RLE");
     senderStatement.execute("create timeseries root.sg1.d1.s3 with datatype=TEXT, encoding=PLAIN");
diff --git a/zeppelin-interpreter/IoTDB-Zeppelin-Demo.zpln b/zeppelin-interpreter/IoTDB-Zeppelin-Demo.zpln
index 2428a9c2ca..9c1650812a 100644
--- a/zeppelin-interpreter/IoTDB-Zeppelin-Demo.zpln
+++ b/zeppelin-interpreter/IoTDB-Zeppelin-Demo.zpln
@@ -2,7 +2,7 @@
   "paragraphs": [
     {
       "title": "Set IoTDB Schema",
-      "text": "%iotdb\n\nSET STORAGE GROUP TO root.ln.wf01.wt01;\nCREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN;\nCREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=PLAIN;\nCREATE TIMESERIES root.ln.wf01.wt01.hardware WITH DATATYPE=INT32, ENCODING=PLAIN;\n\n",
+      "text": "%iotdb\n\nCREATE DATABASE root.ln.wf01.wt01;\nCREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN;\nCREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=PLAIN;\nCREATE TIMESERIES root.ln.wf01.wt01.hardware WITH DATATYPE=INT32, ENCODING=PLAIN;\n\n",
       "user": "anonymous",
       "dateUpdated": "2020-11-24T17:01:35+0800",
       "config": {
diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/iotdb/IoTDBInterpreterTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/iotdb/IoTDBInterpreterTest.java
index 0a4048b787..b5d41f89b0 100644
--- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/iotdb/IoTDBInterpreterTest.java
+++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/iotdb/IoTDBInterpreterTest.java
@@ -73,7 +73,7 @@ public class IoTDBInterpreterTest {
   }
 
   private void initInsert() {
-    interpreter.internalInterpret("set storage group to root.test.wf01", null);
+    interpreter.internalInterpret("CREATE DATABASE root.test.wf01", null);
     interpreter.internalInterpret(
         "INSERT INTO root.test.wf01.wt01 (timestamp, temperature, status, hardware) VALUES (1, 1.1, false, 11)",
         null);
@@ -90,7 +90,7 @@ public class IoTDBInterpreterTest {
         "INSERT INTO root.test.wf01.wt01 (timestamp, temperature, status, hardware) VALUES (5, 5.5, false, 55)",
         null);
 
-    interpreter.internalInterpret("set storage group to root.test.wf02", null);
+    interpreter.internalInterpret("CREATE DATABASE root.test.wf02", null);
     interpreter.internalInterpret(
         "INSERT INTO root.test.wf02.wt02 (timestamp, temperature, status, hardware) VALUES (44, 4.4, false, 44)",
         null);
@@ -245,7 +245,7 @@ public class IoTDBInterpreterTest {
   @Test
   public void TestMultiLines() {
     String insert =
-        "SET STORAGE GROUP TO root.test.wf01.wt01;\n"
+        "CREATE DATABASE root.test.wf01.wt01;\n"
             + "CREATE TIMESERIES root.test.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN;\n"
             + "CREATE TIMESERIES root.test.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=PLAIN;\n"
             + "CREATE TIMESERIES root.test.wf01.wt01.hardware WITH DATATYPE=INT32, ENCODING=PLAIN;\n"
@@ -268,7 +268,7 @@ public class IoTDBInterpreterTest {
             + "\n";
     String[] gt =
         new String[] {
-          "SET STORAGE GROUP TO root.test.wf01.wt01",
+          "CREATE DATABASE root.test.wf01.wt01",
           "CREATE TIMESERIES root.test.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
           "CREATE TIMESERIES root.test.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=PLAIN",
           "CREATE TIMESERIES root.test.wf01.wt01.hardware WITH DATATYPE=INT32, ENCODING=PLAIN",
@@ -378,7 +378,7 @@ public class IoTDBInterpreterTest {
 
   @Test
   public void testShowStorageGroup() {
-    InterpreterResult actual = interpreter.internalInterpret("SHOW STORAGE GROUP", null);
+    InterpreterResult actual = interpreter.internalInterpret("SHOW DATABASES", null);
     String gt = "storage group\n" + "root.test.wf02\n" + "root.test.wf01";
     Assert.assertNotNull(actual);
     Assert.assertEquals(Code.SUCCESS, actual.code());