无涯教程-Derby - 创建表

98 阅读2分钟

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示例

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

以下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 {
      //注册驱动
      Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
      //创建连接
      String URL = "jdbc:derby:sampleDB;create=true";
      Connection conn = DriverManager.getConnection(URL);
  </span><span class="com">//获取Statement对象</span><span class="pln">
  </span><span class="typ">Statement</span><span class="pln"> stmt </span><span class="pun">=</span><span class="pln"> conn</span><span class="pun">.</span><span class="pln">createStatement</span><span class="pun">();</span><span class="pln">

  </span><span class="com">//执行SQL语句</span><span class="pln">
  </span><span class="typ">String</span><span class="pln"> query </span><span class="pun">=</span><span class="pln"> </span><span class="str">"CREATE TABLE Employees( "</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"Id INT NOT NULL GENERATED ALWAYS AS IDENTITY, "</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"Name VARCHAR(255), "</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"Salary INT NOT NULL, "</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"Location VARCHAR(255), "</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"PRIMARY KEY (Id))"</span><span class="pun">;</span><span class="pln">
     stmt</span><span class="pun">.</span><span class="pln">execute</span><span class="pun">(</span><span class="pln">query</span><span class="pun">);</span><span class="pln">
     </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Table created"</span><span class="pun">);</span><span class="pln">

} }

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

Table created

参考链接

www.learnfk.com/derby/apach…