Oracle入門初日
6286 ワード
Oracle初日
学習目標 Oracle紹介 Oracleインストール Oracleアーキテクチャ 基本クエリー 条件照会 単一行関数 マルチライン関数 二、Oracleの紹介
mysql関係型のデータベース、表と表の関係:外部キー、ポート番号:3306
redis:非リレーショナル・データベース、key-value、ポート番号:6379
Oracle:リレーショナル・データベース、ポート番号:1521
Oracleのバージョン:8 I 9 I 10 G 11 G 12 C
職階:DBA(データベース管理者)、javaEE開発エンジニア
三、Oracleインストール
1)仮想マシンのインストール:中国語のないパスに解凍する
2)仮想にoracleデータベースをインストールする
3)仮想NICの構成:静的ipアドレスを構成する必要がある
4)plsqlツールのインストール
5)中国語の文字化けしを解決する
四、Oracleアーキテクチャ
≪データベース|Database|oem_src≫:1つのデータベースのみ
例:バックグラウンドで実行されるプロセス
≪表領域|Tablespace|oem_src≫:論理記憶単位
データファイルでーたふぁいる:物理ストレージ単位ぶつりストレージたんい
ユーザー:ユーザー管理向けで、いずれも1つの表領域に対応し、表領域にデータを追加し、データファイルに保存します.
五、scottユーザーとscottユーザーの下の表を紹介する
–ユーザーのロック解除
-alter userユーザー名account unlock;
alter user scott account unlock
-パスワードをリセット
-alter userユーザー名identified byパスワード;
alter user scott identified by tiger;
六、基本クエリー
七、条件照会
八、単行関数
九、多行関数
練習する
学習目標
mysql関係型のデータベース、表と表の関係:外部キー、ポート番号:3306
redis:非リレーショナル・データベース、key-value、ポート番号:6379
Oracle:リレーショナル・データベース、ポート番号:1521
:19 ,
,
Oracleのバージョン:8 I 9 I 10 G 11 G 12 C
職階:DBA(データベース管理者)、javaEE開発エンジニア
三、Oracleインストール
1)仮想マシンのインストール:中国語のないパスに解凍する
-- xxx.vmx ,
2)仮想にoracleデータベースをインストールする
: orcl, sys ,system
3)仮想NICの構成:静的ipアドレスを構成する必要がある
, ip : , ()
4)plsqlツールのインストール
: , ,
5)中国語の文字化けしを解決する
-- : NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
--
select userenv('language') from dual;
四、Oracleアーキテクチャ
≪データベース|Database|oem_src≫:1つのデータベースのみ
例:バックグラウンドで実行されるプロセス
≪表領域|Tablespace|oem_src≫:論理記憶単位
データファイルでーたふぁいる:物理ストレージ単位ぶつりストレージたんい
ユーザー:ユーザー管理向けで、いずれも1つの表領域に対応し、表領域にデータを追加し、データファイルに保存します.
五、scottユーザーとscottユーザーの下の表を紹介する
Oracle ( ): ,
scott , pointbase
scott , :tiger
–ユーザーのロック解除
-alter userユーザー名account unlock;
alter user scott account unlock
-パスワードをリセット
-alter userユーザー名identified byパスワード;
alter user scott identified by tiger;
六、基本クエリー
-- dual : , ,
-- :
-- ,
select
length('abc') " ",
length('abc') as " ",
length('abc') as ,
length('abc') as '123' from dual;
--
select distinct job from emp;
-- :+ - * / -- :||
select concat('a' , 'b') from dual;
select concat(concat('a' , 'b'),'c') from dual;
select 'a' || 'b'|| 'c' from dual;
select '1' + 1 from dual;
-- : nvl(comm,0)
select sal * 12 + nvl(comm,0),nvl(comm,0) from emp;
七、条件照会
--
select * from emp where comm > 0;
select * from emp where comm is not null and comm != 0;
--
select * from emp where comm is null or comm = 0;
-- not
select * from emp where not(comm is not null and comm != 0);
-- 1981
select * from emp where to_char(hiredate,'yyyy') = '1981';
select * from emp where hiredate >= to_date('1981-01-01','yyyy-mm-dd')
and hiredate <= to_date('1981-12-31','yyyy-mm-dd');
select * from emp where hiredate between to_date('1981-01-01','yyyy-mm-dd')
and to_date('1981-12-31','yyyy-mm-dd') ;
--- :to_char to_date
-- to_char (p1,p2):
-- p1:
-- p2:
select sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss day') from dual;
-- to_date(p1,p2):
-- p1:
-- p2:
select '2018-07-06 11:11:11' ,
to_date('2018-07-06 11:11:11' ,'yyyy-mm-dd hh24:mi:ss') from dual;
-- upper: lower :
select * from emp where upper(ename) like upper('%M%');
--
--
select * from emp order by sal asc;
--
select * from emp order by sal desc;
-- (null )
select * from emp order by nvl(comm,0) asc;
select * from emp order by comm asc nulls first;
-- (null )
select * from emp order by comm desc nulls last;
八、単行関数
--
select length(ename) from emp;
--
-- concat
-- length
-- substr(str, p1 ,p2): str: ,p1: ,p2:
-- 0 1
select substr('abcjavadef' , 4, 4 ) from dual;
select substr('abcjavadef' , 1, 3 ) from dual;
select substr('abcjavadef' , 0, 3 ) from dual;
-- replace(str ,p1,p2) : str: p1: p2:
select replace('abcdefa' , 'a' ,'z') from dual;
-- trim()
select trim(' abc '),ltrim(' abc '),rtrim(' abc ') from dual;
-- upper lower
--
-- ==
select sysdate - hiredate from emp;
--
select (sysdate - hiredate) / 7 from emp;
-- :months_between
select months_between(sysdate , hiredate) from emp;
-- : add_months
select add_months(sysdate ,-12) from dual;
--
-- round ()
select round(2.666) from dual;
-- trunc()
select trunc(2.666,1) from dual;
-- mod() ( )
select mod(3,10) from dual;
--
-- to_char to_date
-- to_char to_number
select 1 ,to_char(1),'1',to_number('1') from dual;
select 1 + '1' from dual;
--
-- nvl
九、多行関数
-- ( , )(count, avg, max ,min ,sum)
-- : group by
select
count(1),deptno, avg(sal),max(sal) ,min(sal) ,sum(sal)
from emp group by deptno;
-- 4
-- where ,where group by
-- having
select count(1),deptno from emp group by deptno having count(1) > 4;
練習する
1. smith
select ename,hiredate from emp where deptno=(select deptno from emp where ename=upper('smith'))
2. , 。
select empno,ename,sal from emp where sal> (select avg(sal) from emp)
3. ,
select empno,ename,sal,deptno from emp where sal>(select avg(sal) from emp where deptno=20)and deptno!=20
4. U
select empno,ename from emp where deptno=(select deptno from emp where ename like '%U%')
5. King
select ename,sal from emp where mgr= (select empno from emp where ename='KING')