📜  Apache Derby-创建表

📅  最后修改于: 2020-11-28 12:46:05             🧑  作者: Mango


CREATE TABLE语句用于在Derby数据库中创建新表。

句法

以下是CREATE语句的语法。

CREATE TABLE table_name (
   column_name1 column_data_type1 constraint (optional),
   column_name2 column_data_type2 constraint (optional),
   column_name3 column_data_type3 constraint (optional)
);

在Apache Derby中创建表的另一种方法是,您可以使用查询指定列名和数据类型。语法如下:

CREATE TABLE table_name AS SELECT * FROM desired_table WITH NO DATA;

以下SQL语句创建一个名为Student的表,该表有四列,其中id是主键,并且是自动生成的。

ij> CREATE TABLE Student (
   Id INT NOT NULL GENERATED ALWAYS AS IDENTITY,
   Age INT NOT NULL,
   First_Name VARCHAR(255),
   last_name VARCHAR(255),
   PRIMARY KEY (Id)
);
> > > > > > > 0 rows inserted/updated/deleted

DESCRIBE命令通过列出列及其详细信息(如果该表存在)来描述指定的表。您可以使用此命令来验证是否创建了表。

ij> DESCRIBE Student;
COLUMN_NAME |TYPE_NAME |DEC&|NUM&|COLUM&|COLUMN_DEF|CHAR_OCTE&|IS_NULL&
------------------------------------------------------------------------------
ID |INTEGER |0 |10 |10 |AUTOINCRE&|NULL |NO
AGE |INTEGER |0 |10 |10 |NULL |NULL |NO
FIRST_NAME |VARCHAR |NULL|NULL|255 |NULL |510 |YES
LAST_NAME |VARCHAR |NULL|NULL|255 |NULL |510 |YES
4 rows selected

使用JDBC程序创建表

本节教您如何使用JDBC应用程序在Apache Derby数据库中创建表。

如果要使用网络客户端请求Derby网络服务器,请确保该服务器已启动并正在运行。网络客户端驱动程序的类名称为org.apache.derby.jdbc.ClientDriver ,URL为jdbc:derby:// localhost:1527 / DATABASE_NAME; create = true; user = USER_NAME; passd ord = PASSWORD”。

请按照下面给出的步骤在Apache Derby中创建表-

步骤1:注册驱动程序

要与数据库通信,首先,您需要注册驱动程序。类ClassforName()方法接受一个String值,该值表示一个类名,将其加载到内存中,内存将自动对其进行注册。使用此方法注册驱动程序。

步骤2:建立连线

通常,我们与数据库进行通信的第一步是与数据库连接。 Connection类表示与数据库服务器的物理连接。您可以通过调用DriverManager类的getConnection()方法来创建连接对象。使用此方法创建连接。

步骤3:创建一个语句对象

您需要创建一个StatementPreparedStatement或CallableStatement对象,以将SQL语句发送到数据库。您可以分别使用createStatement(),prepareStatement()和prepareCall()方法来创建它们。使用适当的方法创建这些对象之一。

步骤4:执行查询

创建语句后,需要执行它。 Statement类提供了各种执行查询的方法,例如execute()方法可以执行返回多个结果集的语句。 executeUpdate()方法执行INSERT,UPDATE,DELETE之类的查询。 executeQuery()方法返回返回数据等的结果。使用这些方法之一并执行之前创建的语句。

以下JDBC示例演示了如何使用JDBC程序在Apache Derby中创建表。在这里,我们使用嵌入式驱动程序连接到名为sampleDB的数据库(如果不存在则创建)。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class CreateTable {
   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();
 
      //Executing the query
      String query = "CREATE TABLE 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");
   }
}

输出

执行上述程序后,您将获得以下输出

Table created