购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.7 综合案例
——数据表的基本操作

本章全面介绍了Oracle中数据表的各种操作,如创建表、添加各类约束、查看表结构以及修改和删除表。读者应该掌握这些基本的操作,为以后的学习打下坚实的基础。在这里给出一个综合案例,让读者全面回顾一下本章的知识要点,并通过这些操作来检验自己是否已经掌握了数据表的常用操作。

1.案例目的

创建、修改和删除数据表,掌握数据表的基本操作。

按照表3-3和表3-4给出的表结构在company数据库中创建两个数据表offices和employees,按照操作过程完成对数据表的基本操作。

表3-3 offices表结构

表3-4 employees表结构

2.案例操作过程

01 创建数据表offices。

创建数据表offices的SQL语句如下:

上述语句执行成功之后,使用DESC语句查看数据表offices,如下所示:

可以看到,数据库中已经有了数据表offices,创建成功。

02 创建数据表employees。

创建数据表employees的SQL语句如下:

上述语句执行成功之后,使用DESC语句查看数据表employees,如下所示:

可以看到,现在数据库中已经创建好了employees数据表。

03 将数据表employees的birth字段改名为employee_birth。

修改字段名,需要用到ALTER TABLE语句,具体的SQL语句如下:

     SQL> ALTER TABLE employees RENAME COLUMN birth TO employee_birth ;
     表已更改。

结果显示执行成功,使用DESC查看修改后的结果如下:

可以看到,数据表中只有employee_birth字段,已经没有名为birth的字段,字段名修改成功。

04 修改sex字段,数据类型为VARCHAR2(2),非空约束。

修改字段的数据类型需要用到ALTER TABLE语句,具体的SQL语句如下:

     SQL>ALTER TABLE employees MODIFY sex VARCHAR2(2) NOT NULL;
     表已更改。

结果显示执行成功,使用DESC查看修改后的结果如下:

从执行结果可以看到,sex字段的数据类型由前面的VARCHAR2(5)修改为VARCHAR2(2),且其空值列显示为NOT NULL,表示该列不允许空值,修改成功。

05 删除字段note。

删除字段需要用到ALTER TABLE语句,具体的SQL语句如下:

     SQL> ALTER TABLE employees DROP COLUMN note;
     表已更改。

该语句执行成功后,使用DESC employees查看该语句执行后的结果:

可以看到,DESC语句返回了8个字段,note字段已经不在表结构中,说明成功删除了该字段。

06 增加字段名favoriate_activity,数据类型为VARCHAR2(100)。

增加字段需要用到ALTER TABLE语句,具体的SQL语句如下:

     SQL> ALTER TABLE employees ADD favoriate_activity VARCHAR2(100);
     表已更改。

结果显示上面的语句执行成功,使用DESC employees查看该语句执行后的结果:

可以看到,数据表employees中增加了一个新的列favoriate_activity,数据类型为VARCHAR2(100),允许空值。

07 删除数据表offices。

在创建数据表employees时设置了表的外键,该表关联了其父表的officeCode主键。如前面所述,删除关联表时,要先删除子表employees的外键约束,才能删除它的父表。因此,必须先删除表employees的外键约束。

(1)删除数据表employees的外键约束,执行如下的SQL语句:

     SQL>ALTER TABLE employees DROP  CONSTRAINTS office_fk;
     表已更改。

其中office_fk为数据表employees的外键约束的名称,即创建外键约束时CONSTRAINT关键字后面的参数,结果显示该语句执行成功,随后就可以删除它的父表offices。

(2)删除数据表offices,执行如下的SQL语句:

     SQL>DROP TABLE offices;
     表已删除。

结果显示删除操作成功,使用DESC语句查看数据库中的数据表,结果如下:

     SQL> DESC offices;
     ERROR:
     ORA-04043: 对象offices不存在

可以看到,数据库中已经没有名称为offices的数据表了。

08 将表employees的名称修改为employees_info。

修改数据表名需要用到ALTER TABLE语句,具体的SQL语句如下:

     SQL>ALTER TABLE employees RENAME TO employees_info;
     表已更改。

结果显示该语句执行成功,使用DESC查看该语句执行的结果: Mz0O4ovOxWGF70S+ri2zsmNXDnjwpddXVno9DFDIakAN7x4najV9VcPzO82QR69G

点击中间区域
呼出菜单
上一章
目录
下一章
×