官术网_书友最值得收藏!

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

【實例描述】

用戶使用數(shù)據(jù)時,隨著應(yīng)用要求的改變,往往需要對原來的表結(jié)構(gòu)進(jìn)行修改。與對表結(jié)構(gòu)定義都用CREATE TABLE命令相似,對表結(jié)構(gòu)的修改都是使用ALTER TABLE命令來實現(xiàn)。

本實例使用SQL中的ALTER TABLE命令為一個已經(jīng)存在的表增加一個新字段,也即添加一個新的字段。本實例針對實例016中創(chuàng)建的表STU,它含有SNO、SNAME、SGENTLE、SAGE、SBIRTH和SDEPT 6個字段,現(xiàn)在需要為該表增加一個新字段SMAJOR,表示其所學(xué)專業(yè),該字段為字符型數(shù)據(jù)類型,長度20,并且該字段不能為空,默認(rèn)值為“計算機科學(xué)與技術(shù)”。本實例執(zhí)行完成后,在SQL*Plus中查看表結(jié)構(gòu),如圖2-4所示。

圖2-4 增加新字段

【實現(xiàn)代碼】

    SQL> ALTER TABLE STU
      2  ADD SMAJOR VARCHAR2 (20)
      3  DEFAULT '計算機科學(xué)與技術(shù)'
      4  NOT NULL
      5  /

【范例解析】

本實例為一個已經(jīng)存在的表增加一個新列,在Oracle PL/SQL中,使用ALTER TABLE命令來實現(xiàn)該操作。執(zhí)行上述語句后,即為表STU增加了一個新的字段SMAJOR,它是一個長度20字節(jié)的字符數(shù)據(jù),該字段不能為空且默認(rèn)值為“計算機科學(xué)與技術(shù)”。增加該字段后,打開STUDENT表結(jié)構(gòu)可以看到在最后一行中顯示了新增的字段,如圖2-4所示。

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

    ALTER TABLE 〈表名1〉
    ADD [COLUMN]
    〈字段名1〉〈字段類型〉[(〈長度〉[,〈小數(shù)位數(shù)〉])]
    [DEFAULT〈表達(dá)式1〉]
    [NULL | NOT NULL]

其中,ADD [COLUMN]子句指出新增加字段的字段名及他們的數(shù)據(jù)類型等信息,DEFAULT子句指出該字段的默認(rèn)值,NULL | NOT NULL子句指明該字段是否可以為空。Oracle中如不指定NULL | NOT NULL子句,則默認(rèn)為NULL,即允許為空。

注意:在Oracle等關(guān)系型數(shù)據(jù)庫中,關(guān)系以二維表的形式存在,記錄也稱為表的行,字段也稱為表的列。因此,本書中對記錄和字段的寫法有時也寫為行和列,因為其表述更為直觀。

主站蜘蛛池模板: 成武县| 厦门市| 剑河县| 宁陵县| 古浪县| 寻甸| 勃利县| 慈利县| 习水县| 延川县| 余庆县| 新乡县| 衡阳市| 雷波县| 民乐县| 芜湖县| 克东县| 丰宁| 修文县| 福安市| 淳安县| 临夏市| 子长县| 莱州市| 浑源县| 馆陶县| 桐梓县| 酉阳| 三台县| 萍乡市| 高淳县| 清镇市| 深水埗区| 惠来县| 尉犁县| 丹凤县| 保定市| 沁水县| 蛟河市| 烟台市| 武平县|