1、Create Database(创建数据库语法)
CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name [COMMENT database_comment] [LOCATION hdfs_path] [WITH DBPROPERTIES (property_name=property_value, ...)]; |
使用database和schema意义是一样的。IF NOT EXISTS可以增强了程序的健壮性,create database时可以通过comment命令为数据库添加注释,同时也可以通过location为数据库指定存储路径,默认数据库路径创建在hive warehouse目录下。
2、Drop Database(删除数据库语法)
DROP (DATABASE|SCHEMA) [IF EXISTS] database_name [RESTRICT|CASCADE]; |
使用database和schema意义是一样的。IF EXISTS可以增强了程序的健壮性,restrict(限制)表示数据库默认是限制删除的,一般体现在数据库下有表等对象时,要想删除数据库需要先删除数据库下的对象,否则可以使用cascade关键字级联删除数据库及其对象信息。
3、Alter Database(修改数据库语法)
ALTER (DATABASE|SCHEMA) database_name SET DBPROPERTIES (property_name=property_value, ...); ALTER (DATABASE|SCHEMA) database_name SET OWNER [USER|ROLE] user_or_role; |
修改数据库在生产环境中一般意义不大。
4、Use Database(使用数据库)
USE database_name; USE DEFAULT; SELECT current_database(); |
切换到某数据库下,通常进行数据库切换时使用,一般程序SQL中可以通过db.schema的方式进行编码,这样在写脚本时可以不考虑使用use命令。
SELECT current_database();表示查看当前连接数据库对象。