每日一得

          不求多得,只求一得 about java,hibernate,spring,design,database,Ror,ruby,快速開發(fā)
          最近關(guān)心的內(nèi)容:SSH,seam,flex,敏捷,TDD
          本站的官方站點是:顛覆軟件

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            220 隨筆 :: 9 文章 :: 421 評論 :: 0 Trackbacks
          Q1.怎樣創(chuàng)建表?
          A. CREATE TABLE ROYAL_MTABLE
          (
          RM_INT_FIELD INTEGER,
          RM_STR_FIELD VARCHAR2(64)
          )
          CREATE TABLE ROYAL_DTABLE
          (
          RD_INT_FIELD INTEGER,
          RD_STR_FIELD VARCHAR2(32)
          )
          Q2.怎樣刪除表?
          A. DROP TABLE ROYAL_DTABLE;
          Q3.怎樣創(chuàng)建視圖?
          A. CREATE OR REPLACE VIEW ROYAL_MDVIEW AS
          SELECT T1.RM_STR_FIELD AS F1, T2.RD_STR_FIELD AS F2 FROM ROYAL_MTABLE T1, ROYAL_DTABLE T2
          WHERE T1.RM_INT_FIELD = T2.RM_INT_FIELD
          Q4.怎樣刪除視圖?
          A. DROP VIEW ROYAL_MDVIEW;
          Q5.怎樣給表添加字段?
          A. ALTER TABLE ROYAL_DTABLE ADD RM_INT_FIELD INTEGER;
          Q6.怎樣刪除表中某個字段?
          A. ALTER TABLE ROYAL_DTABLE DROP COLUMN RM_INT_FIELD;
          Q7.怎樣給某個字段添加約束?
          A. ALTER TABLE ROYAL_MTABLE MODIFY RM_STR_FIELD NOT NULL;
          Q8.怎樣去除某個字段上的約束?
          A. ALTER TABLE ROYAL_MTABLE MODIFY RM_STR_FIELD NULL;
          Q9.怎樣給表加上主鍵?
          A. ALTER TABLE ROYAL_MTABLE ADD CONSTRAINT PK_ROYAL_MTABLE PRIMARY KEY (RM_INT_FIELD);
          Q10.怎樣刪除表的主鍵?
          A. ALTER TABLE ROYAL_MTABLE DROP CONSTRAINT PK_ROYAL_MTABLE CASCADE;
          Q11.怎樣給表添加一個外鍵?
          A. ALTER TABLE ROYAL_DTABLE ADD CONSTRAINT FK_ROYAL_DTABLE FOREIGN KEY (RM_INT_FIELD) REFERENCES ROYAL_MTABLE (RM_INT_FIELD) ON DELETE CASCADE;
          Q12.怎樣刪除表的一個外鍵?
          A. ALTER TABLE ROYAL_DTABLE DROP CONSTRAINT FK_ROYAL_DTABLE;
          Q13.怎樣給字段加上CHECK?
          A. ALTER TABLE ROYAL_MTABLE ADD CONSTRAINT CHK_RM_STR_FIELD CHECK (RM_STR_FIELD IN ('Y','N'));
          Q14.怎樣去掉字段上的CHECK?
          A. ALTER TABLE ROYAL_MTABLE DROP CONSTRAINT CHK_RM_STR_FIELD;
          Q15.怎樣給字段設(shè)置默認值?
          A. ALTER TABLE ROYAL_DTABLE MODIFY RD_STR_FIELD DEFAULT 'ROYAL';
          Q16.怎樣移去字段的默認值?
          A. ALTER TABLE ROYAL_DTABLE MODIFY RD_STR_FIELD DEFAULT NULL;
          Q17.怎樣創(chuàng)建索引?
          A. CREATE UNIQUE INDEX IDX_ROYAL_DTABLE ON ROYAL_DTABLE (RM_INT_FIELD);
          Q18.怎樣刪除索引?
          A. DROP INDEX IDX_ROYAL_DTABLE;
          Q19.怎樣創(chuàng)建用戶?
          A. CREATE USER TESTUSER IDENTIFIED EXTERNALLY DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP PROFILE DEFAULT;
          Q20.怎樣刪除用戶?
          A. DROP USER TESTUSER CASCADE;
          21.怎樣將對象權(quán)限(object privileges)授予用戶?
          A. GRANT SELECT, INSERT, UPDATE, DELETE, ALTER ON ROYAL_MTABLE TO TESTUSER;
          GRANT INSERT, UPDATE, DELETE ON ROYAL_DTABLE TO TESTUSER;
          GRANT SELECT, ALTER ON ROYAL_DTABLE TO TESTUSER WITH GRANT OPTION;
          Q22.怎樣從用戶收回對象權(quán)限?
          A. REVOKE SELECT, INSERT, UPDATE, DELETE, ALTER ON ROYAL_DTABLE FROM TESTUSER;
          Q23.怎樣將角色權(quán)限(role privileges)授予用戶?
          A. GRANT CONNECT TO TESTUSER WITH ADMIN OPTION;
          GRANT DBA TO TESTUSER;
          Q24.怎樣從用戶收回角色權(quán)限?
          A. REVOKE DBA FROM TESTUSER;
          Q25.怎樣將系統(tǒng)權(quán)限(system privileges)授予用戶?
          A. GRANT ALTER ANY TABLE TO TESTUSER WITH ADMIN OPTION;
          Q26.怎樣從用戶收回系統(tǒng)權(quán)限?
          A. REVOKE ALTER ANY TABLE FROM TESTUSER;
          Q27.怎樣創(chuàng)建序列?
          A. CREATE SEQUENCE RM_INT_FIELD_SEQ
          MINvalue 1
          MAXvalue 999999999999999999999999999
          START WITH 1
          INCREMENT BY 1
          CACHE 10
          ORDER;
          Q28.怎樣刪除序列?
          A. DROP SEQUENCE RM_INT_FIELD_SEQ;
          Q29.怎樣獲取序列值?
          A. SELECT RM_INT_FIELD_SEQ.NEXTVAL FROM DUAL;
          Q30.怎樣創(chuàng)建角色?
          A. CREATE ROLE TESTROLE;
          Q31.怎樣刪除角色?
          A. DROP ROLE TESTROLE;
          Q32.怎樣將對象權(quán)限(object privileges)授予角色?
          A. GRANT SELECT, INSERT, UPDATE, DELETE, ALTER ON ROYAL_MTABLE TO TESTROLE;
          Q33.怎樣從角色收回對象權(quán)限?
          A. REVOKE SELECT, INSERT, UPDATE, DELETE, ALTER ON ROYAL_MTABLE FROM TESTROLE;
          Q34.怎樣將角色權(quán)限(role privileges)授予角色?
          A. GRANT DBA TO TESTROLE;
          Q35.怎樣從角色收回角色權(quán)限?
          A. REVOKE DBA FROM TESTROLE;
          Q36.怎樣將系統(tǒng)權(quán)限(system privileges)授予角色?
          A. GRANT CREATE TABLE TO TESTROLE;
          Q37.怎樣從角色收回系統(tǒng)權(quán)限?
          A. REVOKE CREATE TABLE FROM TESTROLE;
          Q38.不等于條件有哪幾種寫法?(茴香豆問題
          A. SELECT * FROM ROYAL_MTABLE WHERE RM_STR_FIELD != 'Y';
          SELECT * FROM ROYAL_MTABLE WHERE RM_STR_FIELD ^= 'Y';
          SELECT * FROM ROYAL_MTABLE WHERE RM_STR_FIELD <> 'Y';
          Q39.like子句的用法?
          A. SELECT * FROM ROYAL_DTABLE WHERE RD_STR_FIELD LIKE '%Y%';
          SELECT * FROM ROYAL_DTABLE WHERE RD_STR_FIELD LIKE '_Y%';
          Q40.請舉出一個where子查詢簡單例子?
          A. SELECT * FROM ROYAL_DTABLE WHERE RM_INT_FIELD IN (SELECT RM_INT_FIELD FROM ROYAL_MTABLE WHERE RM_STR_FIELD NOT IN ('Y','B'));
          Q41.Oracle常用字符串處理函數(shù)有哪些?
          A. || 連接兩個字符串; LENGTH 字符串長度; TRIM/LTRIM/RTRIM 截斷串左(右)指定字符串(包括空串); LOWER/UPPER 將字符串轉(zhuǎn)換為小/大寫,等等。
          例如:SELECT RM_INT_FIELD||'--'||RM_STR_FIELD||'YES' FROM ROYAL_MTABLE;
          Q42.Oracle支持哪些數(shù)字處理函數(shù)?
          A. Oracle支持所有常用數(shù)字函數(shù),包括(但不限于)+、-、*、/、ABS、COS、EXP、LN、LOG、MOD、POWER、ROUND、SIN、 SINH、SQRT、TAN、TRUNC、AVG、COUNT、MAX、MIN、SUM、GREATEST、LEAST等等。
          例如:
          SELECT GREATEST(3, 4, 5)*4 FROM DUAL;
          SELECT POWER(2,3) FROM DUAL;
          Q43.怎樣取得數(shù)據(jù)庫服務(wù)器當(dāng)前日期、時間?
          A. SELECT SYSDATE FROM DUAL;
          SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH:MI:SS') FROM DUAL;
          Q44.怎樣將字符串轉(zhuǎn)換為日期、時間格式?
          A. SELECT TO_DATE('2002-11-27', 'YYYY-MM-DD') FROM DUAL;
          SELECT TO_DATE('2002-11-27 09:28:55', 'YYYY-MM-DD HH:MI:SS') FROM DUAL;
          Q45.常用日期函數(shù)有哪些?
          A. NEXT_DAY LAST_DAY ADD_MONTHS MONTHS_BETWEEN等等。
          例如:SELECT LAST_DAY(SYSDATE) FROM DUAL;
          Q46.能給出一個DECODE函數(shù)用法的例子嗎?
          A. DECODE函數(shù)的格式為DECODE(value, if1, then1, if2, then2...,else)。假設(shè)表ROYAL_DTABLE中有如下數(shù)據(jù):
          RD_INT_FIELD RD_STR_FIELD RM_INT_FIELD
          -------------------------------------
          1 royal 1
          2 bill 2
          3 joy 1

          請觀察如下SQL語句輸出結(jié)果。
          SELECT DECODE(RD_STR_FIELD, 'royal', 'royaltest', 'bill', 'billgates', RD_STR_FIELD) AS DC FROM ROYAL_DTABLE;
          DC
          ---------
          royaltest
          billgates
          joy

          Q47.能給出一個group by、having和order by用法的例子嗎?
          A. SQL> SELECT * FROM ROYAL_MTABLE;
          RM_INT_FIELD RM_STR_FIELD
          -------------------------
          1 Y
          2 N
          3 Y
          SQL> SELECT * FROM ROYAL_DTABLE;
          RD_INT_FIELD RD_STR_FIELD RM_INT_FIELD
          --------------------------------------
          1 royal 1
          2 bill 2
          3 joy 1
          SQL> SELECT RM_INT_FIELD, SUM(RD_INT_FIELD) FROM ROYAL_DTABLE GROUP BY RM_INT_FIELD HAVING SUM(RD_INT_FIELD) >= 2 ORDER BY SUM(RD_INT_FIELD) ASC;

          RM_INT_FIELD SUM(RD_INT_FIELD)
          ------------------------------
          2 2
          1 4
          Q48.Oracle有哪些常用數(shù)據(jù)字典?
          A. USER_TABLES(TABS)、USER_TAB_COLUMNS(COLS)、USER_VIEWS、USER_SEQUENCES(SEQ)、 USER_CONSTRAINTS、USER_CONS_COLUMNS、USER_TAB_COMMENTS、USER_COL_COMMENTS、 USER_INDEXES(IND)、USER_IND_COLUMNS、USER_USERS、DBA_USERS、ALL_USERS、 USER_TABLESPACES等等。
          例如:SELECT * FROM USER_CONSTRAINTS WHERE CONSTRAINT_NAME = 'FK_ROYAL_DTABLE';
          Q49.怎樣將日期、時間插入date型字段中?
          A. INSERT INTO ROYAL_MTABLE (RM_INT_FIELD, RM_STR_FIELD, RM_DATE_FIELD) valueS (9, 'Y', TO_DATE('2002-05-23', 'YYYY-MM-DD'));
          INSERT INTO ROYAL_MTABLE (RM_INT_FIELD, RM_STR_FIELD, RM_DATE_FIELD) valueS (10, 'Y', TO_DATE('2002-10-10 8:23:33', 'YYYY-MM-DD HH:MI:SS'));
          Q50.能介紹一下connect by的用法嗎?
          A. connect by子句提供了遍歷“樹”的手段。
          假設(shè)有這樣一個表:CREATE TABLE ROYAL_TREETABLE (ID INTEGER, PARENT_ID INTEGER, NAME VARCHAR2(32));
          表中有如下數(shù)據(jù):
          ID PARENT_ID NAME
          -----------------
          2 1 AAA
          3 1 BBB
          4 2 CCC
          5 2 DDD
          6 4 EEE
          8 7 GGG
          假如我們現(xiàn)在需要從NAME = 'EEE'的記錄開始,向上查找所有有父子關(guān)系的記錄,可執(zhí)行如下SQL語句:
          SELECT * FROM ROYAL_TREETABLE START WITH NAME = 'EEE' CONNECT BY ID = PRIOR PARENT_ID;
          ID PARENT_ID NAME
          -----------------
          6 4 EEE
          4 2 CCC
          2 1 AAA
          posted on 2006-06-12 13:52 Alex 閱讀(406) 評論(0)  編輯  收藏 所屬分類: dataBase
          主站蜘蛛池模板: 司法| 鄄城县| 阿拉善左旗| 景谷| 长白| 京山县| 馆陶县| 长白| 锦屏县| 江都市| 乐都县| 宾阳县| 全椒县| 丹凤县| 大庆市| 萨嘎县| 姜堰市| 荣成市| 寿光市| 青海省| 定安县| 丹巴县| 祁东县| 南江县| 思南县| 湖北省| 苏尼特左旗| 金沙县| 龙游县| 岢岚县| 西宁市| 沾化县| 磐石市| 大足县| 门头沟区| 囊谦县| 赣榆县| 韩城市| 万载县| 霍城县| 海盐县|