You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2022/10/25 01:52:01 UTC

[shardingsphere] branch master updated: Fixes #21706, optimize broadcast table related syntax (#21729)

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

duanzhengqiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 3d9ee2d9eca Fixes #21706, optimize broadcast table related syntax (#21729)
3d9ee2d9eca is described below

commit 3d9ee2d9ecaf12edd6ee5535d67d4765bba222b4
Author: Raigor <ra...@gmail.com>
AuthorDate: Tue Oct 25 09:51:55 2022 +0800

    Fixes #21706, optimize broadcast table related syntax (#21729)
    
    * For #21706, optimize broadcast table related syntax.
    
    * Update doc.
    
    * Fix test.
    
    * Fix convert test.
    
    * Rename xml files.
    
    * Rename xml files.
    
    * Update xml files.
---
 .../syntax/rdl/rule-definition/sharding.cn.md      | 19 ++----
 .../syntax/rdl/rule-definition/sharding.en.md      | 18 ++----
 .../distsql/syntax/rql/rule-query/sharding.cn.md   | 18 +++---
 .../distsql/syntax/rql/rule-query/sharding.en.md   | 18 +++---
 ....java => BroadcastTableRuleQueryResultSet.java} | 10 +--
 ...ShardingBroadcastTableRuleStatementUpdater.java | 73 ----------------------
 ... CreateBroadcastTableRuleStatementUpdater.java} | 32 ++++++----
 ...=> DropBroadcastTableRuleStatementUpdater.java} | 36 +++++------
 ...dingsphere.infra.distsql.query.DistSQLResultSet |  2 +-
 ...here.infra.distsql.update.RuleDefinitionUpdater |  5 +-
 ...a => BroadcastTableRuleQueryResultSetTest.java} | 10 +--
 ...dingBroadcastTableRuleStatementUpdaterTest.java | 44 -------------
 ...ropBroadcastTableRuleStatementUpdaterTest.java} | 30 +++++----
 .../main/antlr4/imports/sharding/RDLStatement.g4   | 12 ++--
 .../main/antlr4/imports/sharding/RQLStatement.g4   |  4 +-
 .../parser/autogen/ShardingDistSQLStatement.g4     |  7 +--
 .../core/ShardingDistSQLStatementVisitor.java      | 33 ++++------
 .../AlterShardingBroadcastTableRulesStatement.java | 34 ----------
 ...java => CreateBroadcastTableRuleStatement.java} |  4 +-
 ...t.java => DropBroadcastTableRuleStatement.java} |  6 +-
 ....java => ShowBroadcastTableRulesStatement.java} |  6 +-
 .../common/constant/DistSQLScriptConstants.java    |  2 +-
 .../queryable/ConvertYamlConfigurationHandler.java | 21 ++-----
 .../expected/convert-create-sharding.yaml          |  2 +-
 .../rdl_empty_rules/alter_broadcast_rules.xml      | 24 -------
 .../rdl_empty_rules/create_broadcast_rules.xml     |  2 +-
 .../rdl_empty_rules/drop_broadcast_rules.xml       |  2 +-
 .../cases/rdl/rdl-integration-test-cases.xml       | 19 ++----
 .../show_broadcast_rules.xml}                      |  2 +-
 .../show_broadcast_rules.xml}                      |  2 +-
 ...roadcast_rules.xml => show_broadcast_rules.xml} |  2 +-
 ...roadcast_rules.xml => show_broadcast_rules.xml} |  2 +-
 ...roadcast_rules.xml => show_broadcast_rules.xml} |  2 +-
 ...roadcast_rules.xml => show_broadcast_rules.xml} |  2 +-
 .../mysql/show_broadcast_rules.xml}                |  2 +-
 .../mysql/show_sharding_broadcast_rules.xml        | 22 -------
 ...roadcast_rules.xml => show_broadcast_rules.xml} |  2 +-
 .../cases/rql/rql-integration-test-cases.xml       |  4 +-
 .../src/test/resources/env/common/command.xml      |  2 +-
 .../statement/distsql/rdl/RDLStatementAssert.java  | 11 +---
 .../rdl/alter/AlterRuleStatementAssert.java        |  6 --
 .../rdl/create/CreateRuleStatementAssert.java      | 12 ++--
 ...> CreateBroadcastTableRuleStatementAssert.java} | 18 +++---
 .../distsql/rdl/drop/DropRuleStatementAssert.java  | 10 +--
 .../DropBroadcastTableRuleStatementAssert.java}    | 21 ++++---
 ...ShardingBroadcastTableRulesStatementAssert.java | 53 ----------------
 .../jaxb/cases/domain/SQLParserTestCases.java      | 22 +++----
 ...ardingBroadcastTableRulesStatementTestCase.java | 35 -----------
 ...CreateBroadcastTableRuleStatementTestCase.java} |  4 +-
 ...> DropBroadcastTableRuleStatementTestCase.java} |  4 +-
 ... ShowBroadcastTableRulesStatementTestCase.java} |  4 +-
 test/parser/src/main/resources/case/rdl/alter.xml  |  7 +--
 test/parser/src/main/resources/case/rdl/create.xml |  8 +--
 test/parser/src/main/resources/case/rdl/drop.xml   | 21 ++++---
 test/parser/src/main/resources/case/rql/show.xml   |  6 +-
 .../src/main/resources/sql/supported/rdl/alter.xml |  1 -
 .../main/resources/sql/supported/rdl/create.xml    |  4 +-
 .../src/main/resources/sql/supported/rdl/drop.xml  |  6 +-
 .../src/main/resources/sql/supported/rql/show.xml  |  2 +-
 59 files changed, 227 insertions(+), 565 deletions(-)

diff --git a/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding.cn.md b/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding.cn.md
index 0fd2edd3b66..6e80f757018 100644
--- a/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding.cn.md
@@ -153,16 +153,13 @@ bindTableRulesDefinition:
 ```
 - `ALTER` 会使用新的配置直接覆盖数据库内的绑定表配置
 
-### Sharding Broadcast Table Rule
+### Broadcast Table Rule
 
 ```sql
-CREATE SHARDING BROADCAST TABLE RULES (tableName [, tableName] ...)
+CREATE BROADCAST TABLE RULE tableName [, tableName] ...
 
-ALTER SHARDING BROADCAST TABLE RULES (tableName [, tableName] ...)
-
-DROP SHARDING BROADCAST TABLE RULES (tableName [, tableName] ...)
+DROP BROADCAST TABLE RULES tableName [, tableName] ...
 ```
-- `ALTER` 会使用新的配置直接覆盖数据库内的广播表配置
 
 ## 示例
 
@@ -273,14 +270,10 @@ DROP SHARDING BINDING TABLE RULES;
 DROP SHARDING BINDING TABLE RULES (t_order,t_order_item);
 ```
 
-### Sharding Broadcast Table Rule
+### Broadcast Table Rule
 
 ```sql
-CREATE SHARDING BROADCAST TABLE RULES (t_b,t_a);
-
-ALTER SHARDING BROADCAST TABLE RULES (t_b,t_a,t_3);
-
-DROP SHARDING BROADCAST TABLE RULES;
+CREATE BROADCAST TABLE RULES t_a,t_b;
 
-DROP SHARDING BROADCAST TABLE RULES t_b;
+DROP BROADCAST TABLE RULE t_a;
 ```
diff --git a/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding.en.md b/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding.en.md
index 454ba17c373..6ee562a3a29 100644
--- a/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding.en.md
+++ b/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding.en.md
@@ -153,17 +153,13 @@ bindTableRulesDefinition:
 ```
 - `ALTER` will overwrite the binding table configuration in the database with the new configuration
 
-### Sharding Broadcast Table Rule
+### Broadcast Table Rule
 
 ```sql
-CREATE SHARDING BROADCAST TABLE RULES (tableName [, tableName] ... )
+CREATE BROADCAST TABLE RULE tableName [, tableName] ...
 
-ALTER SHARDING BROADCAST TABLE RULES (tableName [, tableName] ... )
-
-DROP SHARDING BROADCAST TABLE RULES
+DROP BROADCAST TABLE RULE tableName [, tableName] ...
 ```
-- `ALTER` will overwrite the broadcast table configuration in the database with the new configuration
-
 
 ## Example
 
@@ -274,12 +270,10 @@ DROP SHARDING BINDING TABLE RULES;
 DROP SHARDING BINDING TABLE RULES (t_order,t_order_item);
 ```
 
-### Sharding Broadcast Table Rule
+### Broadcast Table Rule
 
 ```sql
-CREATE SHARDING BROADCAST TABLE RULES (t_b,t_a);
-
-ALTER SHARDING BROADCAST TABLE RULES (t_b,t_a,t_3);
+CREATE BROADCAST TABLE RULES t_a,t_b;
 
-DROP SHARDING BROADCAST TABLE RULES;
+DROP BROADCAST TABLE RULE t_a;
 ```
diff --git a/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding.cn.md b/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding.cn.md
index 8ef10b35134..d76593bc971 100644
--- a/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding.cn.md
@@ -45,10 +45,10 @@ tableRule:
 SHOW SHARDING BINDING TABLE RULES [FROM databaseName]
 ```
 
-### Sharding Broadcast Table Rule
+### Broadcast Table Rule
 
 ```sql
-SHOW SHARDING BROADCAST TABLE RULES [FROM databaseName]
+SHOW BROADCAST TABLE RULES [FROM databaseName]
 ```
 
 ### Sharding Table Rule
@@ -144,11 +144,11 @@ SHOW SHARDING BROADCAST TABLE RULES [FROM databaseName]
 | ----------------------- | -------- |
 | sharding_binding_tables | 绑定表名称 |
 
-### Sharding Broadcast Table Rule
+### Broadcast Table Rule
 
-| 列                        | 说明      |
-| ------------------------- | -------- |
-| sharding_broadcast_tables | 广播表名称 |
+| 列                | 说明      |
+| ---------------- | -------- |
+| broadcast_tables | 广播表名称 |
 
 ### Sharding Table Rule
 
@@ -316,12 +316,12 @@ mysql> SHOW SHARDING BINDING TABLE RULES;
 2 rows in set (0.00 sec)
 ```
 
-### Sharding Broadcast Table Rule
+### Broadcast Table Rule
 
 ```sql
-mysql> SHOW SHARDING BROADCAST TABLE RULES;
+mysql> SHOW BROADCAST TABLE RULES;
 +------------------------+
-| sharding_broadcast_tables |
+| broadcast_tables |
 +------------------------+
 | t_1                    |
 | t_2                    |
diff --git a/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding.en.md b/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding.en.md
index 76c868757fb..fe343f14fb4 100644
--- a/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding.en.md
+++ b/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding.en.md
@@ -45,10 +45,10 @@ tableRule:
 SHOW SHARDING BINDING TABLE RULES [FROM databaseName]
 ```
 
-### Sharding Broadcast Table Rule
+### Broadcast Table Rule
 
 ```sql
-SHOW SHARDING BROADCAST TABLE RULES [FROM databaseName]
+SHOW BROADCAST TABLE RULES [FROM databaseName]
 ```
 
 ### Sharding Table Rule
@@ -144,11 +144,11 @@ SHOW SHARDING BROADCAST TABLE RULES [FROM databaseName]
 | ----------------------- | --------------------------- |
 | sharding_binding_tables | sharding Binding Table list |
 
-### Sharding Broadcast Table Rule
+### Broadcast Table Rule
 
-| Column                    | Description                   |
-| ------------------------- | ----------------------------- |
-| sharding_broadcast_tables | sharding Broadcast Table list |
+| Column             | Description               |
+|--------------------|---------------------------|
+| broadcast_tables   | Broadcast Table list      |
 
 ### Sharding Table Rule
 
@@ -316,12 +316,12 @@ mysql> SHOW SHARDING BINDING TABLE RULES;
 2 rows in set (0.00 sec)
 ```
 
-### Sharding Broadcast Table Rule
+### Broadcast Table Rule
 
 ```sql
-mysql> SHOW SHARDING BROADCAST TABLE RULES;
+mysql> SHOW BROADCAST TABLE RULES;
 +------------------------+
-| sharding_broadcast_tables |
+| broadcast_tables       |
 +------------------------+
 | t_1                    |
 | t_2                    |
diff --git a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingBroadcastTableRuleQueryResultSet.java b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/BroadcastTableRuleQueryResultSet.java
similarity index 85%
rename from features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingBroadcastTableRuleQueryResultSet.java
rename to features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/BroadcastTableRuleQueryResultSet.java
index 0b1c1ac2537..b4788a800ef 100644
--- a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingBroadcastTableRuleQueryResultSet.java
+++ b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/BroadcastTableRuleQueryResultSet.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sharding.distsql.handler.query;
 
 import org.apache.shardingsphere.infra.distsql.query.DatabaseDistSQLResultSet;
 import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowShardingBroadcastTableRulesStatement;
+import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowBroadcastTableRulesStatement;
 import org.apache.shardingsphere.sharding.rule.ShardingRule;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 
@@ -29,9 +29,9 @@ import java.util.Iterator;
 import java.util.Optional;
 
 /**
- * Query result set for show sharding broadcast table rules.
+ * Query result set for show broadcast table rules.
  */
