在 Oracle 中创建表的完整语法格式是什么
解释如下:
CREATE TABLE:用于创建表的关键字。
table_name:要创建的表的名称。
column1、column2等:表中的列名。
datatype:列的数据类型,例如 NUMBER、VARCHAR2、DATE 等。
CONSTRAINT constraint_name:用于为约束指定名称,约束可以是主键约束、唯一约束、外键约束等。
DEFAULT default_value:为列指定默认值。
PRIMARY KEY (column_list):定义主键约束,确保表中某一列或多列的组合值唯一且非空。
UNIQUE (column_list):定义唯一约束,保证指定列的值在表中唯一。
FOREIGN KEY (column_list) REFERENCES referenced_table(referenced_column):定义外键约束,建立表与其他表之间的关联。
在 Oracle 中创建表时,可以使用多种方式添加约束,具体如下:
一、在列定义中添加约束
非空约束:
在列定义后直接使用 NOT NULL 关键字。例如:
CREATE TABLE student (
id NUMBER,
name VARCHAR2(50) NOT NULL, -- 添加非空约束
age NUMBER
);
默认值约束:
在列定义后使用 DEFAULT 关键字并指定默认值。例如:
CREATE TABLE employee (
emp_id NUMBER,
emp_name VARCHAR2(50),
department VARCHAR2(50) DEFAULT 'Unknown' -- 添加默认值约束
);
二、在表定义中单独添加约束
主键约束:
使用 CONSTRAINT 关键字并指定约束名称和 PRIMARY KEY 关键字,后面跟列名或列名列表。例如:
CREATE TABLE customer (
cust_id NUMBER,
cust_name VARCHAR2(50),
CONSTRAINT pk_customer PRIMARY KEY (cust_id) -- 添加主键约束
);
唯一约束:
类似主键约束的方式,使用 CONSTRAINT 和 UNIQUE 关键字。例如:
CREATE TABLE product (
product_id NUMBER,
product_name VARCHAR2(50),
CONSTRAINT uk_product_name UNIQUE (product_name) -- 添加唯一约束
);
外键约束:
使用 CONSTRAINT 和 FOREIGN KEY 关键字,指定外键列名列表,并使用 REFERENCES 关键字指定引用的表和列。例如:
CREATE TABLE order_details (
order_id NUMBER,
product_id NUMBER,
quantity NUMBER,
CONSTRAINT fk_product_id FOREIGN KEY (product_id) REFERENCES product(product_id) -- 添加外键约束
);




