Oracle创建数据表以及对数据表、字段、主外键、约束的操作的完整攻略
在Oracle数据库中,创建数据表以及对数据表、字段、主外键、约束的操作是非常常见的操作。本文将提供Oracle创建数据表以及对数据表、字段、主外键、约束的操作的完整攻略,包括以下步骤:
- 创建数据表
- 修改数据表
- 删除数据表
- 添加字段
- 修改字段
- 删除字段
- 添加主键
- 添加外键
- 添加约束
- 示例说明
步骤一:创建数据表
在Oracle数据库中,创建数据表的语法如下:
CREATE TABLE table_name (
column1 datatype [ NULL | NOT NULL ],
column2 datatype [ NULL | NOT NULL ],
...
column_n datatype [ NULL | NOT NULL ]
);
以下是一个示例创建数据表的命令:
CREATE TABLE employees (
employee_id NUMBER(6) PRIMARY KEY,
first_name VARCHAR2(20),
last_name VARCHAR2(25) NOT NULL,
email VARCHAR2(25) NOT NULL,
hire_date DATE NOT NULL,
job_id VARCHAR2(10) NOT NULL,
salary NUMBER(8,2),
commission_pct NUMBER(2,2),
manager_id NUMBER(6),
department_id NUMBER(4)
);
在这个示例中,我们创建了一个名为employees的数据表,并定义了10个字段,其中employee_id为主键。
步骤二:修改数据表
在Oracle数据库中,修改数据表的语法如下:
ALTER TABLE table_name
ADD column_name datatype [ NULL | NOT NULL ],
MODIFY column_name datatype [ NULL | NOT NULL ],
DROP column_name;
以下是一个示例修改数据表的命令:
ALTER TABLE employees
ADD phone_number VARCHAR2(20),
MODIFY salary NUMBER(10,2),
DROP commission_pct;
在这个示例中,我们向employees数据表中添加了一个phone_number字段,修改了salary字段的数据类型,并删除了commission_pct字段。
步骤三:删除数据表
在Oracle数据库中,删除数据表的语法如下:
DROP TABLE table_name;
以下是一个示例删除数据表的命令:
DROP TABLE employees;
在这个示例中,我们删除了名为employees的数据表。
步骤四:添加字段
在Oracle数据库中,添加字段的语法如下:
ALTER TABLE table_name
ADD column_name datatype [ NULL | NOT NULL ];
以下是一个示例添加字段的命令:
ALTER TABLE employees
ADD phone_number VARCHAR2(20);
在这个示例中,我们向employees数据表中添加了一个phone_number字段。
步骤五:修改字段
在Oracle数据库中,修改字段的语法如下:
ALTER TABLE table_name
MODIFY column_name datatype [ NULL | NOT NULL ];
以下是一个示例修改字段的命令:
ALTER TABLE employees
MODIFY salary NUMBER(10,2);
在这个示例中,我们修改了employees数据表中的salary字段的数据类型。
步骤六:删除字段
在Oracle数据库中,删除字段的语法如下:
ALTER TABLE table_name
DROP column_name;
以下是一个示例删除字段的命令:
ALTER TABLE employees
DROP commission_pct;
在这个示例中,我们删除了employees数据表中的commission_pct字段。
步骤七:添加主键
在Oracle数据库中,添加主键的语法如下:
ALTER TABLE table_name
ADD CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ... column_n);
以下是一个示例添加主键的命令:
ALTER TABLE employees
ADD CONSTRAINT pk_employee_id PRIMARY KEY (employee_id);
在这个示例中,我们向employees数据表中添加了一个名为pk_employee_id的主键,该主键包含employee_id字段。
步骤八:添加外键
在Oracle数据库中,添加外键的语法如下:
ALTER TABLE child_table
ADD CONSTRAINT constraint_name FOREIGN KEY (child_column1, child_column2, ... child_column_n)
REFERENCES parent_table (parent_column1, parent_column2, ... parent_column_n);
以下是一个示例添加外键的命令:
ALTER TABLE employees
ADD CONSTRAINT fk_department_id FOREIGN KEY (department_id)
REFERENCES departments (department_id);
在这个示例中,我们向employees数据表中添加了一个名为fk_department_id的外键,该外键引用了departments数据表中的department_id字段。
步骤九:添加约束
在Oracle数据库中,添加约束的语法如下:
ALTER TABLE table_name
ADD CONSTRAINT constraint_name constraint_type (column1, column2, ... column_n);
以下是一个示例添加约束的命令:
ALTER TABLE employees
ADD CONSTRAINT ck_salary CHECK (salary > 0);
在这个示例中,我们向employees数据表中添加了一个名为ck_salary的约束,该约束要求salary字段的值大于0。
步骤十:示例说明
以下是两个示例说明,以帮助用户更好地理解Oracle创建数据表以及对数据表、字段、主外键、约束的操作的方法。
示例1:创建一个包含主键、外键和约束的数据表
CREATE TABLE orders (
order_id NUMBER(6) PRIMARY KEY,
customer_id NUMBER(6) NOT NULL,
order_date DATE NOT NULL,
total_amount NUMBER(10,2) NOT NULL,
CONSTRAINT fk_customer_id FOREIGN KEY (customer_id)
REFERENCES customers (customer_id),
CONSTRAINT ck_total_amount CHECK (total_amount > 0)
);
在这个示例中,我们创建了一个名为orders的数据表,该数据表包含order_id、customer_id、order_date和total_amount四个字段,其中order_id为主键,customer_id为外键,引用了customers数据表中的customer_id字段,total_amount有一个约束,要求其值大于0。
示例2:修改数据表并添加字段
ALTER TABLE orders
MODIFY total_amount NUMBER(12,2),
DROP CONSTRAINT ck_total_amount,
ADD discount_amount NUMBER(10,2) DEFAULT 0,
ADD CONSTRAINT ck_total_amount CHECK (total_amount >= discount_amount);
在这个示例中,我们修改了orders数据表中的total_amount字段的数据类型,并删除了约束ck_total_amount,然后向orders数据表中添加了一个discount_amount字段,并添加了一个新的约束ck_total_amount,要求total_amount大于或等于discount_amount。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:oracle创建数据表以及对数据表、字段、主外键、约束的操作 - Python技术站