-public final class ShardingBroadcastTableRuleQueryResultSet implements DatabaseDistSQLResultSet {
+public final class BroadcastTableRuleQueryResultSet implements DatabaseDistSQLResultSet {
     
     private Iterator<String> data;
     
@@ -43,7 +43,7 @@ public final class ShardingBroadcastTableRuleQueryResultSet implements DatabaseD
     
     @Override
     public Collection<String> getColumnNames() {
-        return Collections.singleton("sharding_broadcast_tables");
+        return Collections.singleton("broadcast_tables");
     }
     
     @Override
@@ -58,6 +58,6 @@ public final class ShardingBroadcastTableRuleQueryResultSet implements DatabaseD
     
     @Override
     public String getType() {
-        return ShowShardingBroadcastTableRulesStatement.class.getName();
+        return ShowBroadcastTableRulesStatement.class.getName();
     }
 }
diff --git a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/AlterShardingBroadcastTableRuleStatementUpdater.java b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/AlterShardingBroadcastTableRuleStatementUpdater.java
deleted file mode 100644
index b58caf5b1b8..00000000000
--- a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/AlterShardingBroadcastTableRuleStatementUpdater.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sharding.distsql.handler.update;
-
-import org.apache.shardingsphere.infra.distsql.exception.rule.MissingRequiredRuleException;
-import org.apache.shardingsphere.infra.distsql.exception.rule.RuleDefinitionViolationException;
-import org.apache.shardingsphere.infra.distsql.update.RuleDefinitionAlterUpdater;
-import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.util.exception.ShardingSpherePreconditions;
-import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterShardingBroadcastTableRulesStatement;
-
-/**
- * Alter sharding broadcast table rule statement updater.
- */
-public final class AlterShardingBroadcastTableRuleStatementUpdater implements RuleDefinitionAlterUpdater<AlterShardingBroadcastTableRulesStatement, ShardingRuleConfiguration> {
-    
-    @Override
-    public void checkSQLStatement(final ShardingSphereDatabase database,
-                                  final AlterShardingBroadcastTableRulesStatement sqlStatement, final ShardingRuleConfiguration currentRuleConfig) throws RuleDefinitionViolationException {
-        checkCurrentRuleConfiguration(database.getName(), currentRuleConfig);
-    }
-    
-    private void checkCurrentRuleConfiguration(final String databaseName, final ShardingRuleConfiguration currentRuleConfig) throws MissingRequiredRuleException {
-        ShardingSpherePreconditions.checkNotNull(currentRuleConfig, () -> new MissingRequiredRuleException("Sharding", databaseName));
-    }
-    
-    @Override
-    public ShardingRuleConfiguration buildToBeAlteredRuleConfiguration(final AlterShardingBroadcastTableRulesStatement sqlStatement) {
-        ShardingRuleConfiguration result = new ShardingRuleConfiguration();
-        result.setBroadcastTables(sqlStatement.getTables());
-        return result;
-    }
-    
-    @Override
-    public void updateCurrentRuleConfiguration(final ShardingRuleConfiguration currentRuleConfig, final ShardingRuleConfiguration toBeAlteredRuleConfig) {
-        dropRuleConfiguration(currentRuleConfig);
-        addRuleConfiguration(currentRuleConfig, toBeAlteredRuleConfig);
-    }
-    
-    private void dropRuleConfiguration(final ShardingRuleConfiguration currentRuleConfig) {
-        currentRuleConfig.getBroadcastTables().clear();
-    }
-    
-    private void addRuleConfiguration(final ShardingRuleConfiguration currentRuleConfig, final ShardingRuleConfiguration toBeAlteredRuleConfig) {
-        currentRuleConfig.getBroadcastTables().addAll(toBeAlteredRuleConfig.getBroadcastTables());
-    }
-    
-    @Override
-    public Class<ShardingRuleConfiguration> getRuleConfigurationClass() {
-        return ShardingRuleConfiguration.class;
-    }
-    
-    @Override
-    public String getType() {
-        return AlterShardingBroadcastTableRulesStatement.class.getName();
-    }
-}
diff --git a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingBroadcastTableRuleStatementUpdater.java b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateBroadcastTableRuleStatementUpdater.java
similarity index 62%
rename from features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingBroadcastTableRuleStatementUpdater.java
rename to features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateBroadcastTableRuleStatementUpdater.java
index 47fe53483f0..76788b2e257 100644
--- a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingBroadcastTableRuleStatementUpdater.java
+++ b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateBroadcastTableRuleStatementUpdater.java
@@ -17,34 +17,40 @@
 
 package org.apache.shardingsphere.sharding.distsql.handler.update;
 
+import org.apache.shardingsphere.infra.distsql.exception.rule.DuplicateRuleException;
 import org.apache.shardingsphere.infra.distsql.exception.rule.RuleDefinitionViolationException;
 import org.apache.shardingsphere.infra.distsql.exception.rule.RuleInUsedException;
 import org.apache.shardingsphere.infra.distsql.update.RuleDefinitionCreateUpdater;
 import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
+import org.apache.shardingsphere.infra.util.exception.ShardingSpherePreconditions;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateShardingBroadcastTableRulesStatement;
-
-import java.util.Collections;
+import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateBroadcastTableRuleStatement;
 
 /**
- * Create sharding broadcast table rule statement updater.
+ * Create broadcast table rule statement updater.
  */
-public final class CreateShardingBroadcastTableRuleStatementUpdater implements RuleDefinitionCreateUpdater<CreateShardingBroadcastTableRulesStatement, ShardingRuleConfiguration> {
+public final class CreateBroadcastTableRuleStatementUpdater implements RuleDefinitionCreateUpdater<CreateBroadcastTableRuleStatement, ShardingRuleConfiguration> {
     
     @Override
-    public void checkSQLStatement(final ShardingSphereDatabase database,
-                                  final CreateShardingBroadcastTableRulesStatement sqlStatement, final ShardingRuleConfiguration currentRuleConfig) throws RuleDefinitionViolationException {
-        checkCurrentRuleConfiguration(database.getName(), currentRuleConfig);
+    public void checkSQLStatement(final ShardingSphereDatabase database, final CreateBroadcastTableRuleStatement sqlStatement,
+                                  final ShardingRuleConfiguration currentRuleConfig) throws RuleDefinitionViolationException {
+        checkCurrentRuleConfiguration(database.getName(), sqlStatement, currentRuleConfig);
     }
     
-    private void checkCurrentRuleConfiguration(final String databaseName, final ShardingRuleConfiguration currentRuleConfig) throws RuleInUsedException {
-        if (null != currentRuleConfig && !currentRuleConfig.getBroadcastTables().isEmpty()) {
-            throw new RuleInUsedException("Broadcast", databaseName, Collections.emptyList());
+    private void checkCurrentRuleConfiguration(final String databaseName, final CreateBroadcastTableRuleStatement sqlStatement,
+                                               final ShardingRuleConfiguration currentRuleConfig) throws RuleInUsedException {
+        if (null == currentRuleConfig) {
+            return;
+        }
+        if (currentRuleConfig.getBroadcastTables().isEmpty()) {
+            return;
         }
+        sqlStatement.getTables().retainAll(currentRuleConfig.getBroadcastTables());
+        ShardingSpherePreconditions.checkState(sqlStatement.getTables().isEmpty(), () -> new DuplicateRuleException("Broadcast", sqlStatement.getTables()));
     }
     
     @Override
-    public ShardingRuleConfiguration buildToBeCreatedRuleConfiguration(final CreateShardingBroadcastTableRulesStatement sqlStatement) {
+    public ShardingRuleConfiguration buildToBeCreatedRuleConfiguration(final CreateBroadcastTableRuleStatement sqlStatement) {
         ShardingRuleConfiguration result = new ShardingRuleConfiguration();
         result.setBroadcastTables(sqlStatement.getTables());
         return result;
@@ -64,6 +70,6 @@ public final class CreateShardingBroadcastTableRuleStatementUpdater implements R
     
     @Override
     public String getType() {
-        return CreateShardingBroadcastTableRulesStatement.class.getName();
+        return CreateBroadcastTableRuleStatement.class.getName();
     }
 }
diff --git a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingBroadcastTableRuleStatementUpdater.java b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropBroadcastTableRuleStatementUpdater.java
similarity index 62%
rename from features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingBroadcastTableRuleStatementUpdater.java
rename to features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropBroadcastTableRuleStatementUpdater.java
index 59b3b14a04f..d5cb34c7679 100644
--- a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingBroadcastTableRuleStatementUpdater.java
+++ b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropBroadcastTableRuleStatementUpdater.java
@@ -22,19 +22,19 @@ import org.apache.shardingsphere.infra.distsql.update.RuleDefinitionDropUpdater;
 import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.infra.util.exception.ShardingSpherePreconditions;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.DropShardingBroadcastTableRulesStatement;
+import org.apache.shardingsphere.sharding.distsql.parser.statement.DropBroadcastTableRuleStatement;
 
 import java.util.Collection;
 import java.util.stream.Collectors;
 
 /**
- * Drop sharding broadcast table rule statement updater.
+ * Drop broadcast table rule statement updater.
  */
-public final class DropShardingBroadcastTableRuleStatementUpdater implements RuleDefinitionDropUpdater<DropShardingBroadcastTableRulesStatement, ShardingRuleConfiguration> {
+public final class DropBroadcastTableRuleStatementUpdater implements RuleDefinitionDropUpdater<DropBroadcastTableRuleStatement, ShardingRuleConfiguration> {
     
     @Override
     public void checkSQLStatement(final ShardingSphereDatabase database,
-                                  final DropShardingBroadcastTableRulesStatement sqlStatement, final ShardingRuleConfiguration currentRuleConfig) {
+                                  final DropBroadcastTableRuleStatement sqlStatement, final ShardingRuleConfiguration currentRuleConfig) {
         String databaseName = database.getName();
         if (!isExistRuleConfig(currentRuleConfig) && sqlStatement.isIfExists()) {
             return;
@@ -43,20 +43,20 @@ public final class DropShardingBroadcastTableRuleStatementUpdater implements Rul
         checkBroadcastTableRuleExist(databaseName, sqlStatement, currentRuleConfig);
     }
     
-    private void checkBroadcastTableRuleExist(final String databaseName,
-                                              final DropShardingBroadcastTableRulesStatement sqlStatement, final ShardingRuleConfiguration currentRuleConfig) {
+    private void checkBroadcastTableRuleExist(final String databaseName, final DropBroadcastTableRuleStatement sqlStatement, final ShardingRuleConfiguration currentRuleConfig) {
         if (sqlStatement.isIfExists()) {
             return;
         }
-        if (!sqlStatement.getRules().isEmpty()) {
-            Collection<String> currentRules = currentRuleConfig.getBroadcastTables();
-            Collection<String> notExistRules = sqlStatement.getRules().stream().filter(each -> !containsIgnoreCase(currentRules, each)).collect(Collectors.toList());
-            ShardingSpherePreconditions.checkState(notExistRules.isEmpty(), () -> new MissingRequiredRuleException("Broadcast", databaseName, notExistRules));
+        if (sqlStatement.getRules().isEmpty()) {
+            return;
         }
+        Collection<String> currentRules = currentRuleConfig.getBroadcastTables();
+        Collection<String> notExistRules = sqlStatement.getRules().stream().filter(each -> !containsIgnoreCase(currentRules, each)).collect(Collectors.toList());
+        ShardingSpherePreconditions.checkState(notExistRules.isEmpty(), () -> new MissingRequiredRuleException("Broadcast", databaseName, notExistRules));
     }
     
-    private boolean containsIgnoreCase(final Collection<String> collection, final String str) {
-        return collection.stream().anyMatch(each -> each.equalsIgnoreCase(str));
+    private boolean containsIgnoreCase(final Collection<String> currentRules, final String ruleName) {
+        return currentRules.stream().anyMatch(each -> each.equalsIgnoreCase(ruleName));
     }
     
     private void checkCurrentRuleConfiguration(final String databaseName, final ShardingRuleConfiguration currentRuleConfig) {
@@ -64,7 +64,7 @@ public final class DropShardingBroadcastTableRuleStatementUpdater implements Rul
     }
     
     @Override
-    public boolean hasAnyOneToBeDropped(final DropShardingBroadcastTableRulesStatement sqlStatement, final ShardingRuleConfiguration currentRuleConfig) {
+    public boolean hasAnyOneToBeDropped(final DropBroadcastTableRuleStatement sqlStatement, final ShardingRuleConfiguration currentRuleConfig) {
         if (sqlStatement.getRules().isEmpty()) {
             return true;
         }
@@ -72,12 +72,8 @@ public final class DropShardingBroadcastTableRuleStatementUpdater implements Rul
     }
     
     @Override
-    public boolean updateCurrentRuleConfiguration(final DropShardingBroadcastTableRulesStatement sqlStatement, final ShardingRuleConfiguration currentRuleConfig) {
-        if (sqlStatement.getRules().isEmpty()) {
-            currentRuleConfig.getBroadcastTables().clear();
-        } else {
-            currentRuleConfig.getBroadcastTables().removeIf(each -> containsIgnoreCase(sqlStatement.getRules(), each));
-        }
+    public boolean updateCurrentRuleConfiguration(final DropBroadcastTableRuleStatement sqlStatement, final ShardingRuleConfiguration currentRuleConfig) {
+        currentRuleConfig.getBroadcastTables().removeIf(each -> containsIgnoreCase(sqlStatement.getRules(), each));
         return false;
     }
     
@@ -88,6 +84,6 @@ public final class DropShardingBroadcastTableRuleStatementUpdater implements Rul
     
     @Override
     public String getType() {
-        return DropShardingBroadcastTableRulesStatement.class.getName();
+        return DropBroadcastTableRuleStatement.class.getName();
     }
 }
diff --git a/features/sharding/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.distsql.query.DistSQLResultSet b/features/sharding/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.distsql.query.DistSQLResultSet
index da3e0650f55..83811a73210 100644
--- a/features/sharding/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.distsql.query.DistSQLResultSet
+++ b/features/sharding/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.distsql.query.DistSQLResultSet
@@ -17,7 +17,7 @@
 
 org.apache.shardingsphere.sharding.distsql.handler.query.ShardingTableRuleQueryResultSet
 org.apache.shardingsphere.sharding.distsql.handler.query.ShardingBindingTableRuleQueryResultSet
-org.apache.shardingsphere.sharding.distsql.handler.query.ShardingBroadcastTableRuleQueryResultSet
+org.apache.shardingsphere.sharding.distsql.handler.query.BroadcastTableRuleQueryResultSet
 org.apache.shardingsphere.sharding.distsql.handler.query.ShardingAlgorithmsQueryResultSet
 org.apache.shardingsphere.sharding.distsql.handler.query.ShardingAuditorsQueryResultSet
 org.apache.shardingsphere.sharding.distsql.handler.query.ShardingTableNodesQueryResultSet
diff --git a/features/sharding/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.distsql.update.RuleDefinitionUpdater b/features/sharding/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.distsql.update.RuleDefinitionUpdater
index 52cde466985..8f38d19b474 100644
--- a/features/sharding/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.distsql.update.RuleDefinitionUpdater
+++ b/features/sharding/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.distsql.update.RuleDefinitionUpdater
@@ -23,9 +23,8 @@ org.apache.shardingsphere.sharding.distsql.handler.update.DropShardingAlgorithmS
 org.apache.shardingsphere.sharding.distsql.handler.update.CreateShardingBindingTableRuleStatementUpdater
 org.apache.shardingsphere.sharding.distsql.handler.update.AlterShardingBindingTableRulesStatementUpdater
 org.apache.shardingsphere.sharding.distsql.handler.update.DropShardingBindingTableRuleStatementUpdater
-org.apache.shardingsphere.sharding.distsql.handler.update.CreateShardingBroadcastTableRuleStatementUpdater
-org.apache.shardingsphere.sharding.distsql.handler.update.AlterShardingBroadcastTableRuleStatementUpdater
-org.apache.shardingsphere.sharding.distsql.handler.update.DropShardingBroadcastTableRuleStatementUpdater
+org.apache.shardingsphere.sharding.distsql.handler.update.CreateBroadcastTableRuleStatementUpdater
+org.apache.shardingsphere.sharding.distsql.handler.update.DropBroadcastTableRuleStatementUpdater
 org.apache.shardingsphere.sharding.distsql.handler.update.CreateDefaultShardingStrategyStatementUpdater
 org.apache.shardingsphere.sharding.distsql.handler.update.AlterShardingAlgorithmStatementUpdater
 org.apache.shardingsphere.sharding.distsql.handler.update.CreateShardingKeyGeneratorStatementUpdater
diff --git a/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/query/ShardingBroadcastTableRuleQueryResultSetTest.java b/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/query/BroadcastTableRuleQueryResultSetTest.java
similarity index 86%
rename from features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/query/ShardingBroadcastTableRuleQueryResultSetTest.java
rename to features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/query/BroadcastTableRuleQueryResultSetTest.java
index 2a3fe129152..8fd0ede76a1 100644
--- a/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/query/ShardingBroadcastTableRuleQueryResultSetTest.java
+++ b/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/query/BroadcastTableRuleQueryResultSetTest.java
@@ -18,8 +18,8 @@
 package org.apache.shardingsphere.sharding.distsql.query;
 
 import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.sharding.distsql.handler.query.ShardingBroadcastTableRuleQueryResultSet;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowShardingBroadcastTableRulesStatement;
+import org.apache.shardingsphere.sharding.distsql.handler.query.BroadcastTableRuleQueryResultSet;
+import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowBroadcastTableRulesStatement;
 import org.apache.shardingsphere.sharding.rule.ShardingRule;
 import org.junit.Test;
 
@@ -34,15 +34,15 @@ import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
-public final class ShardingBroadcastTableRuleQueryResultSetTest {
+public final class BroadcastTableRuleQueryResultSetTest {
     
     @Test
     public void assertGetRowData() {
         ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
         ShardingRule rule = mockShardingRule();
         when(database.getRuleMetaData().findSingleRule(ShardingRule.class)).thenReturn(Optional.of(rule));
-        ShardingBroadcastTableRuleQueryResultSet resultSet = new ShardingBroadcastTableRuleQueryResultSet();
-        resultSet.init(database, mock(ShowShardingBroadcastTableRulesStatement.class));
+        BroadcastTableRuleQueryResultSet resultSet = new BroadcastTableRuleQueryResultSet();
+        resultSet.init(database, mock(ShowBroadcastTableRulesStatement.class));
         Collection<Object> actual = resultSet.getRowData();
         assertThat(actual.size(), is(1));
         assertThat(actual, is(Collections.singleton("t_order")));
diff --git a/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/update/AlterShardingBroadcastTableRuleStatementUpdaterTest.java b/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/update/AlterShardingBroadcastTableRuleStatementUpdaterTest.java
deleted file mode 100644
index 465e4ce8967..00000000000
--- a/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/update/AlterShardingBroadcastTableRuleStatementUpdaterTest.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sharding.distsql.update;
-
-import org.apache.shardingsphere.infra.distsql.exception.rule.MissingRequiredRuleException;
-import org.apache.shardingsphere.infra.distsql.exception.rule.RuleDefinitionViolationException;
-import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.sharding.distsql.handler.update.AlterShardingBroadcastTableRuleStatementUpdater;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterShardingBroadcastTableRulesStatement;
-import org.junit.Test;
-
-import java.util.Collections;
-
-import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
-import static org.mockito.Mockito.mock;
-
-public final class AlterShardingBroadcastTableRuleStatementUpdaterTest {
-    
-    private final AlterShardingBroadcastTableRuleStatementUpdater updater = new AlterShardingBroadcastTableRuleStatementUpdater();
-    
-    @Test(expected = MissingRequiredRuleException.class)
-    public void assertCheckSQLStatementWithoutCurrentRule() throws RuleDefinitionViolationException {
-        updater.checkSQLStatement(mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS), createSQLStatement(), null);
-    }
-    
-    private AlterShardingBroadcastTableRulesStatement createSQLStatement() {
-        return new AlterShardingBroadcastTableRulesStatement(Collections.singleton("t_1"));
-    }
-}
diff --git a/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/update/DropShardingBroadcastTableRuleStatementUpdaterTest.java b/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/update/DropBroadcastTableRuleStatementUpdaterTest.java
similarity index 77%
rename from features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/update/DropShardingBroadcastTableRuleStatementUpdaterTest.java
rename to features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/update/DropBroadcastTableRuleStatementUpdaterTest.java
index b247715cf26..5252bbc50a5 100644
--- a/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/update/DropShardingBroadcastTableRuleStatementUpdaterTest.java
+++ b/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/update/DropBroadcastTableRuleStatementUpdaterTest.java
@@ -22,26 +22,27 @@ import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.rule.ShardingAutoTableRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
-import org.apache.shardingsphere.sharding.distsql.handler.update.DropShardingBroadcastTableRuleStatementUpdater;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.DropShardingBroadcastTableRulesStatement;
+import org.apache.shardingsphere.sharding.distsql.handler.update.DropBroadcastTableRuleStatementUpdater;
+import org.apache.shardingsphere.sharding.distsql.parser.statement.DropBroadcastTableRuleStatement;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Answers;
 import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnitRunner;
 
+import java.util.Arrays;
 import java.util.Collections;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 @RunWith(MockitoJUnitRunner.class)
-public final class DropShardingBroadcastTableRuleStatementUpdaterTest {
+public final class DropBroadcastTableRuleStatementUpdaterTest {
     
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private ShardingSphereDatabase database;
     
-    private final DropShardingBroadcastTableRuleStatementUpdater updater = new DropShardingBroadcastTableRuleStatementUpdater();
+    private final DropBroadcastTableRuleStatementUpdater updater = new DropBroadcastTableRuleStatementUpdater();
     
     @Test(expected = MissingRequiredRuleException.class)
     public void assertCheckSQLStatementWithoutCurrentRule() {
@@ -72,9 +73,10 @@ public final class DropShardingBroadcastTableRuleStatementUpdaterTest {
     }
     
     @Test
-    public void assertDropSpecifiedCurrentRuleConfiguration() {
+    public void assertDropSpecifiedRule() {
         ShardingRuleConfiguration currentRuleConfig = createCurrentRuleConfiguration();
         updater.updateCurrentRuleConfiguration(createSQLStatement("t_order"), currentRuleConfig);
+        updater.updateCurrentRuleConfiguration(createSQLStatement("t_address"), currentRuleConfig);
         assertTrue(currentRuleConfig.getBroadcastTables().isEmpty());
     }
     
@@ -82,25 +84,26 @@ public final class DropShardingBroadcastTableRuleStatementUpdaterTest {
     public void assertDropSpecifiedCurrentRuleConfigurationWithDifferentCase() {
         ShardingRuleConfiguration currentRuleConfig = createCurrentRuleConfiguration();
         updater.updateCurrentRuleConfiguration(createSQLStatement("T_ORDER"), currentRuleConfig);
+        updater.updateCurrentRuleConfiguration(createSQLStatement("T_ADDRESS"), currentRuleConfig);
         assertTrue(currentRuleConfig.getBroadcastTables().isEmpty());
     }
     
     @Test
-    public void assertAllCurrentRuleConfiguration() {
+    public void assertDropMultipleBroadcastRule() {
         ShardingRuleConfiguration currentRuleConfig = createCurrentRuleConfiguration();
-        updater.updateCurrentRuleConfiguration(createSQLStatement(null), currentRuleConfig);
+        updater.updateCurrentRuleConfiguration(new DropBroadcastTableRuleStatement(false, Arrays.asList("t_order", "t_address")), currentRuleConfig);
         assertTrue(currentRuleConfig.getBroadcastTables().isEmpty());
     }
     
-    private DropShardingBroadcastTableRulesStatement createSQLStatement(final String tableName) {
-        return null == tableName ? new DropShardingBroadcastTableRulesStatement(false, Collections.emptyList())
-                : new DropShardingBroadcastTableRulesStatement(false, Collections.singleton(tableName));
+    private DropBroadcastTableRuleStatement createSQLStatement(final String tableName) {
+        return null == tableName ? new DropBroadcastTableRuleStatement(false, Collections.emptyList())
+                : new DropBroadcastTableRuleStatement(false, Collections.singleton(tableName));
     }
     
-    private DropShardingBroadcastTableRulesStatement createSQLStatement(final boolean ifExists, final String tableName) {
+    private DropBroadcastTableRuleStatement createSQLStatement(final boolean ifExists, final String tableName) {
         return null == tableName
-                ? new DropShardingBroadcastTableRulesStatement(false, Collections.emptyList())
-                : new DropShardingBroadcastTableRulesStatement(ifExists, Collections.singleton(tableName));
+                ? new DropBroadcastTableRuleStatement(false, Collections.emptyList())
+                : new DropBroadcastTableRuleStatement(ifExists, Collections.singleton(tableName));
     }
     
     private ShardingRuleConfiguration createCurrentRuleConfiguration() {
@@ -108,6 +111,7 @@ public final class DropShardingBroadcastTableRuleStatementUpdaterTest {
         result.getTables().add(new ShardingTableRuleConfiguration("t_order_item"));
         result.getAutoTables().add(new ShardingAutoTableRuleConfiguration("t_order", null));
         result.getBroadcastTables().add("t_order");
+        result.getBroadcastTables().add("t_address");
         return result;
     }
 }
diff --git a/features/sharding/distsql/parser/src/main/antlr4/imports/sharding/RDLStatement.g4 b/features/sharding/distsql/parser/src/main/antlr4/imports/sharding/RDLStatement.g4
index f2fd0cbc1be..46bd6207843 100644
--- a/features/sharding/distsql/parser/src/main/antlr4/imports/sharding/RDLStatement.g4
+++ b/features/sharding/distsql/parser/src/main/antlr4/imports/sharding/RDLStatement.g4
@@ -43,16 +43,12 @@ dropShardingBindingTableRules
     : DROP SHARDING BINDING TABLE RULES ifExists? (bindTableRulesDefinition (COMMA bindTableRulesDefinition)*)?
     ;
 
-createShardingBroadcastTableRules
-    : CREATE SHARDING BROADCAST TABLE RULES LP tableName (COMMA tableName)* RP
+createBroadcastTableRule
+    : CREATE BROADCAST TABLE RULE tableName (COMMA tableName)*
     ;
 
-alterShardingBroadcastTableRules
-    : ALTER SHARDING BROADCAST TABLE RULES LP tableName (COMMA tableName)* RP
-    ;
-
-dropShardingBroadcastTableRules
-    : DROP SHARDING BROADCAST TABLE RULES ifExists? (tableName (COMMA tableName)*)?
+dropBroadcastTableRule
+    : DROP BROADCAST TABLE RULE ifExists? tableName (COMMA tableName)*
     ;
 
 createShardingAlgorithm
diff --git a/features/sharding/distsql/parser/src/main/antlr4/imports/sharding/RQLStatement.g4 b/features/sharding/distsql/parser/src/main/antlr4/imports/sharding/RQLStatement.g4
index 75195a727ac..e65a9dd968d 100644
--- a/features/sharding/distsql/parser/src/main/antlr4/imports/sharding/RQLStatement.g4
+++ b/features/sharding/distsql/parser/src/main/antlr4/imports/sharding/RQLStatement.g4
@@ -27,8 +27,8 @@ showShardingBindingTableRules
     : SHOW SHARDING BINDING TABLE RULES (FROM databaseName)?
     ;
 
-showShardingBroadcastTableRules
-    : SHOW SHARDING BROADCAST TABLE RULES (FROM databaseName)?
+showBroadcastTableRules
+    : SHOW BROADCAST TABLE RULES (FROM databaseName)?
     ;
 
 showShardingAlgorithms
diff --git a/features/sharding/distsql/parser/src/main/antlr4/sharding/org/apache/shardingsphere/distsql/parser/autogen/ShardingDistSQLStatement.g4 b/features/sharding/distsql/parser/src/main/antlr4/sharding/org/apache/shardingsphere/distsql/parser/autogen/ShardingDistSQLStatement.g4
index 3e2c2a20077..ac84ddd9242 100644
--- a/features/sharding/distsql/parser/src/main/antlr4/sharding/org/apache/shardingsphere/distsql/parser/autogen/ShardingDistSQLStatement.g4
+++ b/features/sharding/distsql/parser/src/main/antlr4/sharding/org/apache/shardingsphere/distsql/parser/autogen/ShardingDistSQLStatement.g4
@@ -23,20 +23,19 @@ execute
     : (createShardingTableRule
     | createDefaultShardingStrategy
     | createShardingBindingTableRules
-    | createShardingBroadcastTableRules
+    | createBroadcastTableRule
     | alterShardingTableRule
     | alterShardingBindingTableRules
-    | alterShardingBroadcastTableRules
     | dropShardingTableRule
     | dropShardingBindingTableRules
-    | dropShardingBroadcastTableRules
+    | dropBroadcastTableRule
     | dropShardingAlgorithm
     | showShardingTableRulesUsedAlgorithm
     | showShardingTableRulesUsedKeyGenerator
     | showShardingTableRulesUsedAuditor
     | showShardingTableRules
     | showShardingBindingTableRules
-    | showShardingBroadcastTableRules
+    | showBroadcastTableRules
     | showShardingAlgorithms
     | setShardingHintDatabaseValue
     | addShardingHintDatabaseValue
diff --git a/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java b/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
index 3b4d46c93ff..d9c9f96f1af 100644
--- a/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
+++ b/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
@@ -27,7 +27,6 @@ import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatement
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.AlterShardingAlgorithmContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.AlterShardingAuditorContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.AlterShardingBindingTableRulesContext;
-import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.AlterShardingBroadcastTableRulesContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.AlterShardingKeyGeneratorContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.AlterShardingTableRuleContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.AuditDefinitionContext;
@@ -38,20 +37,20 @@ import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatement
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.BindTableRulesDefinitionContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.ClearShardingHintContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.CountShardingRuleContext;
+import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.CreateBroadcastTableRuleContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.CreateDefaultShardingStrategyContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.CreateShardingAlgorithmContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.CreateShardingAuditorContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.CreateShardingBindingTableRulesContext;
-import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.CreateShardingBroadcastTableRulesContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.CreateShardingKeyGeneratorContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.CreateShardingTableRuleContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.DataNodesContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.DatabaseNameContext;
+import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.DropBroadcastTableRuleContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.DropDefaultShardingStrategyContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.DropShardingAlgorithmContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.DropShardingAuditorContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.DropShardingBindingTableRulesContext;
-import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.DropShardingBroadcastTableRulesContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.DropShardingKeyGeneratorContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.DropShardingTableRuleContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.KeyGenerateDefinitionContext;
@@ -65,18 +64,18 @@ import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatement
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.ShardingStrategyContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.ShardingTableRuleContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.ShardingTableRuleDefinitionContext;
+import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.ShowBroadcastTableRulesContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.ShowShardingAlgorithmsContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.ShowShardingAuditorsContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.ShowShardingBindingTableRulesContext;
-import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.ShowShardingBroadcastTableRulesContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.ShowShardingDefaultShardingStrategyContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.ShowShardingHintStatusContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.ShowShardingKeyGeneratorsContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.ShowShardingTableNodesContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.ShowShardingTableRulesContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.ShowShardingTableRulesUsedAlgorithmContext;
-import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.ShowShardingTableRulesUsedKeyGeneratorContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.ShowShardingTableRulesUsedAuditorContext;
+import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.ShowShardingTableRulesUsedKeyGeneratorContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.ShowUnusedShardingAlgorithmsContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.ShowUnusedShardingAuditorsContext;
 import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.ShowUnusedShardingKeyGeneratorsContext;
@@ -98,29 +97,28 @@ import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterDefaultS
 import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterShardingAlgorithmStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterShardingAuditorStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterShardingBindingTableRulesStatement;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterShardingBroadcastTableRulesStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterShardingKeyGeneratorStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterShardingTableRuleStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.CountShardingRuleStatement;
+import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateBroadcastTableRuleStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateDefaultShardingStrategyStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateShardingAlgorithmStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateShardingAuditorStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateShardingBindingTableRulesStatement;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateShardingBroadcastTableRulesStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateShardingKeyGeneratorStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateShardingTableRuleStatement;
+import org.apache.shardingsphere.sharding.distsql.parser.statement.DropBroadcastTableRuleStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.DropDefaultShardingStrategyStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.DropShardingAlgorithmStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.DropShardingAuditorStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.DropShardingBindingTableRulesStatement;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.DropShardingBroadcastTableRulesStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.DropShardingKeyGeneratorStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.DropShardingTableRuleStatement;
+import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowBroadcastTableRulesStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowDefaultShardingStrategyStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowShardingAlgorithmsStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowShardingAuditorsStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowShardingBindingTableRulesStatement;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowShardingBroadcastTableRulesStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowShardingKeyGeneratorsStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowShardingTableNodesStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowShardingTableRulesStatement;
@@ -181,8 +179,8 @@ public final class ShardingDistSQLStatementVisitor extends ShardingDistSQLStatem
     }
     
     @Override
-    public ASTNode visitCreateShardingBroadcastTableRules(final CreateShardingBroadcastTableRulesContext ctx) {
-        return new CreateShardingBroadcastTableRulesStatement(ctx.tableName().stream().map(this::getIdentifierValue).collect(Collectors.toList()));
+    public ASTNode visitCreateBroadcastTableRule(final CreateBroadcastTableRuleContext ctx) {
+        return new CreateBroadcastTableRuleStatement(ctx.tableName().stream().map(this::getIdentifierValue).collect(Collectors.toList()));
     }
     
     @Override
@@ -193,8 +191,8 @@ public final class ShardingDistSQLStatementVisitor extends ShardingDistSQLStatem
     }
     
     @Override
-    public ASTNode visitShowShardingBroadcastTableRules(final ShowShardingBroadcastTableRulesContext ctx) {
-        return new ShowShardingBroadcastTableRulesStatement(Objects.nonNull(ctx.databaseName()) ? (DatabaseSegment) visit(ctx.databaseName()) : null);
+    public ASTNode visitShowBroadcastTableRules(final ShowBroadcastTableRulesContext ctx) {
+        return new ShowBroadcastTableRulesStatement(Objects.nonNull(ctx.databaseName()) ? (DatabaseSegment) visit(ctx.databaseName()) : null);
     }
     
     @Override
@@ -206,11 +204,6 @@ public final class ShardingDistSQLStatementVisitor extends ShardingDistSQLStatem
         return new AlterShardingBindingTableRulesStatement(rules);
     }
     
-    @Override
-    public ASTNode visitAlterShardingBroadcastTableRules(final AlterShardingBroadcastTableRulesContext ctx) {
-        return new AlterShardingBroadcastTableRulesStatement(ctx.tableName().stream().map(this::getIdentifierValue).collect(Collectors.toList()));
-    }
-    
     @Override
     public ASTNode visitDropShardingTableRule(final DropShardingTableRuleContext ctx) {
         DropShardingTableRuleStatement result = new DropShardingTableRuleStatement(null != ctx.ifExists(),
@@ -290,9 +283,9 @@ public final class ShardingDistSQLStatementVisitor extends ShardingDistSQLStatem
     }
     
     @Override
-    public ASTNode visitDropShardingBroadcastTableRules(final DropShardingBroadcastTableRulesContext ctx) {
+    public ASTNode visitDropBroadcastTableRule(final DropBroadcastTableRuleContext ctx) {
         Collection<String> tableNames = null == ctx.tableName() ? Collections.emptyList() : ctx.tableName().stream().map(this::getIdentifierValue).collect(Collectors.toList());
-        return new DropShardingBroadcastTableRulesStatement(null != ctx.ifExists(), tableNames);
+        return new DropBroadcastTableRuleStatement(null != ctx.ifExists(), tableNames);
     }
     
     @Override
diff --git a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/AlterShardingBroadcastTableRulesStatement.java b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/AlterShardingBroadcastTableRulesStatement.java
deleted file mode 100644
index 4fd4feab2a3..00000000000
--- a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/AlterShardingBroadcastTableRulesStatement.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sharding.distsql.parser.statement;
-
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.distsql.parser.statement.rdl.alter.AlterRuleStatement;
-
-import java.util.Collection;
-
-/**
- * Alter sharding broadcast table rules statement.
- */
-@RequiredArgsConstructor
-@Getter
-public final class AlterShardingBroadcastTableRulesStatement extends AlterRuleStatement {
-    
-    private final Collection<String> tables;
-}
diff --git a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/CreateShardingBroadcastTableRulesStatement.java b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/CreateBroadcastTableRuleStatement.java
similarity index 88%
rename from features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/CreateShardingBroadcastTableRulesStatement.java
rename to features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/CreateBroadcastTableRuleStatement.java
index 68120803ace..3a8775fb6d3 100644
--- a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/CreateShardingBroadcastTableRulesStatement.java
+++ b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/CreateBroadcastTableRuleStatement.java
@@ -24,11 +24,11 @@ import org.apache.shardingsphere.distsql.parser.statement.rdl.create.CreateRuleS
 import java.util.Collection;
 
 /**
- * Create sharding broadcast table rules statement.
+ * Create broadcast table rule statement.
  */
 @RequiredArgsConstructor
 @Getter
-public final class CreateShardingBroadcastTableRulesStatement extends CreateRuleStatement {
+public final class CreateBroadcastTableRuleStatement extends CreateRuleStatement {
     
     private final Collection<String> tables;
 }
diff --git a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/DropShardingBroadcastTableRulesStatement.java b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/DropBroadcastTableRuleStatement.java
similarity index 82%
rename from features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/DropShardingBroadcastTableRulesStatement.java
rename to features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/DropBroadcastTableRuleStatement.java
index 3c5ee8ccf3a..e5cc3a16c31 100644
--- a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/DropShardingBroadcastTableRulesStatement.java
+++ b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/DropBroadcastTableRuleStatement.java
@@ -23,14 +23,14 @@ import org.apache.shardingsphere.distsql.parser.statement.rdl.drop.DropRuleState
 import java.util.Collection;
 
 /**
- * Drop sharding broadcast table rules statement.
+ * Drop broadcast table rules statement.
  */
 @Getter
-public final class DropShardingBroadcastTableRulesStatement extends DropRuleStatement {
+public final class DropBroadcastTableRuleStatement extends DropRuleStatement {
     
     private final Collection<String> rules;
     
-    public DropShardingBroadcastTableRulesStatement(final boolean ifExists, final Collection<String> rules) {
+    public DropBroadcastTableRuleStatement(final boolean ifExists, final Collection<String> rules) {
         super(ifExists);
         this.rules = rules;
     }
diff --git a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/ShowShardingBroadcastTableRulesStatement.java b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/ShowBroadcastTableRulesStatement.java
similarity index 82%
rename from features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/ShowShardingBroadcastTableRulesStatement.java
rename to features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/ShowBroadcastTableRulesStatement.java
index 437c79a3d52..ccf98574305 100644
--- a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/ShowShardingBroadcastTableRulesStatement.java
+++ b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/statement/ShowBroadcastTableRulesStatement.java
@@ -21,11 +21,11 @@ import org.apache.shardingsphere.distsql.parser.statement.rql.show.ShowRulesStat
 import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.DatabaseSegment;
 
 /**
- * Show sharding broadcast table rules statement.
+ * Show broadcast table rules statement.
  */
-public final class ShowShardingBroadcastTableRulesStatement extends ShowRulesStatement {
+public final class ShowBroadcastTableRulesStatement extends ShowRulesStatement {
     
-    public ShowShardingBroadcastTableRulesStatement(final DatabaseSegment database) {
+    public ShowBroadcastTableRulesStatement(final DatabaseSegment database) {
         super(database);
     }
 }
diff --git a/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/common/constant/DistSQLScriptConstants.java b/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/common/constant/DistSQLScriptConstants.java
index ef0c9d7f01d..970f96e5378 100644
--- a/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/common/constant/DistSQLScriptConstants.java
+++ b/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/common/constant/DistSQLScriptConstants.java
@@ -129,7 +129,7 @@ public final class DistSQLScriptConstants {
     
     public static final String BRACKET = "(%s)";
     
-    public static final String SHARDING_BROADCAST_TABLE_RULES = "CREATE SHARDING BROADCAST TABLE RULES %s";
+    public static final String BROADCAST_TABLE_RULE = "CREATE BROADCAST TABLE RULE %s";
     
     public static final String CREATE_READWRITE_SPLITTING_RULE = "CREATE READWRITE_SPLITTING RULE";
     
diff --git a/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ConvertYamlConfigurationHandler.java b/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ConvertYamlConfigurationHandler.java
index d4ab95bc25e..8d3121e71b2 100644
--- a/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ConvertYamlConfigurationHandler.java
+++ b/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ConvertYamlConfigurationHandler.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable;
 
+import com.google.common.base.Joiner;
 import com.google.common.base.Preconditions;
 import com.google.common.base.Strings;
 import com.zaxxer.hikari.HikariDataSource;
@@ -310,7 +311,7 @@ public final class ConvertYamlConfigurationHandler extends QueryableRALBackendHa
         return result.substring(0, result.lastIndexOf(","));
     }
     
-    private StringBuilder getStrategy(final ShardingStrategyConfiguration shardingStrategyConfiguration, final String strategyType, final StringBuilder result) {
+    private void getStrategy(final ShardingStrategyConfiguration shardingStrategyConfiguration, final String strategyType, final StringBuilder result) {
         String type = shardingStrategyConfiguration.getType().toLowerCase();
         String shardingAlgorithmName = shardingStrategyConfiguration.getShardingAlgorithmName();
         switch (type) {
@@ -330,7 +331,6 @@ public final class ConvertYamlConfigurationHandler extends QueryableRALBackendHa
             default:
                 break;
         }
-        return result;
     }
     
     private void appendShardingBindingTableRules(final ShardingRuleConfiguration shardingRuleConfig, final StringBuilder result) {
@@ -352,21 +352,12 @@ public final class ConvertYamlConfigurationHandler extends QueryableRALBackendHa
     }
     
     private void appendShardingBroadcastTableRules(final ShardingRuleConfiguration shardingRuleConfig, final StringBuilder result) {
-        String broadcast = getBroadcast(shardingRuleConfig.getBroadcastTables().iterator());
-        result.append(String.format(DistSQLScriptConstants.SHARDING_BROADCAST_TABLE_RULES, broadcast));
+        String broadcast = getBroadcast(shardingRuleConfig.getBroadcastTables());
+        result.append(String.format(DistSQLScriptConstants.BROADCAST_TABLE_RULE, broadcast));
     }
     
-    private String getBroadcast(final Iterator<String> iterator) {
-        StringBuilder result = new StringBuilder();
-        while (iterator.hasNext()) {
-            String broadcast = iterator.next();
-            result.append(String.format(DistSQLScriptConstants.BRACKET, broadcast));
-            if (iterator.hasNext()) {
-                result.append(DistSQLScriptConstants.COMMA);
-            }
-        }
-        result.append(DistSQLScriptConstants.SEMI).append(System.lineSeparator());
-        return result.toString();
+    private String getBroadcast(final Collection<String> broadcastTables) {
+        return Joiner.on(",").join(broadcastTables) + DistSQLScriptConstants.SEMI + System.lineSeparator();
     }
     
     private void appendReadWriteSplittingRules(final Collection<YamlRuleConfiguration> ruleConfigs, final StringBuilder result) {
diff --git a/proxy/backend/src/test/resources/expected/convert-create-sharding.yaml b/proxy/backend/src/test/resources/expected/convert-create-sharding.yaml
index 2695b54e76a..ac54a9e640b 100644
--- a/proxy/backend/src/test/resources/expected/convert-create-sharding.yaml
+++ b/proxy/backend/src/test/resources/expected/convert-create-sharding.yaml
@@ -48,4 +48,4 @@ TABLE_STRATEGY(TYPE="complex", SHARDING_COLUMNS=order_id, user_id, SHARDING_ALGO
 KEY_GENERATE_STRATEGY(COLUMN=order_item_id, KEY_GENERATOR=snowflake)
 );
 CREATE SHARDING BINDING TABLE RULES (t_order,t_order_item);
-CREATE SHARDING BROADCAST TABLE RULES (t_order,t_order_item);
+CREATE BROADCAST TABLE RULE t_order,t_order_item;
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_broadcast_rules.xml b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_broadcast_rules.xml
deleted file mode 100644
index 1dfd1c72379..00000000000
--- a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/alter_broadcast_rules.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~     http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<dataset>
-    <metadata>
-        <column name="sharding_broadcast_tables" />
-    </metadata>
-    <row values="t_country" />
-    <row values="t_product_category" />
-</dataset>
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_broadcast_rules.xml b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_broadcast_rules.xml
index 306a7f0aa81..fe1858a6522 100644
--- a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_broadcast_rules.xml
+++ b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/create_broadcast_rules.xml
@@ -17,7 +17,7 @@
 
 <dataset>
     <metadata>
-        <column name="sharding_broadcast_tables" />
+        <column name="broadcast_tables" />
     </metadata>
     <row values="t_product_category" />
 </dataset>
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/drop_broadcast_rules.xml b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/drop_broadcast_rules.xml
index 53ecd548097..78a489270e0 100644
--- a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/drop_broadcast_rules.xml
+++ b/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/drop_broadcast_rules.xml
@@ -17,6 +17,6 @@
 
 <dataset>
     <metadata>
-        <column name="sharding_broadcast_tables" />
+        <column name="broadcast_tables" />
     </metadata>
 </dataset>
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rdl/rdl-integration-test-cases.xml b/test/integration-test/test-suite/src/test/resources/cases/rdl/rdl-integration-test-cases.xml
index ac8cd02ac24..5624266f504 100644
--- a/test/integration-test/test-suite/src/test/resources/cases/rdl/rdl-integration-test-cases.xml
+++ b/test/integration-test/test-suite/src/test/resources/cases/rdl/rdl-integration-test-cases.xml
@@ -57,23 +57,16 @@
             <destroy-sql sql="DROP SHARDING TABLE RULE t_order;DROP SHARDING TABLE RULE t_order_item;"/>
         </assertion>
     </test-case>
-    <test-case sql="CREATE SHARDING BROADCAST TABLE RULES (t_product_category);" db-types="MySQL, PostgreSQL">
+    <test-case sql="CREATE BROADCAST TABLE RULE t_product_category;" db-types="MySQL, PostgreSQL">
         <assertion expected-data-file="create_broadcast_rules.xml">
-            <assertion-sql sql="SHOW SHARDING BROADCAST TABLE RULES;" />
-            <destroy-sql sql="DROP SHARDING BROADCAST TABLE RULES (t_product_category); "/>
+            <assertion-sql sql="SHOW BROADCAST TABLE RULES;" />
+            <destroy-sql sql="DROP BROADCAST TABLE RULE t_product_category; "/>
         </assertion>
     </test-case>
-    <test-case sql="ALTER SHARDING BROADCAST TABLE RULES (t_product_category,t_country);" db-types="MySQL, PostgreSQL">
-        <assertion expected-data-file="alter_broadcast_rules.xml">
-            <initial-sql sql="CREATE SHARDING BROADCAST TABLE RULES (t_product_category);" />
-            <assertion-sql sql="SHOW SHARDING BROADCAST TABLE RULES;" />
-            <destroy-sql sql="DROP SHARDING BROADCAST TABLE RULES (t_product_category,t_country); "/>
-        </assertion>
-    </test-case>
-    <test-case sql="DROP SHARDING BROADCAST TABLE RULES (t_country);" db-types="MySQL, PostgreSQL">
+    <test-case sql="DROP BROADCAST TABLE RULE t_country;" db-types="MySQL, PostgreSQL">
         <assertion expected-data-file="drop_broadcast_rules.xml">
-            <initial-sql sql="CREATE SHARDING BROADCAST TABLE RULES (t_country);" />
-            <assertion-sql sql="SHOW SHARDING BROADCAST TABLE RULES;" />
+            <initial-sql sql="CREATE BROADCAST TABLE RULE t_country;" />
+            <assertion-sql sql="SHOW BROADCAST TABLE RULES;" />
         </assertion>
     </test-case>
     <test-case sql="CREATE ENCRYPT RULE t_user (COLUMNS((NAME=pwd,PLAIN=pwd_plain,CIPHER=pwd_cipher,TYPE(NAME='AES',PROPERTIES('aes-key-value'='123456abc')))),QUERY_WITH_CIPHER_COLUMN=true);" db-types="MySQL, PostgreSQL">
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_broadcast_rules.xml b/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/db/show_broadcast_rules.xml
similarity index 95%
rename from test/integration-test/test-suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_broadcast_rules.xml
rename to test/integration-test/test-suite/src/test/resources/cases/rql/dataset/db/show_broadcast_rules.xml
index 6a6ddde8c08..9f18c3fc9d7 100644
--- a/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_sharding_broadcast_rules.xml
+++ b/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/db/show_broadcast_rules.xml
@@ -17,7 +17,7 @@
 
 <dataset>
     <metadata>
-        <column name="sharding_broadcast_tables" />
+        <column name="broadcast_tables" />
     </metadata>
     <row values="t_broadcast_table" />
     <row values="t_broadcast_table_for_ddl" />
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/db/show_sharding_broadcast_rules.xml b/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_broadcast_rules.xml
similarity index 95%
rename from test/integration-test/test-suite/src/test/resources/cases/rql/dataset/db/show_sharding_broadcast_rules.xml
rename to test/integration-test/test-suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_broadcast_rules.xml
index 6a6ddde8c08..9f18c3fc9d7 100644
--- a/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/db/show_sharding_broadcast_rules.xml
+++ b/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting/show_broadcast_rules.xml
@@ -17,7 +17,7 @@
 
 <dataset>
     <metadata>
-        <column name="sharding_broadcast_tables" />
+        <column name="broadcast_tables" />
     </metadata>
     <row values="t_broadcast_table" />
     <row values="t_broadcast_table_for_ddl" />
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting_and_encrypt/show_sharding_broadcast_rules.xml b/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting_and_encrypt/show_broadcast_rules.xml
similarity index 94%
rename from test/integration-test/test-suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting_and_encrypt/show_sharding_broadcast_rules.xml
rename to test/integration-test/test-suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting_and_encrypt/show_broadcast_rules.xml
index 53ecd548097..78a489270e0 100644
--- a/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting_and_encrypt/show_sharding_broadcast_rules.xml
+++ b/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/dbtbl_with_readwrite_splitting_and_encrypt/show_broadcast_rules.xml
@@ -17,6 +17,6 @@
 
 <dataset>
     <metadata>
-        <column name="sharding_broadcast_tables" />
+        <column name="broadcast_tables" />
     </metadata>
 </dataset>
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/encrypt/show_sharding_broadcast_rules.xml b/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/encrypt/show_broadcast_rules.xml
similarity index 94%
rename from test/integration-test/test-suite/src/test/resources/cases/rql/dataset/encrypt/show_sharding_broadcast_rules.xml
rename to test/integration-test/test-suite/src/test/resources/cases/rql/dataset/encrypt/show_broadcast_rules.xml
index 53ecd548097..78a489270e0 100644
--- a/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/encrypt/show_sharding_broadcast_rules.xml
+++ b/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/encrypt/show_broadcast_rules.xml
@@ -17,6 +17,6 @@
 
 <dataset>
     <metadata>
-        <column name="sharding_broadcast_tables" />
+        <column name="broadcast_tables" />
     </metadata>
 </dataset>
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/readwrite_splitting/show_sharding_broadcast_rules.xml b/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/readwrite_splitting/show_broadcast_rules.xml
similarity index 94%
rename from test/integration-test/test-suite/src/test/resources/cases/rql/dataset/readwrite_splitting/show_sharding_broadcast_rules.xml
rename to test/integration-test/test-suite/src/test/resources/cases/rql/dataset/readwrite_splitting/show_broadcast_rules.xml
index 150d5310860..d64d500dc3f 100644
--- a/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/readwrite_splitting/show_sharding_broadcast_rules.xml
+++ b/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/readwrite_splitting/show_broadcast_rules.xml
@@ -17,7 +17,7 @@
 
 <dataset>
     <metadata>
-        <column name="sharding_broadcast_tables" />
+        <column name="broadcast_tables" />
     </metadata>
     <row values="t_broadcast_table" />
     <row values="t_broadcast_table_for_ddl" />
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/sharding_and_encrypt/show_sharding_broadcast_rules.xml b/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/sharding_and_encrypt/show_broadcast_rules.xml
similarity index 94%
rename from test/integration-test/test-suite/src/test/resources/cases/rql/dataset/sharding_and_encrypt/show_sharding_broadcast_rules.xml
rename to test/integration-test/test-suite/src/test/resources/cases/rql/dataset/sharding_and_encrypt/show_broadcast_rules.xml
index 53ecd548097..78a489270e0 100644
--- a/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/sharding_and_encrypt/show_sharding_broadcast_rules.xml
+++ b/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/sharding_and_encrypt/show_broadcast_rules.xml
@@ -17,6 +17,6 @@
 
 <dataset>
     <metadata>
-        <column name="sharding_broadcast_tables" />
+        <column name="broadcast_tables" />
     </metadata>
 </dataset>
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/drop_broadcast_rules.xml b/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/sharding_governance/mysql/show_broadcast_rules.xml
similarity index 94%
copy from test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/drop_broadcast_rules.xml
copy to test/integration-test/test-suite/src/test/resources/cases/rql/dataset/sharding_governance/mysql/show_broadcast_rules.xml
index 53ecd548097..78a489270e0 100644
--- a/test/integration-test/test-suite/src/test/resources/cases/rdl/dataset/rdl_empty_rules/drop_broadcast_rules.xml
+++ b/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/sharding_governance/mysql/show_broadcast_rules.xml
@@ -17,6 +17,6 @@
 
 <dataset>
     <metadata>
-        <column name="sharding_broadcast_tables" />
+        <column name="broadcast_tables" />
     </metadata>
 </dataset>
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/sharding_governance/mysql/show_sharding_broadcast_rules.xml b/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/sharding_governance/mysql/show_sharding_broadcast_rules.xml
deleted file mode 100644
index 53ecd548097..00000000000
--- a/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/sharding_governance/mysql/show_sharding_broadcast_rules.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~     http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<dataset>
-    <metadata>
-        <column name="sharding_broadcast_tables" />
-    </metadata>
-</dataset>
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/tbl/show_sharding_broadcast_rules.xml b/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/tbl/show_broadcast_rules.xml
similarity index 94%
rename from test/integration-test/test-suite/src/test/resources/cases/rql/dataset/tbl/show_sharding_broadcast_rules.xml
rename to test/integration-test/test-suite/src/test/resources/cases/rql/dataset/tbl/show_broadcast_rules.xml
index 150d5310860..d64d500dc3f 100644
--- a/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/tbl/show_sharding_broadcast_rules.xml
+++ b/test/integration-test/test-suite/src/test/resources/cases/rql/dataset/tbl/show_broadcast_rules.xml
@@ -17,7 +17,7 @@
 
 <dataset>
     <metadata>
-        <column name="sharding_broadcast_tables" />
+        <column name="broadcast_tables" />
     </metadata>
     <row values="t_broadcast_table" />
     <row values="t_broadcast_table_for_ddl" />
diff --git a/test/integration-test/test-suite/src/test/resources/cases/rql/rql-integration-test-cases.xml b/test/integration-test/test-suite/src/test/resources/cases/rql/rql-integration-test-cases.xml
index de94df71259..10f0876ded2 100644
--- a/test/integration-test/test-suite/src/test/resources/cases/rql/rql-integration-test-cases.xml
+++ b/test/integration-test/test-suite/src/test/resources/cases/rql/rql-integration-test-cases.xml
@@ -85,8 +85,8 @@
         <assertion expected-data-file="show_sharding_binging_table_rules.xml" />
     </test-case>
     
-    <test-case sql="SHOW SHARDING BROADCAST TABLE RULES" scenario-types="db,tbl,readwrite_splitting,encrypt,dbtbl_with_readwrite_splitting,dbtbl_with_readwrite_splitting_and_encrypt,sharding_and_encrypt">
-        <assertion expected-data-file="show_sharding_broadcast_rules.xml" />
+    <test-case sql="SHOW BROADCAST TABLE RULES" scenario-types="db,tbl,readwrite_splitting,encrypt,dbtbl_with_readwrite_splitting,dbtbl_with_readwrite_splitting_and_encrypt,sharding_and_encrypt">
+        <assertion expected-data-file="show_broadcast_rules.xml" />
     </test-case>
     
     <test-case sql="SHOW DEFAULT SINGLE TABLE STORAGE UNIT" scenario-types="db,tbl,readwrite_splitting,encrypt,dbtbl_with_readwrite_splitting,dbtbl_with_readwrite_splitting_and_encrypt,sharding_and_encrypt,encrypt_and_readwrite_splitting">
diff --git a/test/integration-test/transaction/src/test/resources/env/common/command.xml b/test/integration-test/transaction/src/test/resources/env/common/command.xml
index 7fa705bd099..d5d2ba2cbcd 100644
--- a/test/integration-test/transaction/src/test/resources/env/common/command.xml
+++ b/test/integration-test/transaction/src/test/resources/env/common/command.xml
@@ -90,7 +90,7 @@
     </create-three-data-source-account-table-rule>
 
     <create-address-broadcast-table-rule>
-        CREATE SHARDING BROADCAST TABLE RULES (t_address);
+        CREATE BROADCAST TABLE RULE t_address;
     </create-address-broadcast-table-rule>
     
     <alter-local-transaction-rule>
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/RDLStatementAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/RDLStatementAssert.java
index 38db1bcbf53..7cd9fa78003 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/RDLStatementAssert.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/RDLStatementAssert.java
@@ -21,16 +21,15 @@ import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.dbdiscovery.distsql.parser.statement.AlterDatabaseDiscoveryRuleStatement;
 import org.apache.shardingsphere.distsql.parser.statement.rdl.RDLStatement;
-import org.apache.shardingsphere.distsql.parser.statement.rdl.alter.AlterStorageUnitStatement;
 import org.apache.shardingsphere.distsql.parser.statement.rdl.alter.AlterRuleStatement;
-import org.apache.shardingsphere.distsql.parser.statement.rdl.create.RegisterStorageUnitStatement;
+import org.apache.shardingsphere.distsql.parser.statement.rdl.alter.AlterStorageUnitStatement;
 import org.apache.shardingsphere.distsql.parser.statement.rdl.create.CreateRuleStatement;
-import org.apache.shardingsphere.distsql.parser.statement.rdl.drop.UnregisterStorageUnitStatement;
+import org.apache.shardingsphere.distsql.parser.statement.rdl.create.RegisterStorageUnitStatement;
 import org.apache.shardingsphere.distsql.parser.statement.rdl.drop.DropRuleStatement;
+import org.apache.shardingsphere.distsql.parser.statement.rdl.drop.UnregisterStorageUnitStatement;
 import org.apache.shardingsphere.encrypt.distsql.parser.statement.AlterEncryptRuleStatement;
 import org.apache.shardingsphere.readwritesplitting.distsql.parser.statement.AlterReadwriteSplittingRuleStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterShardingBindingTableRulesStatement;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterShardingBroadcastTableRulesStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterShardingTableRuleStatement;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.alter.AlterResourceStatementAssert;
@@ -39,7 +38,6 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.alter.impl.AlterEncryptRuleStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.alter.impl.AlterReadwriteSplittingRuleStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.alter.impl.AlterShardingBindingTableRulesStatementAssert;
-import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.alter.impl.AlterShardingBroadcastTableRulesStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.alter.impl.AlterShardingTableRuleStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.create.AddResourceStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.create.CreateRuleStatementAssert;
@@ -50,7 +48,6 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterReadwriteSplittingRuleStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterResourceStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterShardingBindingTableRulesStatementTestCase;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterShardingBroadcastTableRulesStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.AddResourceStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.drop.DropResourceStatementTestCase;
 
@@ -76,8 +73,6 @@ public final class RDLStatementAssert {
             AlterShardingBindingTableRulesStatementAssert.assertIs(assertContext, (AlterShardingBindingTableRulesStatement) actual, (AlterShardingBindingTableRulesStatementTestCase) expected);
         } else if (actual instanceof AlterEncryptRuleStatement) {
             AlterEncryptRuleStatementAssert.assertIs(assertContext, (AlterEncryptRuleStatement) actual, (AlterEncryptRuleStatementTestCase) expected);
-        } else if (actual instanceof AlterShardingBroadcastTableRulesStatement) {
-            AlterShardingBroadcastTableRulesStatementAssert.assertIs(assertContext, (AlterShardingBroadcastTableRulesStatement) actual, (AlterShardingBroadcastTableRulesStatementTestCase) expected);
         } else if (actual instanceof AlterShardingTableRuleStatement) {
             AlterShardingTableRuleStatementAssert.assertIs(assertContext, (AlterShardingTableRuleStatement) actual, expected);
         } else if (actual instanceof CreateRuleStatement) {
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/AlterRuleStatementAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/AlterRuleStatementAssert.java
index bcede3e02bf..654bf848387 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/AlterRuleStatementAssert.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/AlterRuleStatementAssert.java
@@ -29,7 +29,6 @@ import org.apache.shardingsphere.shadow.distsql.parser.statement.AlterShadowRule
 import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterDefaultShardingStrategyStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterShardingAuditorStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterShardingBindingTableRulesStatement;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterShardingBroadcastTableRulesStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterShardingKeyGeneratorStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterShardingTableRuleStatement;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
@@ -44,7 +43,6 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.alter.impl.AlterShadowRuleStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.alter.impl.AlterShardingAuditorStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.alter.impl.AlterShardingBindingTableRulesStatementAssert;
-import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.alter.impl.AlterShardingBroadcastTableRulesStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.alter.impl.AlterShardingKeyGeneratorStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.alter.impl.AlterShardingTableRuleStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.SQLParserTestCase;
@@ -58,7 +56,6 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterShadowRuleStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterShardingAuditorStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterShardingBindingTableRulesStatementTestCase;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterShardingBroadcastTableRulesStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterShardingKeyGeneratorStatementTestCase;
 
 /**
@@ -88,9 +85,6 @@ public final class AlterRuleStatementAssert {
             AlterReadwriteSplittingRuleStatementAssert.assertIs(assertContext, (AlterReadwriteSplittingRuleStatement) actual, (AlterReadwriteSplittingRuleStatementTestCase) expected);
         } else if (actual instanceof AlterShardingBindingTableRulesStatement) {
             AlterShardingBindingTableRulesStatementAssert.assertIs(assertContext, (AlterShardingBindingTableRulesStatement) actual, (AlterShardingBindingTableRulesStatementTestCase) expected);
-        } else if (actual instanceof AlterShardingBroadcastTableRulesStatement) {
-            AlterShardingBroadcastTableRulesStatementAssert.assertIs(assertContext, (AlterShardingBroadcastTableRulesStatement) actual,
-                    (AlterShardingBroadcastTableRulesStatementTestCase) expected);
         } else if (actual instanceof AlterShardingTableRuleStatement) {
             AlterShardingTableRuleStatementAssert.assertIs(assertContext, (AlterShardingTableRuleStatement) actual, expected);
         } else if (actual instanceof AlterShadowRuleStatement) {
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/CreateRuleStatementAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/CreateRuleStatementAssert.java
index 37ae7da6a18..733460d834e 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/CreateRuleStatementAssert.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/CreateRuleStatementAssert.java
@@ -33,7 +33,7 @@ import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateDefault
 import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateShardingAlgorithmStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateShardingAuditorStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateShardingBindingTableRulesStatement;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateShardingBroadcastTableRulesStatement;
+import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateBroadcastTableRuleStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateShardingKeyGeneratorStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateShardingTableRuleStatement;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
@@ -50,7 +50,7 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.create.impl.CreateShardingAlgorithmStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.create.impl.CreateShardingAuditorStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.create.impl.CreateShardingBindingTableRulesStatementAssert;
-import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.create.impl.CreateShardingBroadcastTableRulesStatementAssert;
+import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.create.impl.CreateBroadcastTableRuleStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.create.impl.CreateShardingKeyGeneratorStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.create.impl.CreateShardingTableRuleStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.SQLParserTestCase;
@@ -66,7 +66,7 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateShardingAlgorithmStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateShardingAuditorStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateShardingBindingTableRulesStatementTestCase;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateShardingBroadcastTableRulesStatementTestCase;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateBroadcastTableRuleStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateShardingKeyGeneratorStatementTestCase;
 
 /**
@@ -95,9 +95,9 @@ public final class CreateRuleStatementAssert {
             CreateReadwriteSplittingRuleStatementAssert.assertIs(assertContext, (CreateReadwriteSplittingRuleStatement) actual, (CreateReadwriteSplittingRuleStatementTestCase) expected);
         } else if (actual instanceof CreateShardingBindingTableRulesStatement) {
             CreateShardingBindingTableRulesStatementAssert.assertIs(assertContext, (CreateShardingBindingTableRulesStatement) actual, (CreateShardingBindingTableRulesStatementTestCase) expected);
-        } else if (actual instanceof CreateShardingBroadcastTableRulesStatement) {
-            CreateShardingBroadcastTableRulesStatementAssert.assertIs(assertContext, (CreateShardingBroadcastTableRulesStatement) actual,
-                    (CreateShardingBroadcastTableRulesStatementTestCase) expected);
+        } else if (actual instanceof CreateBroadcastTableRuleStatement) {
+            CreateBroadcastTableRuleStatementAssert.assertIs(assertContext, (CreateBroadcastTableRuleStatement) actual,
+                    (CreateBroadcastTableRuleStatementTestCase) expected);
         } else if (actual instanceof CreateShardingTableRuleStatement) {
             CreateShardingTableRuleStatementAssert.assertIs(assertContext, (CreateShardingTableRuleStatement) actual, expected);
         } else if (actual instanceof CreateShadowRuleStatement) {
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateShardingBroadcastTableRulesStatementAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateBroadcastTableRuleStatementAssert.java
similarity index 68%
rename from test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateShardingBroadcastTableRulesStatementAssert.java
rename to test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateBroadcastTableRuleStatementAssert.java
index b6e88bc4f28..1c5a8f106a2 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateShardingBroadcastTableRulesStatementAssert.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/create/impl/CreateBroadcastTableRuleStatementAssert.java
@@ -19,9 +19,9 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statemen
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateShardingBroadcastTableRulesStatement;
+import org.apache.shardingsphere.sharding.distsql.parser.statement.CreateBroadcastTableRuleStatement;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateShardingBroadcastTableRulesStatementTestCase;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateBroadcastTableRuleStatementTestCase;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertNotNull;
@@ -29,24 +29,24 @@ import static org.junit.Assert.assertNull;
 import static org.hamcrest.MatcherAssert.assertThat;
 
 /**
- * Create sharding broadcast table rule statement assert.
+ * Create broadcast table rule statement assert.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class CreateShardingBroadcastTableRulesStatementAssert {
+public final class CreateBroadcastTableRuleStatementAssert {
     
     /**
-     * Assert create sharding binding table rule statement is correct with expected parser result.
+     * Assert create broadcast table rule statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual actual create sharding broadcast table rule statement
-     * @param expected expected create sharding broadcast table rule statement test case
+     * @param actual actual create broadcast table rule statement
+     * @param expected expected create broadcast table rule statement test case
      */
-    public static void assertIs(final SQLCaseAssertContext assertContext, final CreateShardingBroadcastTableRulesStatement actual, final CreateShardingBroadcastTableRulesStatementTestCase expected) {
+    public static void assertIs(final SQLCaseAssertContext assertContext, final CreateBroadcastTableRuleStatement actual, final CreateBroadcastTableRuleStatementTestCase expected) {
         if (null == expected) {
             assertNull(assertContext.getText("Actual statement should not exist."), actual);
         } else {
             assertNotNull(assertContext.getText("Actual statement should exist."), actual);
-            assertThat(assertContext.getText("create sharding broadcast table rule assertion error: "), actual.getTables(), is(expected.getTables()));
+            assertThat(assertContext.getText("create broadcast table rule assertion error: "), actual.getTables(), is(expected.getTables()));
         }
     }
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/DropRuleStatementAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/DropRuleStatementAssert.java
index c03620cef66..7e4382d5a3c 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/DropRuleStatementAssert.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/DropRuleStatementAssert.java
@@ -31,7 +31,7 @@ import org.apache.shardingsphere.sharding.distsql.parser.statement.DropDefaultSh
 import org.apache.shardingsphere.sharding.distsql.parser.statement.DropShardingAlgorithmStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.DropShardingAuditorStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.DropShardingBindingTableRulesStatement;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.DropShardingBroadcastTableRulesStatement;
+import org.apache.shardingsphere.sharding.distsql.parser.statement.DropBroadcastTableRuleStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.DropShardingKeyGeneratorStatement;
 import org.apache.shardingsphere.sharding.distsql.parser.statement.DropShardingTableRuleStatement;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
@@ -46,7 +46,7 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.drop.impl.DropShardingAlgorithmStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.drop.impl.DropShardingAuditorStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.drop.impl.DropShardingBindingTableRulesStatementAssert;
-import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.drop.impl.DropShardingBroadcastTableRulesStatementAssert;
+import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.drop.impl.DropBroadcastTableRuleStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.drop.impl.DropShardingKeyGeneratorStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.drop.impl.DropShardingTableRuleStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.SQLParserTestCase;
@@ -61,7 +61,7 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.drop.DropShardingAlgorithmStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.drop.DropShardingAuditorStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.drop.DropShardingBindingTableRulesStatementTestCase;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.drop.DropShardingBroadcastTableRulesStatementTestCase;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.drop.DropBroadcastTableRuleStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.drop.DropShardingKeyGeneratorStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.drop.DropShardingTableRuleStatementTestCase;
 
@@ -93,8 +93,8 @@ public final class DropRuleStatementAssert {
             DropReadwriteSplittingRuleStatementAssert.assertIs(assertContext, (DropReadwriteSplittingRuleStatement) actual, (DropReadwriteSplittingRuleStatementTestCase) expected);
         } else if (actual instanceof DropShardingBindingTableRulesStatement) {
             DropShardingBindingTableRulesStatementAssert.assertIs(assertContext, (DropShardingBindingTableRulesStatement) actual, (DropShardingBindingTableRulesStatementTestCase) expected);
-        } else if (actual instanceof DropShardingBroadcastTableRulesStatement) {
-            DropShardingBroadcastTableRulesStatementAssert.assertIs(assertContext, (DropShardingBroadcastTableRulesStatement) actual, (DropShardingBroadcastTableRulesStatementTestCase) expected);
+        } else if (actual instanceof DropBroadcastTableRuleStatement) {
+            DropBroadcastTableRuleStatementAssert.assertIs(assertContext, (DropBroadcastTableRuleStatement) actual, (DropBroadcastTableRuleStatementTestCase) expected);
         } else if (actual instanceof DropShardingTableRuleStatement) {
             DropShardingTableRuleStatementAssert.assertIs(assertContext, (DropShardingTableRuleStatement) actual, (DropShardingTableRuleStatementTestCase) expected);
         } else if (actual instanceof DropShadowRuleStatement) {
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterShardingBroadcastTableRulesStatementAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropBroadcastTableRuleStatementAssert.java
similarity index 66%
rename from test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterShardingBroadcastTableRulesStatementAssert.java
rename to test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropBroadcastTableRuleStatementAssert.java
index c4540b18ed1..65b09bf2624 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/alter/impl/AlterShardingBroadcastTableRulesStatementAssert.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropBroadcastTableRuleStatementAssert.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.alter.impl;
+package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.drop.impl;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterShardingBroadcastTableRulesStatement;
+import org.apache.shardingsphere.sharding.distsql.parser.statement.DropBroadcastTableRuleStatement;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterShardingBroadcastTableRulesStatementTestCase;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.drop.DropBroadcastTableRuleStatementTestCase;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertNotNull;
@@ -29,24 +29,25 @@ import static org.junit.Assert.assertNull;
 import static org.hamcrest.MatcherAssert.assertThat;
 
 /**
- * Alter sharding broadcast table rule statement assert.
+ * Drop broadcast table rule statement assert.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class AlterShardingBroadcastTableRulesStatementAssert {
+public final class DropBroadcastTableRuleStatementAssert {
     
     /**
-     * Assert alter sharding broadcast table rule statement is correct with expected parser result.
+     * Assert drop broadcast table rule statement is correct with expected parser result.
      *
      * @param assertContext assert context
-     * @param actual actual alter sharding broadcast table rule statement
-     * @param expected expected alter sharding broadcast table rule statement test case
+     * @param actual actual drop broadcast table rule statement
+     * @param expected expected drop broadcast table rule statement test case
      */
-    public static void assertIs(final SQLCaseAssertContext assertContext, final AlterShardingBroadcastTableRulesStatement actual, final AlterShardingBroadcastTableRulesStatementTestCase expected) {
+    public static void assertIs(final SQLCaseAssertContext assertContext, final DropBroadcastTableRuleStatement actual, final DropBroadcastTableRuleStatementTestCase expected) {
         if (null == expected) {
             assertNull(assertContext.getText("Actual statement should not exist."), actual);
         } else {
             assertNotNull(assertContext.getText("Actual statement should exist."), actual);
-            assertThat(assertContext.getText("sharding broadcast table rule assertion error : "), actual.getTables(), is(expected.getTables()));
+            assertThat(assertContext.getText("broadcast table rule assertion error: "), actual.getRules(), is(expected.getTableName()));
+            assertThat(assertContext.getText("broadcast table rule assertion error: "), actual.isIfExists(), is(expected.isIfExists()));
         }
     }
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropShardingBroadcastTableRulesStatementAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropShardingBroadcastTableRulesStatementAssert.java
deleted file mode 100644
index 8f07b91ba73..00000000000
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/rdl/drop/impl/DropShardingBroadcastTableRulesStatementAssert.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.distsql.rdl.drop.impl;
-
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.sharding.distsql.parser.statement.DropShardingBroadcastTableRulesStatement;
-import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.drop.DropShardingBroadcastTableRulesStatementTestCase;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-/**
- * Drop sharding broadcast table rule statement assert.
- */
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class DropShardingBroadcastTableRulesStatementAssert {
-    
-    /**
-     * Assert drop sharding broadcast table rule statement is correct with expected parser result.
-     *
-     * @param assertContext assert context
-     * @param actual actual drop sharding broadcast table rule statement
-     * @param expected expected drop sharding broadcast table rule statement test case
-     */
-    public static void assertIs(final SQLCaseAssertContext assertContext, final DropShardingBroadcastTableRulesStatement actual, final DropShardingBroadcastTableRulesStatementTestCase expected) {
-        if (null == expected) {
-            assertNull(assertContext.getText("Actual statement should not exist."), actual);
-        } else {
-            assertNotNull(assertContext.getText("Actual statement should exist."), actual);
-            assertThat(assertContext.getText("readwrite splitting assertion error: "), actual.getRules(), is(expected.getTableName()));
-            assertThat(assertContext.getText("readwrite splitting assertion error: "), actual.isIfExists(), is(expected.isIfExists()));
-        }
-    }
-}
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
index 8a4f405ddbc..b3818e1158f 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
@@ -340,7 +340,6 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterShardingAuditorStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterShardingAutoTableRuleStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterShardingBindingTableRulesStatementTestCase;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterShardingBroadcastTableRulesStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterShardingKeyGeneratorStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterShardingTableRuleStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.AddResourceStatementTestCase;
@@ -359,7 +358,7 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateShardingAuditorStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateShardingAutoTableRuleStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateShardingBindingTableRulesStatementTestCase;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateShardingBroadcastTableRulesStatementTestCase;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateBroadcastTableRuleStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateShardingKeyGeneratorStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.create.CreateShardingTableRuleStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.drop.DropDataBaseDiscoveryHeartbeatStatementTestCase;
@@ -374,7 +373,7 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.drop.DropShardingAlgorithmStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.drop.DropShardingAuditorStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.drop.DropShardingBindingTableRulesStatementTestCase;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.drop.DropShardingBroadcastTableRulesStatementTestCase;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.drop.DropBroadcastTableRuleStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.drop.DropShardingKeyGeneratorStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.drop.DropShardingTableRuleStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rql.CountDatabaseDiscoveryRuleStatementTestCase;
@@ -394,7 +393,7 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rql.ShowShardingAlgorithmsStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rql.ShowShardingAuditorsStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rql.ShowShardingBindingTableRulesStatementTestCase;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rql.ShowShardingBroadcastTableRulesStatementTestCase;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rql.ShowBroadcastTableRulesStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rql.ShowShardingKeyGeneratorsStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rql.ShowShardingTableNodesStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rql.ShowShardingTableRulesStatementTestCase;
@@ -903,9 +902,6 @@ public final class SQLParserTestCases {
     @XmlElement(name = "alter-sharding-binding-table-rules")
     private final List<AlterShardingBindingTableRulesStatementTestCase> alterShardingBindingTableRulesTestCases = new LinkedList<>();
     
-    @XmlElement(name = "alter-sharding-broadcast-table-rules")
-    private final List<AlterShardingBroadcastTableRulesStatementTestCase> alterShardingBroadcastTableRulesTestCases = new LinkedList<>();
-    
     @XmlElement(name = "alter-sharding-auto-table-rule")
     private final List<AlterShardingAutoTableRuleStatementTestCase> alterShardingAutoTableRuleTestCases = new LinkedList<>();
     
@@ -939,8 +935,8 @@ public final class SQLParserTestCases {
     @XmlElement(name = "create-sharding-binding-table-rule")
     private final List<CreateShardingBindingTableRulesStatementTestCase> createShardingBindingTableRulesTestCases = new LinkedList<>();
     
-    @XmlElement(name = "create-sharding-broadcast-table-rule")
-    private final List<CreateShardingBroadcastTableRulesStatementTestCase> createShardingBroadcastTableRulesTestCases = new LinkedList<>();
+    @XmlElement(name = "create-broadcast-table-rule")
+    private final List<CreateBroadcastTableRuleStatementTestCase> createBroadcastTableRuleStatementTestCases = new LinkedList<>();
     
     @XmlElement(name = "create-sharding-auto-table-rule")
     private final List<CreateShardingAutoTableRuleStatementTestCase> createShardingAutoTableRuleTestCases = new LinkedList<>();
@@ -969,8 +965,8 @@ public final class SQLParserTestCases {
     @XmlElement(name = "drop-sharding-binding-table-rules")
     private final List<DropShardingBindingTableRulesStatementTestCase> dropShardingBindingTableRulesTestCases = new LinkedList<>();
     
-    @XmlElement(name = "drop-sharding-broadcast-table-rules")
-    private final List<DropShardingBroadcastTableRulesStatementTestCase> dropShardingBroadcastTableRulesTestCases = new LinkedList<>();
+    @XmlElement(name = "drop-broadcast-table-rule")
+    private final List<DropBroadcastTableRuleStatementTestCase> dropBroadcastTableRuleStatementTestCases = new LinkedList<>();
     
     @XmlElement(name = "drop-sharding-table-rule")
     private final List<DropShardingTableRuleStatementTestCase> dropShardingTableRuleTestCases = new LinkedList<>();
@@ -987,8 +983,8 @@ public final class SQLParserTestCases {
     @XmlElement(name = "show-sharding-binding-table-rules")
     private final List<ShowShardingBindingTableRulesStatementTestCase> showShardingBindingTableRulesTestCases = new LinkedList<>();
     
-    @XmlElement(name = "show-sharding-broadcast-table-rules")
-    private final List<ShowShardingBroadcastTableRulesStatementTestCase> showShardingBroadcastTableRulesTestCases = new LinkedList<>();
+    @XmlElement(name = "show-broadcast-table-rules")
+    private final List<ShowBroadcastTableRulesStatementTestCase> showBroadcastTableRulesStatementTestCases = new LinkedList<>();
     
     @XmlElement(name = "show-sharding-algorithms")
     private final List<ShowShardingAlgorithmsStatementTestCase> showShardingAlgorithmsTestCases = new LinkedList<>();
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterShardingBroadcastTableRulesStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterShardingBroadcastTableRulesStatementTestCase.java
deleted file mode 100644
index 54bbee7167c..00000000000
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/alter/AlterShardingBroadcastTableRulesStatementTestCase.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter;
-
-import lombok.Getter;
-import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.SQLParserTestCase;
-
-import javax.xml.bind.annotation.XmlElement;
-import java.util.LinkedList;
-import java.util.List;
-
-/**
- * Alter sharding broadcast table rules statement test case.
- */
-@Getter
-public final class AlterShardingBroadcastTableRulesStatementTestCase extends SQLParserTestCase {
-    
-    @XmlElement(name = "table")
-    private final List<String> tables = new LinkedList<>();
-}
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateShardingBroadcastTableRulesStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateBroadcastTableRuleStatementTestCase.java
similarity index 88%
rename from test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateShardingBroadcastTableRulesStatementTestCase.java
rename to test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateBroadcastTableRuleStatementTestCase.java
index 8b14dd7ad5b..01511a89b91 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateShardingBroadcastTableRulesStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/create/CreateBroadcastTableRuleStatementTestCase.java
@@ -26,11 +26,11 @@ import java.util.LinkedList;
 import java.util.List;
 
 /**
- * Create sharding broadcast table rules statement test case.
+ * Create broadcast table rule statement test case.
  */
 @Getter
 @Setter
-public final class CreateShardingBroadcastTableRulesStatementTestCase extends SQLParserTestCase {
+public final class CreateBroadcastTableRuleStatementTestCase extends SQLParserTestCase {
     
     @XmlElement(name = "table")
     private final List<String> tables = new LinkedList<>();
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropShardingBroadcastTableRulesStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropBroadcastTableRuleStatementTestCase.java
similarity index 88%
rename from test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropShardingBroadcastTableRulesStatementTestCase.java
rename to test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropBroadcastTableRuleStatementTestCase.java
index fc158a91aa2..0c5eb6bfe3a 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropShardingBroadcastTableRulesStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rdl/drop/DropBroadcastTableRuleStatementTestCase.java
@@ -26,11 +26,11 @@ import java.util.LinkedList;
 import java.util.List;
 
 /**
- * Drop sharding broadcast table rules statement test cast.
+ * Drop broadcast table rule statement test cast.
  */
 @Getter
 @Setter
-public final class DropShardingBroadcastTableRulesStatementTestCase extends DropRuleStatementTestCase {
+public final class DropBroadcastTableRuleStatementTestCase extends DropRuleStatementTestCase {
     
     @XmlElement(name = "table")
     private final List<String> tableName = new LinkedList<>();
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rql/ShowShardingBroadcastTableRulesStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rql/ShowBroadcastTableRulesStatementTestCase.java
similarity index 86%
rename from test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rql/ShowShardingBroadcastTableRulesStatementTestCase.java
rename to test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rql/ShowBroadcastTableRulesStatementTestCase.java
index 568afd831bc..6b84d63eb69 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rql/ShowShardingBroadcastTableRulesStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/distsql/rql/ShowBroadcastTableRulesStatementTestCase.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domai
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.DatabaseContainedTestCase;
 
 /**
- * Show sharding broadcast table rules statement test case.
+ * Show broadcast table rules statement test case.
  */
-public final class ShowShardingBroadcastTableRulesStatementTestCase extends DatabaseContainedTestCase {
+public final class ShowBroadcastTableRulesStatementTestCase extends DatabaseContainedTestCase {
 }
diff --git a/test/parser/src/main/resources/case/rdl/alter.xml b/test/parser/src/main/resources/case/rdl/alter.xml
index 024494c6137..f6c5bdef621 100644
--- a/test/parser/src/main/resources/case/rdl/alter.xml
+++ b/test/parser/src/main/resources/case/rdl/alter.xml
@@ -110,12 +110,7 @@
         <rule table-groups="t_order,t_order_item" />
         <rule table-groups="t_1,t_2" />
     </alter-sharding-binding-table-rules>
-
-    <alter-sharding-broadcast-table-rules sql-case-id="alter-sharding-broadcast-table-rules">
-        <table>t_1</table>
-        <table>t_2</table>
-    </alter-sharding-broadcast-table-rules>
-
+    
     <alter-readwrite-splitting-rule sql-case-id="alter-readwrite-splitting-rule">
         <rule name="ms_group_0" auto-aware-resource="group_0" load-balancer="random">
             <properties>
diff --git a/test/parser/src/main/resources/case/rdl/create.xml b/test/parser/src/main/resources/case/rdl/create.xml
index 371669c1dfc..b1eb22b61be 100644
--- a/test/parser/src/main/resources/case/rdl/create.xml
+++ b/test/parser/src/main/resources/case/rdl/create.xml
@@ -176,15 +176,15 @@
         <rule table-groups="t_1,t_2"/>
     </create-sharding-binding-table-rule>
     
-    <create-sharding-broadcast-table-rule sql-case-id="create-sharding-broadcast-table-rule">
+    <create-broadcast-table-rule sql-case-id="create-broadcast-table-rule">
         <table>t_1</table>
         <table>t_2</table>
-    </create-sharding-broadcast-table-rule>
+    </create-broadcast-table-rule>
 
-    <create-sharding-broadcast-table-rule sql-case-id="create-sharding-broadcast-table-rule-with-quota">
+    <create-broadcast-table-rule sql-case-id="create-broadcast-table-rule-with-quota">
         <table>t_1</table>
         <table>t_2</table>
-    </create-sharding-broadcast-table-rule>
+    </create-broadcast-table-rule>
     
     <create-readwrite-splitting-rule sql-case-id="create-static-readwrite-splitting-rule">
         <rule name="ms_group_0" write-data-source="primary_ds" load-balancer="random">
diff --git a/test/parser/src/main/resources/case/rdl/drop.xml b/test/parser/src/main/resources/case/rdl/drop.xml
index 35bc36d5a30..09a366a5954 100644
--- a/test/parser/src/main/resources/case/rdl/drop.xml
+++ b/test/parser/src/main/resources/case/rdl/drop.xml
@@ -55,15 +55,18 @@
         <rule>t_1,t_2</rule>
     </drop-sharding-binding-table-rules>
     
-    <drop-sharding-broadcast-table-rules sql-case-id="drop-sharding-broadcast-table-rules" />
-
-    <drop-sharding-broadcast-table-rules sql-case-id="drop-sharding-broadcast-table-specified-table" >
-        <table>t_order</table>
-    </drop-sharding-broadcast-table-rules>
-
-    <drop-sharding-broadcast-table-rules sql-case-id="drop-sharding-broadcast-table-specified-table-if-exists" if-exists="true">
-        <table>t_order</table>
-    </drop-sharding-broadcast-table-rules>
+    <drop-broadcast-table-rule sql-case-id="drop-broadcast-table-rule" >
+        <table>t_1</table>
+    </drop-broadcast-table-rule>
+
+    <drop-broadcast-table-rule sql-case-id="drop-multiple-broadcast-table-rules" >
+        <table>t_1</table>
+        <table>t_2</table>
+    </drop-broadcast-table-rule>
+
+    <drop-broadcast-table-rule sql-case-id="drop-broadcast-table-rule-if-exists" if-exists="true">
+        <table>t_1</table>
+    </drop-broadcast-table-rule>
 
     <drop-readwrite-splitting-rule sql-case-id="drop-readwrite-splitting-rule">
         <rule>ms_group_0</rule>
diff --git a/test/parser/src/main/resources/case/rql/show.xml b/test/parser/src/main/resources/case/rql/show.xml
index c475745a9dc..bef25d440b6 100644
--- a/test/parser/src/main/resources/case/rql/show.xml
+++ b/test/parser/src/main/resources/case/rql/show.xml
@@ -21,9 +21,9 @@
         <database name="sharding_db" start-index="39" stop-index="49" />
     </show-sharding-binding-table-rules>
     
-    <show-sharding-broadcast-table-rules sql-case-id="show-sharding-broadcast-table-rules">
-        <database name="sharding_db" start-index="41" stop-index="51" />
-    </show-sharding-broadcast-table-rules>
+    <show-broadcast-table-rules sql-case-id="show-broadcast-table-rules">
+        <database name="sharding_db" start-index="32" stop-index="42" />
+    </show-broadcast-table-rules>
     
     <show-sharding-table-rules sql-case-id="show-sharding-table-rules">
         <database name="databaseName" start-index="31" stop-index="42" />
diff --git a/test/parser/src/main/resources/sql/supported/rdl/alter.xml b/test/parser/src/main/resources/sql/supported/rdl/alter.xml
index 70ba9646995..2bd812767a7 100644
--- a/test/parser/src/main/resources/sql/supported/rdl/alter.xml
+++ b/test/parser/src/main/resources/sql/supported/rdl/alter.xml
@@ -29,7 +29,6 @@
     <distsql-case id="alter-sharding-auto-table-rule" value="ALTER SHARDING TABLE RULE t_order (RESOURCES(ms_group_0,ms_group_1), SHARDING_COLUMN=order_id, TYPE(NAME='hash_mod',PROPERTIES('sharding-count'='4')),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake')))" />
     <distsql-case id="alter-sharding-auto-table-rule-with-inline-expression" value="ALTER SHARDING TABLE RULE t_order (RESOURCES('ms_group_${0..1}'), SHARDING_COLUMN=order_id, TYPE(NAME='hash_mod',PROPERTIES('sharding-count'='4')),KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake')))" />
     <distsql-case id="alter-sharding-binding-table-rules" value="ALTER SHARDING BINDING TABLE RULES (t_order,t_order_item), (t_1,t_2)" />
-    <distsql-case id="alter-sharding-broadcast-table-rules" value="ALTER SHARDING BROADCAST TABLE RULES(t_1,t_2)" />
     <distsql-case id="alter-readwrite-splitting-rule" value="ALTER READWRITE_SPLITTING RULE ms_group_0 (AUTO_AWARE_RESOURCE=group_0, TYPE(NAME='random',PROPERTIES('read_weight'='2:1'))), ms_group_1 (WRITE_RESOURCE=primary_ds, READ_RESOURCES(replica_ds_0,replica_ds_1),TYPE(NAME='random'))" />
     <distsql-case id="alter-database-discovery-definition-rule" value="ALTER DB_DISCOVERY RULE ha_group_0 (RESOURCES(resource0,resource1), TYPE(NAME='mgr',PROPERTIES('groupName'='92504d5b-6dec')),HEARTBEAT(PROPERTIES('keepAliveCron'='0/5 * * * * ?'))), ha_group_1 (RESOURCES(resource2,resource3), TYPE(NAME='mgr2',PROPERTIES('groupName'='92504d5b-6dec-2')),HEARTBEAT(PROPERTIES('keepAliveCron'='0/6 * * * * ?')))" />
     <distsql-case id="alter-database-discovery-construction-rule" value="ALTER DB_DISCOVERY RULE ha_group_0 (RESOURCES(resource0,resource1), TYPE=ha_group_0_mgr,HEARTBEAT=ha_group_0_heartbeat)" />
diff --git a/test/parser/src/main/resources/sql/supported/rdl/create.xml b/test/parser/src/main/resources/sql/supported/rdl/create.xml
index 40de0d57339..95b3ce02f8e 100644
--- a/test/parser/src/main/resources/sql/supported/rdl/create.xml
+++ b/test/parser/src/main/resources/sql/supported/rdl/create.xml
@@ -29,7 +29,7 @@
     <distsql-case id="create-sharding-auto-table-rule" value="CREATE SHARDING TABLE RULE t_order (RESOURCES(ms_group_0,ms_group_1), SHARDING_COLUMN=order_id,TYPE(NAME='hash_mod',PROPERTIES('sharding-count'='4')), KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake')))" />
     <distsql-case id="create-sharding-auto-table-rule-with-inline-expression" value="CREATE SHARDING TABLE RULE t_order (RESOURCES('ms_group_${0..1}'), SHARDING_COLUMN=order_id,TYPE(NAME='hash_mod',PROPERTIES('sharding-count'='4')), KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake')))" />
     <distsql-case id="create-sharding-binding-table-rule" value="CREATE SHARDING BINDING TABLE RULES (t_order,t_order_item), (t_1,t_2)" />
-    <distsql-case id="create-sharding-broadcast-table-rule" value="CREATE SHARDING BROADCAST TABLE RULES(t_1,t_2)" />
+    <distsql-case id="create-broadcast-table-rule" value="CREATE BROADCAST TABLE RULE t_1,t_2" />
     <distsql-case id="create-static-readwrite-splitting-rule" value="CREATE READWRITE_SPLITTING RULE ms_group_0 (WRITE_RESOURCE=primary_ds, READ_RESOURCES(replica_ds_0,replica_ds_1), TYPE(NAME='random')))" />
     <distsql-case id="create-dynamic-readwrite-splitting-rule" value="CREATE READWRITE_SPLITTING RULE ms_group_1(AUTO_AWARE_RESOURCE=group_0, TYPE(NAME='random',PROPERTIES('read_weight'='2:1')))" />
     <distsql-case id="create-database-discovery-definition-rule" value="CREATE DB_DISCOVERY RULE ha_group_0 (RESOURCES(resource0,resource1), TYPE(NAME='mgr',PROPERTIES('groupName'='92504d5b-6dec')),HEARTBEAT(PROPERTIES('keepAliveCron'='0/5 * * * * ?'))), ha_group_1 (RESOURCES(resource2,resource3), TYPE(NAME='mgr2',PROPERTIES('groupName'='92504d5b-6dec-2')),HEARTBEAT(PROPERTIES('keepAliveCron'='0/6 * * * * ?')))" />
@@ -54,7 +54,7 @@
     <distsql-case id="add-resource-with-quota" value="REGISTER STORAGE UNIT `ds_0`(HOST='127.0.0.1',PORT=3306,DB='test0',USER='ROOT');" />
     <distsql-case id="create-sharding-auto-table-rule-with-quota" value="CREATE SHARDING TABLE RULE `t_order` (RESOURCES(ms_group_0,ms_group_1), SHARDING_COLUMN=order_id,TYPE(NAME='hash_mod',PROPERTIES('sharding-count'='4')), KEY_GENERATE_STRATEGY(COLUMN=another_id,TYPE(NAME='snowflake')))" />
     <distsql-case id="create-sharding-binding-table-rule-with-quota" value="CREATE SHARDING BINDING TABLE RULES (`t_order`,`t_order_item`), (t_1,t_2)" />
-    <distsql-case id="create-sharding-broadcast-table-rule-with-quota" value="CREATE SHARDING BROADCAST TABLE RULES(`t_1`,`t_2`)" />
+    <distsql-case id="create-broadcast-table-rule-with-quota" value="CREATE BROADCAST TABLE RULE `t_1`,`t_2` " />
     <distsql-case id="create-readwrite-splitting-rule-with-quota" value="CREATE READWRITE_SPLITTING RULE `ms_group_0` (WRITE_RESOURCE=primary_ds, READ_RESOURCES(replica_ds_0,replica_ds_1), TYPE(NAME='random')))" />
     <distsql-case id="create-database-discovery-rule-with-quota" value="CREATE DB_DISCOVERY RULE ha_group_0 (RESOURCES(resource0,resource1), TYPE(NAME='mgr',PROPERTIES('groupName'='92504d5b-6dec')),HEARTBEAT(PROPERTIES('keepAliveCron'='0/5 * * * * ?'))), ha_group_1 (RESOURCES(resource2,resource3), TYPE(NAME='mgr2',PROPERTIES('groupName'='92504d5b-6dec-2')),HEARTBEAT(PROPERTIES('keepAliveCron'='0/6 * * * * ?')))" />
     <distsql-case id="create-encrypt-rule-with-quota" value="CREATE ENCRYPT RULE `encrypt` (RESOURCE=ds_1, COLUMNS((NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,TYPE(NAME='AES',PROPERTIES('aes-key-value'='123456abc'))), (NAME=order_id, CIPHER =order_cipher,TYPE(NAME='MD5'))))" />
diff --git a/test/parser/src/main/resources/sql/supported/rdl/drop.xml b/test/parser/src/main/resources/sql/supported/rdl/drop.xml
index f7467f123f2..aac7924b5bf 100644
--- a/test/parser/src/main/resources/sql/supported/rdl/drop.xml
+++ b/test/parser/src/main/resources/sql/supported/rdl/drop.xml
@@ -25,9 +25,9 @@
     <distsql-case id="drop-sharding-binding-table-rules" value="DROP SHARDING BINDING TABLE RULES" />
     <distsql-case id="drop-sharding-binding-table-specified-rules" value="DROP SHARDING BINDING TABLE RULES (t_1,t_2)" />
     <distsql-case id="drop-sharding-binding-table-specified-rules-if-exists" value="DROP SHARDING BINDING TABLE RULES IF EXISTS (t_1,t_2)" />
-    <distsql-case id="drop-sharding-broadcast-table-rules" value="DROP SHARDING BROADCAST TABLE RULES" />
-    <distsql-case id="drop-sharding-broadcast-table-specified-table" value="DROP SHARDING BROADCAST TABLE RULES t_order" />
-    <distsql-case id="drop-sharding-broadcast-table-specified-table-if-exists" value="DROP SHARDING BROADCAST TABLE RULES IF EXISTS t_order" />
+    <distsql-case id="drop-broadcast-table-rule" value="DROP BROADCAST TABLE RULE t_1" />
+    <distsql-case id="drop-multiple-broadcast-table-rules" value="DROP BROADCAST TABLE RULE t_1,t_2" />
+    <distsql-case id="drop-broadcast-table-rule-if-exists" value="DROP BROADCAST TABLE RULE IF EXISTS t_1" />
     <distsql-case id="drop-readwrite-splitting-rule" value="DROP READWRITE_SPLITTING RULE ms_group_0,ms_group_1" />
     <distsql-case id="drop-readwrite-splitting-rule-if-exists" value="DROP READWRITE_SPLITTING RULE IF EXISTS ms_group_0,ms_group_1" />
     <distsql-case id="drop-database-discovery-rule" value="DROP DB_DISCOVERY RULE ha_group_0,ha_group_1" />
diff --git a/test/parser/src/main/resources/sql/supported/rql/show.xml b/test/parser/src/main/resources/sql/supported/rql/show.xml
index ece43ff08bb..5d73593ef78 100644
--- a/test/parser/src/main/resources/sql/supported/rql/show.xml
+++ b/test/parser/src/main/resources/sql/supported/rql/show.xml
@@ -18,7 +18,7 @@
 
 <sql-cases>
     <distsql-case id="show-sharding-binding-table-rules" value="SHOW SHARDING BINDING TABLE RULES FROM sharding_db" />
-    <distsql-case id="show-sharding-broadcast-table-rules" value="SHOW SHARDING BROADCAST TABLE RULES FROM sharding_db" />
+    <distsql-case id="show-broadcast-table-rules" value="SHOW BROADCAST TABLE RULES FROM sharding_db" />
     <distsql-case id="show-sharding-table-rules" value="SHOW SHARDING TABLE RULES FROM databaseName" />
     <distsql-case id="show-sharding-table-rule" value="SHOW SHARDING TABLE RULE t_order" />
     <distsql-case id="show-sharding-table-rule-from" value="SHOW SHARDING TABLE RULE t_order FROM databaseName" />