Apache Derby - 模式



資料庫模式是代表整個資料庫邏輯檢視的骨架結構。它定義了資料的組織方式以及它們之間關係的關聯方式。它制定了要應用於資料的所有約束。

建立模式

您可以使用 CREATE SCHEMA 語句在 Apache Derby 中建立模式。

語法

以下是 CREATE SCHEMA 語句的語法。

CREATE SCHEMA schema_name AUTHORIZATION id

示例

以下示例在 Derby 資料庫中建立一個名為 my_schema 的模式。

ij> CREATE SCHEMA AUTHORIZATION my_schema;
0 rows inserted/updated/deleted

然後,您可以按如下所示在此模式中建立表。

ij> CREATE TABLE my_schema.Emp ( Id INT NOT NULL GENERATED ALWAYS AS IDENTITY,
   Name VARCHAR(255),
   Salary INT NOT NULL,
   Location VARCHAR(255),
   Phone_Number BIGINT
);
> > > > > 0 rows inserted/updated/deleted

您可以使用 SHOW SCHEMAS 查詢驗證模式列表,您可以在此處找到已建立的模式列表。

ij> show schemas;
TABLE_SCHEM
------------------------------
APP
MY_SCHEMA
NULLID
SQLJ
SYS
SYSCAT
SYSCS_DIAG
SYSCS_UTIL
SYSFUN
SYSIBM
SYSPROC
SYSSTAT
12 rows selected

刪除模式

您可以使用 DROP SCHEMA 語句刪除現有模式。

語法

以下是 DROPS SCHEMA 語句的語法。

DROP SCHEMA my_schema RESTRICT;

示例

只有當模式中沒有任何物件時,才能刪除該模式。要刪除模式,請刪除其中的所有表,然後刪除模式。

ij> DROP TABLE my_schema.Emp;
0 rows inserted/updated/deleted

以下示例刪除上面建立的模式。

ij> DROP SCHEMA my_schema RESTRICT;
0 rows inserted/updated/deleted

JDBC 示例

以下 JDBC 示例建立和刪除名為 my_schema 的模式。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class CreateSchemaExample {
   public static void main(String args[]) throws Exception {
      //Registering the driver
      Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
      //Getting the Connection object
      String URL = "jdbc:derby:sampleDB;create=true";
      Connection conn = DriverManager.getConnection(URL);

      //Creating the Statement object
      Statement stmt = conn.createStatement();

      stmt.execute("CREATE SCHEMA AUTHORIZATION my_schema");
      //Executing the query
      String query = "CREATE TABLE my_schema.Employees( "
         + "Id INT NOT NULL GENERATED ALWAYS AS IDENTITY, "
         + "Name VARCHAR(255), "
         + "Salary INT NOT NULL, "
         + "Location VARCHAR(255), "
         + "PRIMARY KEY (Id))";
      stmt.execute(query);
      System.out.println("Table created in schema");
      stmt.execute("DROP TABLE my_schema.Employees");
      stmt.execute("DROP SCHEMA my_schema RESTRICT");
      System.out.println("Schema dropped");
   }
}

輸出

執行上述程式後,將生成以下示例。

Table created in schema
Schema dropped
廣告