📅  最后修改于: 2020-11-28 12:54:44             🧑  作者: Mango
数据库模式是代表整个数据库的逻辑视图的框架结构。它定义了如何组织数据以及如何关联数据之间的关系。它制定了要应用于数据的所有约束。
您可以使用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示例创建并删除了名为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