最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle修改字段長度及屬性的方法

 更新時(shí)間:2024年05月10日 08:58:38   作者:藍(lán)澀街燈  
這篇文章主要介紹了Oracle修改字段長度及屬性,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

Oracle數(shù)據(jù)庫使用ALTER TABLE MODIFY語法,修改列定義。
語法

alter table table_name modify(column_name 字段類型);

Oracle允許執(zhí)行多種操作,但主要有以下常用的操作:

  • 修改數(shù)據(jù)列的可見性(可見或不可見)
  • 修改字段允許或不允許null
  • 修改字段長度
  • 修改列的默認(rèn)值

修改多個(gè)列語法如下:

ALTER TABLE table_name
MODIFY (
    column_name_1 字段類型,
    column_name_2 字段類型,
    ...
);

舉例,仍然使用之前建立的數(shù)據(jù)庫表及數(shù)據(jù)進(jìn)行測試:Oracle中新建數(shù)據(jù)表的兩種方法(點(diǎn)擊前邊文字跳轉(zhuǎn)),不了解的自行跳轉(zhuǎn)鏈接查看,這里就在列下建表及插入數(shù)據(jù)語句如下:

--實(shí)例建表stuinfo_01
create table JT_CS.stuinfo_01
(
  stuid      varchar2(11) not null,--學(xué)號(hào):'S'+班號(hào)(7位數(shù))+學(xué)生序號(hào)(3位數(shù))(不能為空)SC200101001
  stuname    varchar2(50) not null,--學(xué)生姓名(不能為空)
  sex        char(1) not null,--性別(不能為空)1(男)、2(女)
  age        number(2) not null,--年齡(不能為空)
  classno    varchar2(7) not null,--班號(hào):'C'+年級(jí)(4位數(shù))+班級(jí)序號(hào)(2位數(shù))(不能為空)C200101
  stuaddress varchar2(100) default '地址未錄入',--地址 (不填或?yàn)榭諘r(shí)默認(rèn)填入‘地址未錄入‘)
  grade      char(4) not null,--年級(jí)(不能為空)
  enroldate  date,--入學(xué)時(shí)間
  idnumber   varchar2(18) default '身份證未采集' not null--身份證(不能為空)
)
--插入測試數(shù)據(jù)
INSERT INTO JT_CS.STUINFO VALUES ('SC200101001','路飛','1','19','C200101','東海哥亞王國風(fēng)車村','2001','2001/09/01','411428199602569201');
INSERT INTO JT_CS.STUINFO VALUES ('SC200101002','索隆','1','21','C200101','東海霜月村','2001','2001/09/01','411428199602569202');
INSERT INTO JT_CS.STUINFO VALUES ('SC200101003','娜美','2','20','C200101','可可西亞村','2001','2001/09/01','411428199602569203');
INSERT INTO JT_CS.STUINFO VALUES ('SC200101004','烏索普','1','19','C200101','東海西羅布村','2001','2001/09/01','411428199602569204');
INSERT INTO JT_CS.STUINFO VALUES ('SC200101005','山治','1','21','C200101','北海杰爾瑪王國','2001','2001/09/01','411428199602569205');
INSERT INTO JT_CS.STUINFO VALUES ('SC200101006','喬巴','1','15','C200101','磁鼓島','2001','2001/09/01','411428199602569206');
INSERT INTO JT_CS.STUINFO VALUES ('SC200101007','羅賓','2','30','C200101','奧哈拉','2001','2001/09/01','411428199602569207');
INSERT INTO JT_CS.STUINFO VALUES ('SC200101008','弗蘭奇','1','34','C200101','南海','2001','2001/09/01','411428199602569208');
INSERT INTO JT_CS.STUINFO VALUES ('SC200101009','布魯克','1','63','C200101','西海','2001','2001/09/01','411428199602569209');
INSERT INTO JT_CS.STUINFO VALUES ('SC200101010','甚平','1','46','C200101','魚人島','2001','2001/09/01','411428199602569210');

查詢結(jié)果數(shù)據(jù)如下:

  SELECT * FROM JT_CS.STUINFO_01;

1、修改數(shù)據(jù)列的可見性(可見或不可見)

