ALTER DATABASE

描述

ALTER DATABASE 语句用于更改数据库的属性或位置。请注意,DATABASESCHEMANAMESPACE 可以互换使用。如果在系统中找不到数据库,则会发出错误消息。

ALTER PROPERTIES

ALTER DATABASE SET DBPROPERTIES 语句用于更改与数据库关联的属性。指定的属性值将覆盖具有相同属性名称的任何现有值。此命令主要用于记录数据库的元数据,并可用于审计目的。

语法

ALTER { DATABASE | SCHEMA | NAMESPACE } database_name
    SET { DBPROPERTIES | PROPERTIES } ( property_name = property_value [ , ... ] )

参数

ALTER LOCATION

ALTER DATABASE SET LOCATION 语句用于更改数据库中添加新表的默认父目录。请注意,它不会将数据库当前目录的内容移动到新指定的位置,也不会更改与指定数据库下的任何表/分区关联的位置(从 Spark 3.0.0 开始,使用 Hive 元存储版本 3.0.0 及更高版本可用)。

语法

ALTER { DATABASE | SCHEMA | NAMESPACE } database_name
    SET LOCATION 'new_location'

参数

示例

-- Creates a database named `inventory`.
CREATE DATABASE inventory;

-- Alters the database to set properties `Edited-by` and `Edit-date`.
ALTER DATABASE inventory SET DBPROPERTIES ('Edited-by' = 'John', 'Edit-date' = '01/01/2001');

-- Verify that properties are set.
DESCRIBE DATABASE EXTENDED inventory;
+-------------------------+------------------------------------------+
|database_description_item|                database_description_value|
+-------------------------+------------------------------------------+
|            Database Name|                                 inventory|
|              Description|                                          |
|                 Location|   file:/temp/spark-warehouse/inventory.db|
|               Properties|((Edit-date,01/01/2001), (Edited-by,John))|
+-------------------------+------------------------------------------+

-- Alters the database to set a new location.
ALTER DATABASE inventory SET LOCATION 'file:/temp/spark-warehouse/new_inventory.db';

-- Verify that a new location is set.
DESCRIBE DATABASE EXTENDED inventory;
+-------------------------+-------------------------------------------+
|database_description_item|                 database_description_value|
+-------------------------+-------------------------------------------+
|            Database Name|                                  inventory|
|              Description|                                           |
|                 Location|file:/temp/spark-warehouse/new_inventory.db|
|               Properties| ((Edit-date,01/01/2001), (Edited-by,John))|
+-------------------------+-------------------------------------------+