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

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

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

    oracle_基礎(chǔ)知識(shí)整理

    用戶

    一:系統(tǒng)用戶:
    1:sys,system,sys的權(quán)限大于system
    2:sysman
    3:scott,默認(rèn)密碼:tiger
    使用自帶sql/plus登陸,格式:[username/psaaword] @服務(wù)名 as 角色[sysdba/sysoper]

    二:用戶的切換
    當(dāng)在sql/plus中登錄之后,使用connect 用戶名/密碼 來切換用戶

    三:查看當(dāng)前用戶
    show user,命令語句可以不添加分號(hào),之后會(huì)顯示當(dāng)前已登錄的用戶信息,除了這種方式,還可以使用數(shù)據(jù)庫自帶的數(shù)據(jù)字典來查看信息
    *數(shù)據(jù)字典就是數(shù)據(jù)庫自帶的表,可以直接查看結(jié)構(gòu)和數(shù)據(jù)
    dba_users和user_users,查看系統(tǒng)用戶

    scott用戶
    默認(rèn)情況下是被鎖定的,啟用用戶
    alter user 用戶名 account unlock


    表空間
    表空間就是數(shù)據(jù)庫存放數(shù)據(jù)的邏輯區(qū)域

    類型:
    永久表空間:一般存放表,視圖等持久內(nèi)容
    臨時(shí)表空間:存放數(shù)據(jù)庫執(zhí)行過程中的臨時(shí)操作
    UNDO表空間:存放歷史數(shù)據(jù),一般存放事物提交之前的歷史數(shù)據(jù)

    數(shù)據(jù)字典
    dba_tablespaces或者user_tablespaces
    前者對(duì)應(yīng)系統(tǒng)管理員級(jí)別用戶的表空間,后者對(duì)應(yīng)一般用戶的表空間,查看用戶的默認(rèn)表空間
    需要在dba_users或者user_users表中查看

    修改表空間
    alter user 用戶名 default/temporary tablespaces 新的表空間名

    創(chuàng)建表空間
    永久表空間 create [TEMPORARY] tablespace 表空間名 datafile ‘文件名’ size XX
    默認(rèn)創(chuàng)建永久表空間,添加[TEMPORARY]選項(xiàng),則會(huì)生成臨時(shí)表空間
    示例:創(chuàng)建永久表空間create tablespace test_p1 datafile ‘test_p1.dbf’ size 10M
    示例:創(chuàng)建臨時(shí)表空間create TEMPORARY tablespace test_t1 datafile ‘test_t1.dbf’ size 10M

    查看永久表空間
    數(shù)據(jù)字典dba_data_files,查看數(shù)據(jù)文件

    查看臨時(shí)表空間
    數(shù)據(jù)字典dba_temp_files,查看數(shù)據(jù)文件

    修改表空間狀態(tài)
    狀態(tài):聯(lián)機(jī)/脫機(jī),聯(lián)機(jī)是默認(rèn)狀態(tài),脫機(jī)狀態(tài)的表空間不可以使用
    alter tablespace 表空間名 online/offline
    可以通過dba_tablespaces或者user_tablespaces數(shù)據(jù)字典的status字段確認(rèn)表空間狀態(tài)
    狀態(tài):只讀/讀寫,默認(rèn)是可以讀寫,要修改可以該狀態(tài),該表空間必須處于聯(lián)機(jī)狀態(tài)
    alter tablespace 表空間名 read only/read write

    修改數(shù)據(jù)文件
    在表空間中添加/刪除數(shù)據(jù)文件
    alter tablespace 表空間名 add/drop datafile ‘文件名’ [size XX]

    刪除表空間
    drop tablespace 表空間名,該選項(xiàng)只是刪除表空間,如果需要同時(shí)刪除表空間包含的文件,
    那么需要在命令最后添加inculding contents


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

    1:字符型
    char(n):固定長(zhǎng)度,最長(zhǎng)2000
    nchar(n):固定長(zhǎng)度,按照unicode編碼存放,最長(zhǎng)1000,適用于存儲(chǔ)漢字
    varchar2(2):變長(zhǎng)字符類型,節(jié)省空間,最長(zhǎng)4000
    nvarchar2(2):變長(zhǎng)字符類型,節(jié)省空間,支持unicode,最長(zhǎng)2000

    2:數(shù)據(jù)型
    number(p,s):p代表有效數(shù)字,s代表小數(shù)位數(shù)
    s可正可負(fù)
    float(n):主要存儲(chǔ)二進(jìn)制數(shù)字

    3;日期類型
    date:精確到秒,已經(jīng)基本滿足日常使用
    timestamp:精確到小數(shù)秒

    4:其他
    blob:存放4G數(shù)據(jù),以二進(jìn)制形式存儲(chǔ)
    clob,存放4G數(shù)據(jù),以字符串形式存儲(chǔ)
    對(duì)表的基本操作

    創(chuàng)建表
    基本語法:
    create table 表名
    (
    列名 數(shù)據(jù)類型,…
    )

    修改表
    1:添加字段
    語法
    alter table 表名 add 字段名 數(shù)據(jù)類型
    示例
    alter table user add cellphone number(11,0)

    2:修改字段類型(修改時(shí)表中不可以存放數(shù)據(jù))
    語法
    alter table 表名 modify 字段名 數(shù)據(jù)類型
    alter table user modify cellphone char(11)

    3:刪除字段
    語法
    alter table 表名 drop column 字段名

    4:修改字段名
    語法
    alter table 表名 rename column 舊字段名 to 新字段名
    5:修改表名
    語法
    rename 舊表名 to 新表名

    5:刪除表
    刪除表數(shù)據(jù)(截?cái)嘁粋€(gè)表)
    truncate table 表名
    刪除表結(jié)構(gòu)連同其數(shù)據(jù)
    drop table 表名

    操作表中的數(shù)據(jù)
    1:新增記錄
    insert into 表名(列名1,列名2,列名3…) values(值1,值2,值3…)
    列名和值需要一一對(duì)應(yīng),如果不寫列名,那么代表為所有字段添加值
    *sysdate關(guān)鍵字,代表當(dāng)前日期
    *插入字符串的時(shí)候,需要添加單引號(hào)

    2:設(shè)定默認(rèn)值
    在創(chuàng)建表的時(shí)候,可以為指定字段設(shè)定默認(rèn)的值
    create table 表名
    (
    id number(6,0),
    reg_date date default sysdate
    )

    3:修改默認(rèn)值
    alter table user modify cellphone default ”;

    4:復(fù)制表
    1):創(chuàng)建表時(shí)就復(fù)制,復(fù)制結(jié)構(gòu)和數(shù)據(jù)
    create table 新建表表名 as select 列1,列2…|* from 所要復(fù)制表的表名
    2):在新增時(shí)添加來自其他表的內(nèi)容
    insert into 表名(列1,列2…) select 列1,列2…|* from 所要復(fù)制表的表名
    和新增一條記錄類似,但是values關(guān)鍵字被替換成目標(biāo)表的列,數(shù)據(jù)來源不是手動(dòng)指定,而是來自其他表

    5:修改表數(shù)據(jù)
    update 表名 set 列1=值1,列2=值2… [where 條件…]
    無條件更新,也就是全表更新
    update user set username=’new_name’(更新的時(shí)候要注意,列和值的類型要匹配,全表更細(xì)是有風(fēng)險(xiǎn)的操作,謹(jǐn)慎操作)
    有條件更新
    update user set username=’other_name’ where id=123456

    6:刪除表數(shù)據(jù)
    delete from 表名 [where 條件…]
    無條件刪除
    delete from user(刪除全表數(shù)據(jù),但是效率上不如truncate操作快)
    條件刪除
    delete from user where id=123456


    約束
    作用:來定義記錄中數(shù)據(jù)的規(guī)則,哪些字段必須輸入,字段的內(nèi)容。以此來保持?jǐn)?shù)據(jù)的完整性

    1:非空約束
    創(chuàng)建表時(shí)添加該約束
    create table 表名
    (
    id number(6,0) NOT NULL,
    )
    *只能在列級(jí)設(shè)置,不能在表級(jí)設(shè)置,并且非空約束是沒有約束名稱
    修改表的約束
    alter table 表名 modify 列名 類型 NOT NULL,但是如果表中的數(shù)據(jù)存在違反非空約束的記錄,那么會(huì)修改失敗
    去除非空約束
    alter table 表名 modify 列名 類型 NULL

    2:主鍵約束
    主鍵約束:確保記錄在表中的唯一性,主鍵可以由一個(gè)或者多個(gè)字段組成,并且一個(gè)表中只能有一個(gè)主鍵約束

    創(chuàng)建表時(shí)添加該約束,列級(jí)
    create table 表名
    (
    id number(6,0) PRIMARY KEY,
    );

    創(chuàng)建表示添加該約束,表級(jí)
    create table 表名
    (
    id number(6,0),
    username varchar2(50),
    constraint pk primary key(id,username)
    );
    *使用一個(gè)字段作為主鍵無需指定主鍵的名字,而多個(gè)主鍵需要指定主鍵的名稱

    查看約束
    用到了一個(gè)數(shù)據(jù)字典user_constraint
    select constraint_name from user_constraint where table_name=’XXX’
    在修改表時(shí)添加該約束
    alter table 表名 add constraint 主鍵名 primary key(指定為主鍵的列)
    修改約束名稱
    alter table 表名 rename constraint 舊名字 to 新名字

    3:外鍵約束
    創(chuàng)建表的時(shí)候添加外鍵關(guān)聯(lián),列級(jí)
    create table 表名(從表)
    (
    id number(6,0) primary key,
    username varchar2(50),
    type_id varchar2(5) references 表名(主表)(主表字段,只能是主鍵)
    )
    或者,表級(jí)
    create table 表名(從表)
    (
    id number(6,0) primary key,
    username varchar2(50),
    constraint 外鍵名 foreign key(從表外鍵列名) reference 主表名(主表列名)[ON DELETE CASCADE],可選項(xiàng)是級(jí)聯(lián)刪除,主表記錄刪除,從表相應(yīng)記錄也會(huì)被刪除)
    *外鍵只能來自主表的主鍵(或者是null),并且類型必須一致

    在修改時(shí)添加外鍵約束
    alter table user add constraint fk_id foreign key(id) references user_info(id)[ON DELETE CASCADE]

    4:唯一約束
    作用:保證字段值的唯一性
    和主鍵的區(qū)別:允許空值,允許有多個(gè)
    創(chuàng)建表的時(shí)候添加唯一約束,列級(jí)
    create table 表名(從表)
    (
    id number(6,0) primary key,
    username varchar2(50),
    type_id varchar2(5) UNIQUE
    )
    或者,表級(jí)
    create table 表名
    (
    id number(6,0) primary key,
    username varchar2(50),
    constraint 唯一約束名 unique(列名);
    )
    *每個(gè)唯一約束都有自己的名字,不可以聯(lián)合多個(gè)字段設(shè)置唯一約束

    在修改表時(shí)添加唯一約束
    alter table 表名 add constraint 約束名 unique(id )

    5:檢查約束
    作用:限制數(shù)據(jù)的錄入,同一個(gè)表中可以存在多個(gè)
    create table 表名,列級(jí)
    (
    id number(6,0) primary key,
    username varchar2(50),
    age number(3,0) check(age >0)
    )
    或者,表級(jí)
    create table 表名
    (
    id number(6,0) primary key,
    username varchar2(50),
    age number(3,0),
    constraint 檢查約束名 check(age >0);
    )
    在修改表時(shí)添加檢查約束
    alter table 表名 add constraint 約束名 check(salary>0)

    6:禁用/啟用和刪除約束的方法
    啟用/禁用約束
    alter table 表名 disable|enable constraint 約束名

    7:刪除約束
    1:
    alter table 表名 drop constraint 約束名
    2:
    alter table 表名 drop primary key[cascade] 約束名,添加可選項(xiàng),連同外鍵的級(jí)聯(lián)刪除

    posted on 2015-07-28 11:04 都較瘦 閱讀(155) 評(píng)論(0)  編輯  收藏 所屬分類: Oracle相關(guān)問題積累

    <2015年7月>
    2829301234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    導(dǎo)航

    統(tǒng)計(jì)

    公告

    博客定位:囿于目前的水平,博客定位在記錄自己的學(xué)習(xí)心得和隨手的練習(xí)

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲Av永久无码精品三区在线| 久久久久久久久久免免费精品| 久久久久亚洲精品美女| 国产免费人成视频在线观看| 无码中文字幕av免费放dvd| 午夜在线免费视频| 亚洲AV无码男人的天堂| 77777亚洲午夜久久多喷| 久久精品国产亚洲av麻| 精品亚洲一区二区三区在线播放| 亚洲国产精品无码第一区二区三区| 亚洲成人激情在线| 国产V亚洲V天堂无码久久久| 亚洲午夜精品一级在线播放放| 好男人视频在线观看免费看片| 免费看男女下面日出水来| 免费一级毛片在线播放视频| 一区二区三区视频免费观看| 国产精品亚洲va在线观看| 亚洲成aⅴ人片久青草影院按摩| 国产成人亚洲精品| 国产精品亚洲午夜一区二区三区| 在线观看亚洲一区二区| 亚洲国产精品久久66| 国产亚洲成av人片在线观看| 国产精品亚洲一区二区三区在线| 亚洲人成亚洲人成在线观看| 久久影视综合亚洲| 激情综合色五月丁香六月亚洲| 亚洲国产综合精品中文字幕| 久久午夜免费视频| 亚洲性线免费观看视频成熟| 一本无码人妻在中文字幕免费| 免费阿v网站在线观看g| 日韩免费一区二区三区在线| 国产精品久久久久久久久免费| 中国在线观看免费国语版| 日本精品人妻无码免费大全| 成年女人毛片免费播放视频m| 成人免费午夜视频| 四虎永久免费地址在线观看|