📜  创建新表 pl sql (1)

📅  最后修改于: 2023-12-03 15:22:41.135000             🧑  作者: Mango

创建新表 PL/SQL

在 PL/SQL 中,可以使用 CREATE TABLE 语句来创建新表。该语句包括定义表的列、数据类型和其他属性,还可以定义约束条件和索引。

语法

下面是 CREATE TABLE 语句的基本语法:

CREATE TABLE table_name
(
  column1 datatype [ NULL | NOT NULL ],
  column2 datatype [ NULL | NOT NULL ],
  ...
  column_n datatype [ NULL | NOT NULL ]
) [ TABLESPACE tablespace_name ];

其中,table_name 是新表的名称,column1 到 column_n 是表的列,datatype 是每个列的数据类型。NULL 和 NOT NULL 用于指定每个列是否允许为 NULL 值。

可以使用 TABLESPACE 子句指定将新表放置在哪个表空间中。

示例

下面是一个例子,展示如何创建名为 employees 的新表,它有三个列:employee_id、employee_name 和 hire_date。

CREATE TABLE employees
(
  employee_id    NUMBER(6)   NOT NULL,
  employee_name  VARCHAR2(50) NOT NULL,
  hire_date      DATE        NOT NULL
);
约束条件

在创建新表时,可以定义约束条件来限制插入、更新或删除行的条件。常见的约束包括 PRIMARY KEY、FOREIGN KEY、NOT NULL 和 CHECK 等约束。

下面是一个例子,展示如何在上述 employees 表中添加 PRIMARY KEY 约束:

CREATE TABLE employees
(
  employee_id    NUMBER(6)   NOT NULL,
  employee_name  VARCHAR2(50) NOT NULL,
  hire_date      DATE        NOT NULL,
  CONSTRAINT pk_emp_id PRIMARY KEY (employee_id)
);
索引

在创建新表时,可以定义索引来提高查询性能。索引可以通过 CREATE INDEX 语句单独创建,也可以在 CREATE TABLE 语句中定义。

例如,下面的 CREATE TABLE 语句创建了名为 employees 的新表,并在 employee_id 列上定义了一个索引:

CREATE TABLE employees
(
  employee_id    NUMBER(6)   NOT NULL,
  employee_name  VARCHAR2(50) NOT NULL,
  hire_date      DATE        NOT NULL,
  CONSTRAINT pk_emp_id PRIMARY KEY (employee_id),
  INDEX idx_emp_id (employee_id)
);
总结

生成一个新表的创建是 PL/SQL 中的基础操作之一。使用 CREATE TABLE 语句,您可以定义表的列、数据类型和其他属性,还可以定义约束条件和索引,以确保表的一致性和性能。