Oracelノート初日

3754 ワード

Oracelノート
  • oracel特徴
  • oracelデータベースのユーザーの役割
  • oracelアーキテクチャ
  • MySQLとOracelの違い
  • oracel空間テーブルの動作
  • 表構造
  • データ型
  • シーケンス
  • 関数
  • 条件式
  • クエリー
  • ページングのフォーマット:
  • sqlplus sys/sys as sysdba;
    oracelの特徴
  • 有料
  • 安全性高
  • ストレージ量が多く、処理が速い
  • 移植型強
  • 現在のユーザ環境符号化select userenv(「language」)from dualをチェックする.

  • oracelデータベースのユーザーの役割
  • connect
  • resoucrce
  • dba

  • oracelアーキテクチャ
  • 1データベース->複数のインスタンス(プロセス)
  • 2インスタンスは、複数の表領域と複数のユーザを含み、ユーザと表領域は同級の
  • である.
  • 3ユーザ管理テーブル


  • MySQLとOracelの違い
    mysql:1人のユーザー->複数のライブラリ->テーブルoracel:1つのデータベース->複数のユーザー->テーブル
    oracel空間テーブルの操作
         
    create tablespace itheima10  --      
    datafile 'c:\itheima10.dbf'  --           
    size 100m                    --           
    autoextend on                --     
    next 10m;                    --        
    
    --     
    drop tablespace itheima;
    
    
    --    
    create user itheima10            --    
    identified by itheima10          --   
    default tablespace itheima10;    --           
    
    --     
    grant dba to itheima10;           --     
    
    

    テーブル構造
    --   
    create table person (id number,username varchar2(24),adderss varchar2(32)); --same
    
    --       
    alter table   
    add   modify  rename column...to....  drop column 
    
    
    --    
    drop table person;
    
    

    データ型
    varchar2 number date clob blob
    テーブルデータの変更注意トランザクションのコミットinsert update select delete
    deleteとtruncateの違いdeleteはロールバックでき、フラグメントtruncateが生成されてテーブルを直接削除し、テーブルを作成します.
    シーケンス#シーケンス#
  • シーケンスはいずれのテーブルにも属さず、論理的にテーブルにバインドされ、連続的に増加する数字であり、プライマリ・キーと同じシーケンスを生成するために必要なnextを初めて使用し、印刷された最初の値create sequenceシーケンス名incrementby n start with n
  • dual虚標、補全文法
  • scottユーザーとパスワードalter user scott account unlockをロック解除します.alter user scott identified by tiger; パスワード
  • をリセットできます
    関数#カンスウ#
  • 単行関数:round trunc mod(m,n)
  • 数値関数sysdate months_between
  • 変換関数to_char to_date
  • 汎用関数nvl(null,3)=3 nvl(4,5)=4
  • 条件式
    条件式1 select e.ename(case e.ename when‘tom’then‘劉徳華’when...then...else...end)中国語名from emp e;2 select e.sal,( case when e.sal>3000 then ‘high’ when e.sal>1500 then ‘mid’ else ‘low’ end
    )「給与等級」from emp e;
    検索
  • パケットクエリー1 select*fromテーブルwhereパケット前条件groupbyパケット条件havingパケット後条件;2グループクエリーgroupbyの後ろに表示される列は、selectの後ろに表示される
  • です.
  • 集約関数(マルチテーブル関数)の特徴:複数行の記録を1つの値
  • にする
  • すべての条件の後に別名(selectの後の別名)を単独で使用することはできません.selectはwhereの後にあるため、havingの後に集約関数の比較条件sqlと実行する順序があります.from where group by having select order by
  • .
  • マルチテーブルクエリー内接続:明示/等値(where)、暗黙(select*from table 1 inner join table 2)外接続:左外、右外
  • oracelの専用外部接続(+)は、対面のすべてのデータ
  • を表示する.
  • サブクエリ:サブクエリの結果/結果セットを条件とする–where条件select*from emp e where.sal>(select e.sal from emp e where.ename=‘ALLEN’)–select条件:結果select e.*は1つしかありません.(selectd.dname from dept d where.deptno=d.deptno)部門名from emp e where.ename=‘ALLEN’–from条件:複数のレコードのサブクエリを返す結果セットを1枚のテーブルとして、別名selectmsal,e.ename,d.dname from emp e,dept d,(selectdeptno,min(sal)msaal from emp groupby deptno)a where.sal=msal=msaal and a.deptnoptd,(selectd.dname from from from deptd,deptd,(selectd.dname from dept d)where.sal=msal=d.deptno;
  • 自己接続:1つのテーブルの2つのフィールドに関係があります.このテーブルは2つのテーブルとして使用できますが、別名を使用する必要があります.
  • rownumは偽列と呼ばれ、whereの前に生成され、rownumはメモリの中で結果セットをクエリーして生成した後に結果セットに追加された列で、この列は1から増加し、最初のデータをフィルタリングするとrownumの番号は1からソートされ続け、クエリ結果セットがフィルタリングされてメモリに読み込まれた後に結果セットに追加された列を強調し、rownumがあればrownum=1という値が必要である.例を用いてrownum
  • を理解し続ける
  • rownum=1という記録をいつでも捨てようとするのは間違っており、結果セットでは欠かせない.

  • ページの書式:
    select * from (select rownum r,e1.* from (select * from emp e order by e.sal desc) e1) e2 where r>5 and r<11