赞
踩
语法格式如下:
CREATE DATABASE [IF NOT EXITS] database_name
[COMMENT database_comment]
[LOCATION hdfs_path]
[WITH DBPROPERTIES (property_name=property_value,.....)];
[COMMENT database_comment]:可选,表示数据库的相关描述
[LOCATION hdfs_path]:可选,用于指定数据库在HDFS上的存储位置,默认存储取决于hive配置文件 hive-site.xml 中参数 hive.metastore.warehouse.dir 指定的存储位置
[WITH DBPROPERTIES (property_name=property_value,.....)]:可选,用于设置数据库属性,propety_name 表示属性名称,property_value 表示属性值,都可以自定义
举例:
CREATE DATABASE IF NOT EXITS database_yyp
COMMENT “在线查询接口”
LOCATION ‘/hive_db/create_db/’
WITH DBPROPERTIES (“createror”=”leyinping”,“date”=”2022-09-04”];
语法格式如下:
SHOW DATABASE [LIKE ‘指定查询条件’];
举例:
查询hive中所有数据库:
SHOW DATABASE;
查询hive中数据库名称首字母是i 的数据库:
SHOW DATABASE LIKE ‘I*’;
语法格式如下:
DESCRIBE|DESC (DATABASE) [EXTENDED] db_name;
举例:
DESC DATABASE EXTENDED YYP;
语法格式如下:
USE DATABASE_NAME;
Hive 中可以修改数据库的属性和所有者。
语法格式如下:
ALTER DATABASE database_name SET DBPROPERTIES (property_name=property_value,.....);
举例:
ALTER DATABASE database_yyp SET DBPROPERTIES(“date”=”2022-09-10”,”address”=”changsha”);
语法格式如下:
DROP DATABASE [IF EXISTS] databae_name [RESTRICK|CASCADE];
[RESTRICK|CASCADE]:可选,表示数据库中存在表时是否可以删除数据库。默认值为[RESTRICK]表示如果数据库中存在表则无法删除数据库。若使用CASCADE,表示即使数据库中存在表,仍然会删除数据库并删除数据库中的表,因此需要谨慎使用CASCADE 。
举例:
DROP DATABASE IF EXISTS YYP;
CREATE TABLE 句式语法格式如下:
CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS ] [db_name.]table_name
[(col_name data_type [COMMENT col_commet],...[constraint_specification])]
[COMMENT table_comment]
[PARTITIONED BY (col_name data_type [COMMENT col_comment],...)]
[CLUSTERED BY (col_name,col_name,...) [SORED BY (col_name [asc|desc],...)] INTO num_buckets BUCKETS]
[SKEWED BY (col_name,col_name,...)]
ON ((col_value,col_value,...),(col_value,col_value,...),...)
[STORED AS DIRECTORIES]
[
[ROW FORMAT row_format]
[STORED AS file_format]
| STORED BY ‘storage.handler.class.name’ [WITH SERDEPROPERTIES(...)]
]
[LOCATION hdfs_path]
[TALPROPERTIES (property_name=property_value,...)]
[AS select_statement]
语法具体讲解:
[TEMPORARY] :temporary:可选,用于指定创建的表为临时表。
[EXTERNAL] :external:可选,用于指定创建的表为外部表,若不指定默认创建内部表。
[IF NOT EXISTS ] :可选,用于指定创建的表是否存在
[db_name.]:用于指定创建表时存放的数据库,若不指定默认在当前数据库存放。
col_name:指定表中的字段名称,若创建的数据表是空表,则col_name为可选的。
data_type: 指定字段类型,若创建的数据表是空表,则data_type为可选的。
[COMMENT col_commet]:可选,指定字段描述
[constraint_specification])]:可选,指定字段约束
[COMMENT table_comment]:可选,指定字段描述
[PARTITIONED BY (col_name data_type [COMMENT col_comment],...)]:可选,用于创建分区表,,指定分区名,分区类型和分区描述。
[CLUSTERED BY (col_name,col_name,...) [SORED BY (col_name [asc|desc],...)] INTO num_buckets BUCKETS]:可选,用于创建分桶表,指定分桶的字段,根据指定的字段对桶内的数据进行升序ASC,默认排序,以及桶的数量。
[SKEWED BY (col_name,col_name,...)]
ON ((col_value,col_value,...),(col_value,col_value,...),...)
[STORED AS DIRECTORIES]:可选,用于创建倾斜表解决hive 中数据倾斜问题。
[ROW FORMAT row_format]:可选,用于序列化行对象。
[STORED AS file_format]:可选,用于创建表时指定hive 表的文件存储格式。
[LOCATION hdfs_path]:可选,用于指定hive 表在hdfs的存储位置
[TALPROPERTIES (property_name=property_value,...)]:用于指定表属性。
[AS select_statement]:用于在创建表的同时将查询结果插入表中
内部表和外部表的区别:在删除内部表时,内部表的元数据和数据会一同删除;而删除外部表时,只删除外部表的元数据,不会删除数据。外部表相对来说更安全,数据组织更加灵活且方便共享源数据文件。
SHOW TABLES; 显示当前数据库的所有数据表
DESC table_name;查询指定数据表基本结构信息
语法:
ALTER TABLE table_name RENAME TO new_table_name;
ALTER TABLE :表示修改数据表结构信息的语句
RENAME TO:用于数据表的重命名操作。
语法:
ALTER TABLE table_name SET TBLPROPERTIES(property_name=property_value,...);
SET TBLPROPERTIES:表示修改数据表属性的操作。
举例:
ALTER TABLE table_name SET TBLPROPERTIES(“comment”=”this is a new table”);
修改数据表列是指修改数据表中列的名称,描述,数据类型或者列的位置,语法如下:
ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name];
CHANGE [COLUMN]:用于修改数据表列的操作,其中colnmn 为可选。
col_old_name:指定需要修改的列名
col_new_name:指定列名被修改后的新列名。
column_type:指定列修改后的字段类型。注意:指定列修改后的字段类型与原始字段类型之间需要符合hive 的强制类型转换规则。
[FIRST|AFTER column_name]:可选,指定列修 意:如果表中每个列的数据类型不一致,则无法使用此功能。
添加数据表列会在数据表的尾部添加指定列,语法格式如下:
ALTER TABLE table_name ADD COLUMNS (col_name column_type [COMMENT col_comment] ,……);
ALTER TABLE :表示修改数据表结构信息的语句
ADD COLUMNS: 用于向数据表中添加列
col_name :指定需要添加列的列名
column_type:指定需要添加列的数据类型
替换数据表列是替换当前数据表中的所有列,语法格式如下:
ALTER TABLE table_name REPLACE COLUMNS (col_name column_type [COMMENT col_comment] ,……);
ALTER TABLE :表示修改数据表结构信息的语句
REPLACE COLUMNS: 用于替换数据表中已存在的所有列
col_name :指定替换列的列名
column_type:指定替换列的数据类型
删除数据表的语法格式如下:
DROP TABLE [IF EXITS] table_lable [PURGE];
PURGE: 可选,当删除内部表时,若使用PUGRE,则内部表的数据不会放入回收站,后续无法通过回收站恢复内部表的数据,反之,内部表的数据会放入回收站,这里指的恢复数据不包括元数据,元数据删除后无法恢复。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。