
# 数据库相关
#### 前提条件
- 已参考[Java SDK概述](https://support.huaweicloud.com/sdkreference-dli/dli_04_0125.html)配置Java SDK环境。
- 已参考[初始化DLI客户端](https://support.huaweicloud.com/sdkreference-dli/dli_04_0008.html)完成客户端DLIClient的初始化，参考[队列相关](https://support.huaweicloud.com/sdkreference-dli/dli_04_0028.html)完成队列创建等操作。
 
 #### 创建数据库
DLI提供创建数据库的接口。您可以使用该接口创建数据库，示例代码如下：
```
private static Database createDatabase(DLIClient client) throws DLIException {
    //通过调用DLIClient对象的createDatabase方法创建数据库
    String dbName = "databasename";
    Database database = client.createDatabase(dbName);
    System.out.println("create database:" + database);
    return database;
  }
```
![](https://support.huaweicloud.com/sdkreference-dli/public_sys-resources/note_3.0-zh-cn.png)
"default"为内置数据库，不能创建名为"default"的数据库。
 #### 删除数据库
DLI提供删除数据库的接口。您可以使用该接口删除数据库。示例代码如下：
```
//调用Database对象的deleteDatabase接口删除数据库,
//其中Database对象通过调用对象DLIClient的getDatabase(String databaseName)接口获得.
private static void deletedatabase(Database database) throws DLIException {
    String dbName = "databasename";
    database=client.getDatabase(dbName);
    database.deleteDatabase();
    System.out.println("delete db " + dbName);
}
```
![](https://support.huaweicloud.com/sdkreference-dli/public_sys-resources/note_3.0-zh-cn.png)
- 含表的数据库不能直接删除，请先删除数据库的表再删除数据库。
- 数据库删除后，将不可恢复，请谨慎操作。
 
 #### 查询所有数据库
DLI提供查询数据库列表接口，您可以使用该接口查询当前已创建的数据库列表。示例代码如下：
```
private static void listDatabases(DLIClient client) throws DLIException {
    //通过调用DLIClient的listAllDatabases方法查询数据库列表
    List<Database> databases = client.listAllDatabases();
    for (Database db : databases) {
      System.out.println("dbName:" + db.getDatabaseName() + " " + "tableCount:" + db.getTableCount());
    }
  }
```
