SQL基礎

gencat發表於2014-08-14
  1. 從表格中刪除資料

    根據另一個表格中的資料刪除本表的資料:

    DELETE FROM departments  WHERE dept_id = 1;
    
    
    DELETE from departments
    WHERE dept_id = 
                 (SELECT department_id
                  FROM depts
                  WHERE dept_name like '%public%');
    TRUNCTE TABLE table_name;
    
  2. 更新資料

    UPDATE table_name
    SET xx=yy,xxx=yyy
    where id = 1;
    
  3. 建表

    關於約束的宣告:

    CONSTRAIT email_uk  UNIQUE(email)
    CONSTRAIT dept_fk  FOREIGN KEY (department_id) REFERENCES departments(dept_id)
    
  4. 建立表空間

    CREATE TABLESPACE userdata
    DATAFILE 'xxxx.dbf'  SIZE 10M
    

    注意:一般對於表空間的大小不用AUTOEXTEND選項,這個選項會比較危險。

  5. 建立使用者

    CREATE USER aaron
    IDENTIFIED BY soccer /*密碼*/
    DEFAULT TABLESPACE data /*預設表空間*/
    
  6. 為使用者賦予許可權

    GRANT connect,resources TO test_user;
    
  7. HAVING的作用

    其實HAVING的作用是相對獨立的。可以在語句的最後再考慮HAVING語句的編寫,即對GROUP之後的結果進行分析。(問題,如果group之後,在select之後並沒有出現統計函式,會有什麼樣的結果呢?)

  8. Sequences的使用

    首先需要新建一個Sequence:

    CREATE SEQUENCE  dept_id_seq
    INCREMENT BY 10
    START WITH 120
    MAXVALUE 9999
    NOCACHE;
    NOCYCLE
    

    對於Sequence的使用,主要是兩個函式,即NEXTVAL(返回下一個值)和CURRVAL(返回當前值):

    INSERT INTO dept(dept_id,dept_name,location_id)
    VALUES (dept_id_seq.NEXTVAL, 'SUPPORT', 2500);
    

相關文章