Oracle数据库编程经典300例
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

实例017 使用ALTER TABLE命令增加新字段

【实例描述】

用户使用数据时,随着应用要求的改变,往往需要对原来的表结构进行修改。与对表结构定义都用CREATE TABLE命令相似,对表结构的修改都是使用ALTER TABLE命令来实现。

本实例使用SQL中的ALTER TABLE命令为一个已经存在的表增加一个新字段,也即添加一个新的字段。本实例针对实例016中创建的表STU,它含有SNO、SNAME、SGENTLE、SAGE、SBIRTH和SDEPT 6个字段,现在需要为该表增加一个新字段SMAJOR,表示其所学专业,该字段为字符型数据类型,长度20,并且该字段不能为空,默认值为“计算机科学与技术”。本实例执行完成后,在SQL*Plus中查看表结构,如图2-4所示。

图2-4 增加新字段

【实现代码】

    SQL> ALTER TABLE STU
      2  ADD SMAJOR VARCHAR2 (20)
      3  DEFAULT '计算机科学与技术'
      4  NOT NULL
      5  /

【范例解析】

本实例为一个已经存在的表增加一个新列,在Oracle PL/SQL中,使用ALTER TABLE命令来实现该操作。执行上述语句后,即为表STU增加了一个新的字段SMAJOR,它是一个长度20字节的字符数据,该字段不能为空且默认值为“计算机科学与技术”。增加该字段后,打开STUDENT表结构可以看到在最后一行中显示了新增的字段,如图2-4所示。

事实上,Oracle中的ALTER TABLE命令用于增加新字段的常用格式为:

    ALTER TABLE 〈表名1〉
    ADD [COLUMN]
    〈字段名1〉〈字段类型〉[(〈长度〉[,〈小数位数〉])]
    [DEFAULT〈表达式1〉]
    [NULL | NOT NULL]

其中,ADD [COLUMN]子句指出新增加字段的字段名及他们的数据类型等信息,DEFAULT子句指出该字段的默认值,NULL | NOT NULL子句指明该字段是否可以为空。Oracle中如不指定NULL | NOT NULL子句,则默认为NULL,即允许为空。

注意:在Oracle等关系型数据库中,关系以二维表的形式存在,记录也称为表的行,字段也称为表的列。因此,本书中对记录和字段的写法有时也写为行和列,因为其表述更为直观。