午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    Oracle表管理以及約束筆記
    來(lái)源:易賢網(wǎng) 閱讀:1095 次 日期:2014-08-25 10:42:07
    溫馨提示:易賢網(wǎng)小編為您整理了“Oracle表管理以及約束筆記”,方便廣大網(wǎng)友查閱!

    [導(dǎo)讀]最近一直在學(xué)習(xí)Oracle數(shù)據(jù)庫(kù)。這幾天整理了下 表管理 以及約束的筆記 給大家分享下。

    最近一直在學(xué)習(xí)Oracle數(shù)據(jù)庫(kù)。這幾天整理了下 表管理 以及約束的筆記 給大家分享下。

    表管理

    *!常用的數(shù)據(jù)類(lèi)型!*

    varchar/varchar2 表示一個(gè)字符串

    number/ number(n): 表示一個(gè)整數(shù),數(shù)字長(zhǎng)度是n,可以使用INT

    \ number(m,n): 表示一個(gè)小數(shù),數(shù)字小數(shù)位長(zhǎng)度是n,整數(shù)長(zhǎng)度是m-n,可以使用FLOAT代替

    date 表示日期類(lèi)型,日期要按照標(biāo)準(zhǔn)日期格式進(jìn)行存放。

    clob 大對(duì)象,表示大文本數(shù)據(jù),一般可以存放4G的文本。

    blob 大對(duì)象,表示二進(jìn)制數(shù)據(jù),最大可以存放4G,例如:電影、歌曲、圖片

    ·表的建立。

    1·復(fù)制一張表

    create table 表名 as select * from emp; ----復(fù)制emp表中的結(jié)構(gòu)和內(nèi)容

    create table 表名 as select * from emp where 1=2;----復(fù)制結(jié)構(gòu)不復(fù)制內(nèi)容

    2·創(chuàng)建一張表。create 命令

    ________________范例____________________

    create table person

    (

    pid varchar2(18),

    name varchar2(200),

    age number(3),

    birthday date,

    sex varchar2(2)default '男'

    );

    ________________________________________

    ·刪除表

    drop 刪除表。

    ·修改表(了解) 一般很少修改表 在IBM 的DB2中根本沒(méi)有alter指令

    *!表中存在大量記錄,刪除的話(huà) 是不是很麻煩?!* 有命令:

    ·增加列:alter指令+table+表名稱(chēng)+add

    __________________________范例__________________________________

    alter table person add(address varchar(200) default '暫無(wú)地址');

    ________________________________________________________________

    ·修改列。alter指令+table+表名稱(chēng)+modify+(列信息);

    ·表重命名(Oracle獨(dú)有的命令)

    rename … to … 只能在Oracle中使用

    ·截?cái)啾?/P>

    清空一張表 不能回滾,

    需要截?cái)啾碚Z(yǔ)法:

    truncate +表明

    ############約束############

    主要分為五種:

    ·主鍵約束:表示唯一的表示,本身不能為空。 *例如*:身份證編號(hào)、

    ·唯一約束:在以個(gè)表中只允許建立以個(gè)主鍵約束而其他不想出現(xiàn)重復(fù)的值的話(huà),則可以使用唯一約束。

    ·檢查約束:檢查一個(gè)列的內(nèi)容是否合法。 *例如*:性別只能是男、女、中性。

    ·非空約束,就好像姓名這樣的字段就不能為空。

    ·外間約束,在兩張表中間進(jìn)行約束操作。

    1·主鍵約束(primary key)

    ·一般在ID上使用,而且本身已經(jīng)默認(rèn)內(nèi)容不能為空??梢栽诮⒈淼臅r(shí)候指定。

    _________________________范例__________________________________

    create table person

    (

    pid varchar2(18) primary key,

    name varchar2(200),

    age number(3),

    birthday date,

    sex varchar2(2)default '男'

    );

    ________________________________________________________________

    ·可以用constraint來(lái)指定約束的名稱(chēng)

    _________________________范例__________________________________

    create table person

    (

    pid varchar2(18) ,

    name varchar2(200),

    age number(3),

    birthday date,

    sex varchar2(2)default '男',

    constraint person_pid_pk primary key (pid)

    );

    ________________________________________________________________

    2·非空約束(not null)

    _________________________范例__________________________________

    create table person

    (

    pid varchar2(18) ,

    name varchar2(200) not null ,

    age number(3) not null ,

    birthday date,

    sex varchar2(2)default '男',

    constraint person_pid_pk primary key (pid)

    );

    ________________________________________________________________

    3·唯一約束(unique)

    表示一個(gè)字段中的內(nèi)容是唯一的,其他列不允許重復(fù)。

    _________________________范例__________________________________

    create table person

    (

    pid varchar2(18) ,

    name varchar2(200) not null ,

    age number(3) not null ,

    birthday date,

    sex varchar2(2) default '男',

    constraint person_pid_pk primary key (pid)

    );

    ________________________________________________________________

    4·檢查約束(check)

    使用檢查約束來(lái)判斷一個(gè)列中插入的內(nèi)容是否合法、例如年齡的取值范圍

    _________________________范例__________________________________

    create table person

    (

    pid varchar2(18) ,

    name varchar2(200) not null ,

    age number(3) not null check(age between 0 and 150),

    birthday date,

    sex varchar2(2) default '男' check(sex in ('男','女','中性')),

    constraint person_pid_pk primary key (pid)

    );

    ________________________________________________________________

    上面語(yǔ)句 優(yōu)化自定義 約束名稱(chēng)

    create table person

    (

    pid varchar2(18) ,

    name varchar2(200) not null ,

    age number(3) not null ,

    birthday date,

    sex varchar2(2) default '男' ,

    constraint person_pid_pk primary key (pid),

    constraint person_name_uk unique(name),

    constraint person_age_ck check(age between 0 and 150),

    constraint person_sex_ck check(sex in ('男','女','中性'))

    );_________________________________________________

    5·主-外鍵約束(foreign key)

    之前的約束都是針對(duì)一張表的約束,這個(gè)主-外鍵約束是針對(duì)兩張表的約束。

    范例:書(shū)這個(gè)表中的一本書(shū)屬于人這個(gè)表中的一個(gè)人。

    (1)·首先插入兩張表。

    drop table person;

    drop table book;

    create table person

    (

    pid varchar2(18) ,

    name varchar2(200) not null ,

    age number(3) not null ,

    birthday date,

    sex varchar2(2) default '男' ,

    constraint person_pid_pk primary key (pid),

    constraint person_name_uk unique(name),

    constraint person_age_ck check(age between 0 and 150),

    constraint person_sex_ck check(sex in ('男','女','中性'))

    );

    create table book

    (

    bid number primary key not null ,

    bname varchar(30),

    bprice number(5,2),pid varchar2(18)

    );

    (2)·插入完成兩張表之后,下一步插入一些數(shù)據(jù)。

    insert into book(bid ,bname ,bprice,pid) values ( 1,'Java Se' ,'59','111111');

    insert into person (PID,NAME,AGE,BIRTHDAY,SEX) values ('111111','張三',30,to_date('1987-12-27','yyyy-mm-

    dd'),'女');

    (3)·插入以下數(shù)據(jù)

    insert into book(bid ,bname ,bprice,pid) values ( 1,'Java Se' ,'59','000000');

    *!注意!*此編號(hào)的人根本不存在。數(shù)據(jù)也就不應(yīng)該插入。

    *!注意!*此時(shí)應(yīng)該用到主-外鍵關(guān)聯(lián),關(guān)聯(lián)之后 字表 的數(shù)據(jù)跟隨著 父表 的數(shù)據(jù)內(nèi)容

    主-外鍵語(yǔ)法:foreign key(字段) reference 表名(字段)后者表作為父表 后者表明是指定字段作為父表的字

    段 book 表的創(chuàng)建有所改變,變成如下

    drop table book;

    create table book

    (

    bid number primary key not null ,

    bname varchar(30),

    bprice number(5,2),

    pid varchar2(18) ,

    constraint person_book_pid_fk foreign key(pid) references person(pid)

    );

    再插入數(shù)據(jù)

    此時(shí)就不會(huì)出現(xiàn)找不到對(duì)應(yīng)數(shù)據(jù)的情況。這就是主外鍵。

    ·在字表中設(shè)置的外鍵在父表中必須是主鍵。

    ·刪除時(shí)應(yīng)該先刪除子表,再刪除父表。

    drop table book; book表是父表。

    drop table person; person表是字表。

    可以使用強(qiáng)制刪除手段,但這個(gè)做法一般不使用。

    ________范例______________________

    drop table book cascade constraint;不管約束 直接刪除。

    __________________________________

    ·級(jí)聯(lián)刪除

    建立主外鍵連接的時(shí)候可以加上 on delete cascade 刪的時(shí)候連同字表的對(duì)應(yīng)數(shù)據(jù)一起刪除掉。

    這是外鍵的完整語(yǔ)法。

    ############修改約束#######(了解)##

    ·添加約束

    alter 表名稱(chēng) add constraint 約束名稱(chēng) 約束類(lèi)型(字段);

    *!重點(diǎn)!* ROWNUM

    rownum:表示行號(hào)、實(shí)際上這此是一個(gè)列,但這個(gè)列是一個(gè)偽列,此列可以在每張表中出現(xiàn)。

    更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄

    更多信息請(qǐng)查看數(shù)據(jù)庫(kù)
    易賢網(wǎng)手機(jī)網(wǎng)站地址:Oracle表管理以及約束筆記
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢(xún)回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢(xún)?yōu)闇?zhǔn)!

    2025國(guó)考·省考課程試聽(tīng)報(bào)名

    • 報(bào)班類(lèi)型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢(xún) | 簡(jiǎn)要咨詢(xún)須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專(zhuān)用圖標(biāo)
    聯(lián)系電話(huà):0871-65099533/13759567129 獲取招聘考試信息及咨詢(xún)關(guān)注公眾號(hào):hfpxwx
    咨詢(xún)QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專(zhuān)用圖標(biāo)