通常默認(rèn)情況下,新建表在未有任何定義的情況下表列都是可見的。我們可以在創(chuàng)建表或使用ALTER TABLE MODIFY語句定義某些列不可見。

--以下語句將SEX列修改為不可見(適用于Oracle 12c)
ALTER TABLE JT_CS.STUINFO_01 
MODIFY SEX INVISIBLE;
--將不可見字段修改為可見(適用于Oracle 12c)
ALTER TABLE JT_CS.STUINFO_01 
MODIFY SEX VISIBLE;

2. 修改字段允許或不允許null

準(zhǔn)備測試數(shù)據(jù)(先制造出一個(gè)小問題)

--測試需要,先將原來的enroldate字段路飛的入學(xué)時(shí)間置空
UPDATE  JT_CS.STUINFO_01 SET enroldate='' WHERE STUID='SC200101001';

修改enroldate字段不予許為空 not null

--修改enroldate字段不予許為空 not null
ALTER TABLE JT_CS.STUINFO_01 
MODIFY enroldate  NOT NULL;

因?yàn)閯倓偽覀兦蹇樟?ldquo;路飛”先生的入學(xué)時(shí)間,所以執(zhí)行NOTNULL時(shí)系統(tǒng)提示錯(cuò)誤,有空值存在,也就是說必須確?,F(xiàn)有數(shù)據(jù)符合新約束(也就是說,如果原來數(shù)據(jù)中存在NULL是不行的)。

為了解決這個(gè)問題,首先我們需要將enroldate字段所有為空的列進(jìn)行填充

--更新填充字段
UPDATE 
    JT_CS.STUINFO_01
SET 
    enroldate='2001-09-30' WHERE STUID='SC200101001' ;

然后改變enroldate列的約束:

--修改約束不允許為空(not null)    
ALTER TABLE JT_CS.STUINFO_01 
MODIFY enroldate  NOT NULL;

3. 修改字段長度

--將身份證號(hào)字段長度大小擴(kuò)充到20
ALTER TABLE JT_CS.STUINFO_01 MODIFY IDNUMBER VARCHAR2(20);

注意:要縮短或擴(kuò)充列的大小,請(qǐng)確保列中的所有數(shù)據(jù)都符合新的大小,否則語句將無法進(jìn)行執(zhí)行。

4. 修改列的默認(rèn)值

添加一個(gè)名為status的新列,默認(rèn)值為1到JT_CS.STUINFO_01表中

--添加一個(gè)新列,然后默認(rèn)值設(shè)置成 1
ALTER TABLE JT_CS.STUINFO_01 ADD status NUMBER( 1, 0 ) DEFAULT 1 NOT NULL ;

將添加的新列status的默認(rèn)值修改為0

--設(shè)置成默認(rèn)值0
ALTER TABLE JT_CS.STUINFO_01 MODIFY status DEFAULT 0;

插入一條新數(shù)據(jù)進(jìn)行測試

--按指定的字段插入數(shù)據(jù)
INSERT INTO JT_CS.STUINFO_01 ( STUID, STUNAME, SEX, AGE, CLASSNO, STUADDRESS, GRADE, ENROLDATE, IDNUMBER) VALUES ('SC200101011','薩博','1','46','C200101','魚人島','2000','2001/09/01','411428199602569211');

結(jié)果查詢

