<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-159  評(píng)論-114  文章-7  trackbacks-0

    表的建立有4個(gè)步驟

    1.表名
    2.列名
    3.主鍵,外鍵,非空,唯一約束
    4.外鍵表,外鍵列
    5.數(shù)據(jù)類型
    6.數(shù)據(jù)


    建表語句

    create table lujl11
    (id number(7),
    start_date DATE DEFAULT SYSDATE)

    在同一個(gè)用戶表空間,不能有同名的表。


    ========================================


                                     RDBMS
    ---|---------------------------|-------------------|
    DB1(TLAB1)
    |-----------------------------|-------------------------|
    Table Space(users)         T.S(temp)                    
    |---------------------|
    schema(s0510)         (j0510)其他用戶的目錄讀權(quán)限
    |---------|
    s_emp    s_dept

    為什么sqlplus,一登陸就是某個(gè)庫,1個(gè)用戶只能登陸一個(gè)庫,那么這個(gè)庫在.cshrc環(huán)境變量中,ORACLE_SID表明。在登錄到對(duì)應(yīng)用戶,使用對(duì)應(yīng)用戶的表空間。

    openlab上。

    SQL> !more .cshrc
    # @(#)cshrc 1.11 89/11/29 SMI
    umask 022
    setenv ORACLE_BASE /tarenadb
    setenv ORACLE_HOME /tarenaora/software/9.0.1
    setenv ORACLE_SID TARENADB

    =======================================

    數(shù)據(jù)類型

    VARCHAR2(size)
    CHAR(size)
    NUMBER(p,s)  p為有效位數(shù),s為小數(shù)位數(shù),那么NUMBER(5,2),整數(shù)位為3位。
    DATE 日期與時(shí)間值。
    LONG 大文本
    RAW和LONG RAW 圖像或者聲音

    約束類型

    NOT NULL
    UNIQUE
    PRIMARY KEY
    FOREIGN KEY
    CHECK

    約束起名,如果不起名,系統(tǒng)會(huì)分配一個(gè)名字,SYS_Cxxxx。
    約束 最好是 表名_列名_約束類型 
    lujl11_dept_id_fk 外鍵
    lujl11_id_pk主鍵
    lujl11_name_nn非空
    lujl11_title_uk唯一
    lujl11_salary_ckCHECK約束

    定義,有列一級(jí)定義也有表一級(jí)定義,但是效果完全一樣。

    約束與數(shù)據(jù)是一對(duì)矛盾。誰先存在,誰有理,數(shù)據(jù)已存在,那么得添加約束要符合數(shù)據(jù)情況。

    非空約束,列級(jí)約束。

    create table friend
    (phone varchar2(15) constraint friend_phone_nn NOT NULL,
    )

    create table lujl04
    (
    id number(5) constraint lujl04_id_uk unique,
    last_name varchar2(10),
    first_name varchar2(20),
    salary number(10,2),
    constraint lujl04_first_last_name_uk
    unique(last_name,first_name)
    );

    表一級(jí)約束,constraint開頭。

    constraint lujl11_dept_id_fk
    foreign key(dept_id)
    references s_dept(id)
    on delete cascade
    級(jí)聯(lián)刪除
    沒有級(jí)聯(lián)更新。


    create table emp_41
    as
    select id,last_name..
    from s_emp
    where..

    除了非空約束存在,其他丟失。



    數(shù)據(jù)字典

    user                               users
    all     ------->_-------->views
    dba                                indexs
                                         constraints

    user_tables
    user_views
    user_indexs
    user_constraints
    user_sequeces

    DML

    insert into table
    values (102,null,....)

    insert into table(id)
    values(102)

    時(shí)間問題,依然要重視

    insert into s_emp(id,first_name,last_name,start_date)
    values
    (25,'Donna','Smith',TO_DATE('01-JAN-99 09:00','DD-MON-YY HH:MI'));

    update s_emp
    set dept_id = 100
    where id = 2;


    delete from s_emp;

    delele from s_emp
    where start_date>TO_DATE('01.01.1996','DD.MM.YYYY')

    Transaction 事務(wù)

    一個(gè)事務(wù)
    多個(gè)DML語句
    但是一旦遇到DCL(grant),DDL(alter,drop)就會(huì)自動(dòng)提交事物

    或者COMMIT提交,

    或者ROLLBACK回滾到事物開始。

    也就是說,如果先插入了很多記錄,再刪很多記錄,沒有commit或者退出,或者DCL,DDL,那么ROLLBACK可以回滾到插入數(shù)據(jù)之前。

    sqlplus--->另外的buff保存著,當(dāng)前事務(wù)涉及到的行,這是操作修改的是buff中的數(shù)據(jù),但是這些行記錄被鎖定,行級(jí)所,所以可以rollback,一旦提交,就更新到數(shù)據(jù)庫中了。

    除非實(shí)時(shí)修復(fù)DBA能恢復(fù)數(shù)據(jù)。

    可以SAVEPOINT,保存事物中間某個(gè)標(biāo)志為,回滾到該標(biāo)志地方。




    ALTER table s_emp
    ADD
    MODIFY
    DROP

    約束只能添加和刪除,不能修改(除了alter table jerry03 modify (id null))。

    ALTER TABLE s_dept
    DROP PRIMARY KEY CASCADE

    一個(gè)表一個(gè)主鍵約束,可以不指定列。正常有外鍵關(guān)聯(lián)主鍵,主鍵約束不能刪除,除非CASCADE。

    ALTER TABLE s_emp
    ENABLE CONSTRAINT s_emp_id_pk;

    恢復(fù)需要一個(gè)一個(gè)將外鍵的表恢復(fù)外鍵約束。

    DROP TABLE table CASCADE CONSTRAINTS

    Truncate table s_emp;
    刪除所有數(shù)據(jù),不同于delete from s_emp;,它釋放了表占據(jù)的空間。磁盤空間。

    建Sequences,序列獨(dú)立于表,沒關(guān)系,,誰都能用該序列。

    create sequence lujl11_id
    increment by 1
    start with 54
    maxvalue 9999999
    nocache
    nocycle

    user_sequences

    drop sequence lujl11_id;




    View

    一面墻上有一幅畫(數(shù)據(jù)),前面是一面墻,墻上有窗,那就是視圖,不是數(shù)據(jù)本身,就是select語句,

    兩類,簡(jiǎn)單視圖(可以DML),復(fù)雜視圖(不能DML)。

    CREATE OR REPLACE VIEW empvu45
    (id_number,employee,job)
    as select id,last_name,title
    from s_emp
    where dept_id = 45


    CREATE OR REPLACE VIEW empvu44
    AS SELECT *
    FROM s_emp
    WHERE dept_id = 41
    WITH CHECK OPTION CONSTRAINT empvu41_ck;一個(gè)約束!

    就是條件中(where)出現(xiàn)的列不能修改。

    WITH READ ONLY 只讀


    INDEX

    B*Tree,就是平分法排序,實(shí)現(xiàn)快速查找。

    索引會(huì)提高查詢速度,但會(huì)降低插入速度。

    1.值分散
    2.空值多
    3.多列
    4.表大
    5.更多索引不能提速更多。


      1  select rowid,s_dept.*
      2* from s_dept
    SQL> /

    ROWID                      ID NAME                       REGION_ID
    ------------------ ---------- ------------------------- ----------
    AAAIlTAAIAAABeqAAA         10 Finance                            1
    AAAIlTAAIAAABeqAAB         31 Sales                              1
    AAAIlTAAIAAABeqAAC         32 Sales                              2
    AAAIlTAAIAAABeqAAD         33 Sales                              3
    AAAIlTAAIAAABeqAAE         34 Sales                              4
    AAAIlTAAIAAABeqAAF         35 Sales                              5

    rowid是地址,天生的主鍵。非空,唯一。




    posted on 2005-11-22 22:57 北國狼人的BloG 閱讀(436) 評(píng)論(0)  編輯  收藏 所屬分類: 達(dá)內(nèi)學(xué)習(xí)總結(jié)
    主站蜘蛛池模板: 亚洲男人天堂2022| 国产亚洲精品观看91在线| 亚洲欧洲久久精品| 无码日韩精品一区二区免费暖暖| 国产亚洲成人久久| WWW国产成人免费观看视频| 国产福利电影一区二区三区,亚洲国模精品一区| 亚洲午夜电影一区二区三区| 亚洲毛片免费观看| 97久久国产亚洲精品超碰热| 最新中文字幕电影免费观看| 亚洲色无码国产精品网站可下载| 国产香蕉九九久久精品免费| 亚洲一区二区三区高清在线观看| 成人免费视频网址| 日产久久强奸免费的看| 超清首页国产亚洲丝袜| 91精品全国免费观看含羞草 | avtt天堂网手机版亚洲| 久久久久国产精品免费免费搜索| 亚洲精品伦理熟女国产一区二区| 免费永久在线观看黄网站| 亚洲免费一区二区| 337p日本欧洲亚洲大胆艺术| 国产免费av片在线看| 青青青视频免费观看| 亚洲国产天堂久久综合网站 | 久久青草免费91线频观看站街| 亚洲综合久久1区2区3区| 免费看的黄色大片| 国产无遮挡色视频免费观看性色| 亚洲视频免费在线观看| 午夜一级免费视频| av片在线观看永久免费| 亚洲电影在线免费观看| 免费一级毛片在线播放| 免费人成在线观看网站品爱网| 亚洲乱码无人区卡1卡2卡3| 亚洲性猛交XXXX| 成人免费一区二区无码视频| 国产黄在线播放免费观看|