数据库模式是表示整个数据库的逻辑视图的框架结构.它定义了数据的组织方式以及它们之间的关系如何相关联.它规定了要应用于数据的所有约束.
您可以使用CREATE在Apache Derby中创建模式SCHEMA语句.
以下是CREATE SCHEMA语句的语法.
CREATE SCHEMA schema_name AUTHORIZATION id
以下示例创建名为my_schema的模式Derby数据库.
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示例创建并删除模式名为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