到此這篇關(guān)于Oracle修改字段長度及屬性的文章就介紹到這了,更多相關(guān)Oracle修改字段長度及屬性內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Oracle中的隱含參數(shù)_disable_logging

    詳解Oracle中的隱含參數(shù)_disable_logging

    之前看到過一篇文章是介紹Oracle的一個(gè)內(nèi)部隱含參數(shù)_disable_logging,最近又看到有朋友論述這個(gè)參數(shù),所以下面這篇文章就來給大家介紹下關(guān)于Oracle中隱含參數(shù)_disable_logging的相關(guān)資料,需要的朋友可以參考下。
    2017-02-02
  • win10 oracle11g安裝報(bào)錯(cuò)問題集合 附解決方法

    win10 oracle11g安裝報(bào)錯(cuò)問題集合 附解決方法

    這篇文章主要為大家總結(jié)了win10 oracle11g安裝報(bào)錯(cuò)問題的產(chǎn)生原因,和oracle安裝報(bào)錯(cuò)的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • OL7.6上RPM方式安裝Oracle 19c的教程

    OL7.6上RPM方式安裝Oracle 19c的教程

    這篇文章主要介紹了OL7.6上RPM方式安裝Oracle 19c的教程詳解,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Oracle過程與函數(shù)的區(qū)別分析

    Oracle過程與函數(shù)的區(qū)別分析

    在Oracle數(shù)據(jù)庫中,過程和函數(shù)都以編譯后的形式存放在數(shù)據(jù)庫中,二者的主要區(qū)別在于他們的調(diào)用方式,下文對(duì)二者的區(qū)別作了詳盡的描述,供您參考
    2014-08-08
  • Oracle數(shù)據(jù)庫批量變更字段類型的實(shí)現(xiàn)步驟

    Oracle數(shù)據(jù)庫批量變更字段類型的實(shí)現(xiàn)步驟

    我有個(gè)項(xiàng)目使用Oracle數(shù)據(jù)庫,運(yùn)行幾年后數(shù)據(jù)量較大,需要對(duì)數(shù)據(jù)庫做一次優(yōu)化,其中有些字段類型類型需要調(diào)整,這里分享一下實(shí)現(xiàn)步驟,感興趣的朋友可以參考下
    2024-02-02
  • 提升Oracle用戶密碼安全性的策略

    提升Oracle用戶密碼安全性的策略

    最近遇到這樣的客戶需求,數(shù)據(jù)庫中有很多業(yè)務(wù)用戶名,客戶期望密碼設(shè)置不要過于簡單,最起碼別和用戶名一致或相似就好。怎么解決這個(gè)需求呢?下面小編給大家?guī)砹颂嵘齇racle用戶密碼安全性的策略,感興趣的朋友一起看看吧
    2018-04-04
  • Oracle中在pl/sql developer修改表的2種方法

    Oracle中在pl/sql developer修改表的2種方法

    Oracle中在pl/sql developer修改表的2種方法,需要的朋友可以參考一下
    2013-03-03
  • Oracle數(shù)據(jù)庫中的觸發(fā)器詳解

    Oracle數(shù)據(jù)庫中的觸發(fā)器詳解

    這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫中觸發(fā)器的相關(guān)資料,觸發(fā)器也是保護(hù)數(shù)據(jù)完整性的一種重要方法,于存儲(chǔ)過程不同的是,觸發(fā)器是通過事件進(jìn)行觸發(fā)被執(zhí)行,存儲(chǔ)過程需要被調(diào)用執(zhí)行,需要的朋友可以參考下
    2024-02-02
  • Oracle19c安裝與基本配置教程(超詳細(xì)!)

    Oracle19c安裝與基本配置教程(超詳細(xì)!)

    oracle19c數(shù)據(jù)庫安裝相對(duì)于oracle12c安裝還是有些不一樣的,所以今天再來記錄一下安裝過程,下面這篇文章主要給大家介紹了關(guān)于Oracle19c安裝與基本配置的超詳細(xì)教程,需要的朋友可以參考下
    2023-01-01
  • Oracle如何清除一個(gè)用戶下的所有表(謹(jǐn)慎操作!)

    Oracle如何清除一個(gè)用戶下的所有表(謹(jǐn)慎操作!)

    在測試數(shù)據(jù)庫腳本可用性的時(shí)候,會(huì)新建一個(gè)用戶然后執(zhí)行腳本,測試成功之后,需要清空表,下面這篇文章主要給大家介紹了關(guān)于Oracle如何清除一個(gè)用戶下的所有表的相關(guān)資料,需要的朋友可以參考下
    2023-03-03

最新評(píng)論

来安县| 阜新市| 突泉县| 渝中区| 高雄市| 墨脱县| 屯门区| 焦作市| 靖西县| 上栗县| 鸡西市| 常州市| 太谷县| 仁布县| 丰顺县| 商南县| 汽车| 平和县| 正定县| 凤台县| 绥阳县| 甘孜县| 巧家县| 正阳县| 北流市| 夏津县| 辽宁省| 红桥区| 马关县| 正安县| 五原县| 九寨沟县| 清新县| 平和县| 石泉县| 上饶市| 女性| 道孚县| 石嘴山市| 鹿邑县| 鄯善县|