HiveQL 數據定義:數據庫創建和刪除

CREATE DATABASE語句

CREATE DATABASE|SCHEMA [IF NOT EXISTS] <database name>

IF NOT EXISTS是一個可選子句,通知用戶已經存在相同名稱的數據庫。
可以使用SCHEMADATABASE的這個命令。下面的查詢執行創建一個名為userdb數據庫:

hive> CREATE DATABASE [IF NOT EXISTS] userdb;

hive> CREATE SCHEMA userdb;

下面的查詢用于驗證數據庫列表:

hive> SHOW DATABASES;
default
userdb

JDBC 程序
以下是使用JDBC程序來創建表給出的一個例子:

import java.sql.SQLException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.DriverManager;

public class HiveCreateDb {
   private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";
   
   public static void main(String[] args) throws SQLException {
      // Register driver and create driver instance
   
      Class.forName(driverName);
      // get connection
      
      Connection con = DriverManager.getConnection("jdbc:hive://localhost:10000/default", "", "");
      Statement stmt = con.createStatement();
      
      stmt.executeQuery("CREATE DATABASE userdb");
      System.out.println(“Database userdb created successfully.”);
      
      con.close();
   }
}

存程序在一個名為HiveCreateDb.java文件。下面的命令用于編譯和執行這個程序。

$ javac HiveCreateDb.java
$ java HiveCreateDb

輸出:

Database userdb created successfully.

DROP DATABASE語句
DROP DATABASE是刪除所有的表并刪除數據庫的語句。它的語法如下:

DROP DATABASE StatementDROP (DATABASE|SCHEMA) [IF EXISTS] database_name [RESTRICT|CASCADE];

下面的查詢用于刪除數據庫。假設要刪除的數據庫名稱為userdb

hive> DROP DATABASE IF EXISTS userdb;

以下是使用CASCADE查詢刪除數據庫。這意味著要全部刪除相應的表在刪除數據庫之前。

hive> DROP DATABASE IF EXISTS userdb CASCADE;

以下使用SCHEMA查詢刪除數據庫。

hive> DROP SCHEMA userdb;

JDBC 程序
以下是使用JDBC程序來刪除表給出的一個例子:

import java.sql.SQLException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.DriverManager;

public class HiveDropDb {
   private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";
   
   public static void main(String[] args) throws SQLException {
   
      // Register driver and create driver instance
      Class.forName(driverName);
      
      // get connection
      Connection con = DriverManager.getConnection("jdbc:hive://localhost:10000/default", "", "");
      Statement stmt = con.createStatement();
      stmt.executeQuery("DROP DATABASE userdb");
      
      System.out.println(“Drop userdb database successful.”);
      
      con.close();
   }
}

將該程序保存在一個名為HiveDropDb.java文件。下面給出的是編譯和執行這個程序的命令。

$ javac HiveDropDb.java
$ java HiveDropDb

Output:

Drop userdb database successful.
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容