CREATE DATABASE語句
CREATE DATABASE|SCHEMA [IF NOT EXISTS] <database name>
IF NOT EXISTS
是一個可選子句,通知用戶已經存在相同名稱的數據庫。
可以使用SCHEMA
在DATABASE
的這個命令。下面的查詢執行創建一個名為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.