1、安裝虛擬機器(安裝xp
系統)
2、虛擬機上安裝oracle
(將介質
e:\...
10g\10201_database_win32
拷貝到虛擬機器上,解壓安裝)
3、安裝完成,驗證
虛擬機器上驗證:
本機上驗證:
sqlplus scott/[email protected]:1521/orcl
4、如果出現在本機上不識別 sqlplus
命令,則將 新增環境變數
e:\...\oracleinstanceclient\32bit\instantclient-basiclite-nt-12.1.0.1.0\instantclient_12_1
這個下面有sqlplus.exe
5、虛擬機器備份
乙個oracle伺服器是由乙個
oracle
資料庫和多個
oracle
例項組成
oracle資料庫
--硬碟上存放資料的檔案,這些檔案組織在一起成為乙個邏輯實體,即
oracle 資料庫;
oracle例項
--位於物理記憶體中的資料結構;
由乙個共享記憶體池和多個後台程序組成,共享記憶體池可被所有程序訪問
區別:例項可以運算元據庫;
任何時候乙個例項只能與乙個資料庫關聯;
乙個資料庫一般只有乙個例項對其操作
sql> --使用者
sql> show user
user 為
"scott"
sql> --清屏
sql>host cls
檢視當前使用者下的表
sql> select * from tab;
sql> --設定行寬
sql> show linesize
linesize 80
sql> set linesize 150
sql> --設定列寬
sql> --number型別用
9999代表4
位數;字元型別用
a8代表佔8位
sql> col ename for a8 --字串型別
sql>col sal for 9999 --數字型別
sql> sql優化的原則
:sql> 1. 盡量使用列名代替
*進行查詢
sql>sql中
null
值問題:
sql>1. 包含null
的表示式都為
null(即表示式中只要包含null,表示式結果就是
null)
sql>2. null永遠
!=null(null不代表
0,是乙個未知的值;不能用
=,只能用表示式
is)sql> */
3、如果集合中含有
null
,不能使用
not in
;但可以使用
innvl(
a,b)
--a為空,返回b;
a不為空,返回
a
增強版 nvl2(a,b,c) --a
為空,返回
c;否則返回b
select empno,ename,sal,sal*12 annalsal,nvl(comm,0),sal*12+nvl(comm,0) annalcomm
記錄去重:
select distinct deptno from emp;
--distinct作用於後面所有的列,
只要distinct
後要查詢的字段的組合不是重的即可
,單個字段重複是可以的
sql> select distinct deptno,job from emp;
concat || between order by(desc,asc) in like
時間的: months_between()
連線符:concat
sql> select cocat (『hello』, 『world』) from dual;
concat('hell
hello world
如果只是想計算或獲取跟表資訊無關的記錄,可以查詢偽表dual
dual表說明:
1. dual 確實是一張表
.是一張只有乙個字段
,一行記錄的表
. 2.習慣上
,我們稱之為'偽表
'.因為他不儲存主題資料
.3. 他的存在
,是為了操作上的方便.因為
select
都是要有特定物件的
.可以使用 「||
」直接連線字串
sql> select 'hello'|| ' world' from dual;
'hello'||'w
-----------
hello world
日期格式問題
檢視當前會話的設定,檢視日期格式
修改日期格式:
sql> alter session set nls_date_format = 'yyyy-mm-dd';
會話已更改。
sql查詢語句中的日期格式必須同會話中設定的格式一致,否則報錯:
ora-01861: 文字與格式字串不匹配
檢視範圍:sql> --
between and
select * from emp where sal between 1000 and 3000; --檢視月薪在
[1000,3000]
之間的
between and 1. 含有邊界
2。 小值在前 大值在後
insql> select *
2 from emp
3 where deptnoin (10,20); --檢視
10號和
20號部門的員工
模糊查詢: like
select * from table where '%abcde' like '\%abcde' escape '\';
語句中,由於%
是特殊字元
,所以like
後面的字串中
%需要轉義,這是需要使用
escape
來定義轉義
符。例子中「\
」被定義為轉移字元。
select * from emp where ename like '%/_%' escape '/'; escape 定義某字元是轉義字元
--sql優化原則2
: where判斷的順序:右
---> 左
排序:order by
--order by 後面
+ 列、表示式、別名、序號
select empno,ename,sal,sal*12 年薪
from emp o
rder by 年薪
desc
; --order by+別名
select empno,ename,sal,sal*12 年薪
from emp order by 4 desc; --
結果同上,以第四列作為排序字段
select * from emp order by deptno,sal; --多個列欄位排序,依次排序,先
deptno
排序,再對
sal排序(預設是公升序)
如果是desc
,只作用於離它最近的字段
Docker介紹和安裝
官網 www.docker.com github 開源的容器引擎,可以讓開發者打包應用以及依賴的庫,然後發布到任何流行的linux發行版上,移植很方便 由go語言編寫,基於apache2.0協議發布 基於linux kernel,要想在win下執行需要借助乙個vm 虛擬機器 來實現 自2013年開始...
Zookeeper安裝和介紹
先認識幾個概念 1 分布式架構 分布 在一定的範圍內散佈開 反義詞 集中 集中式架構 就是把所有的程式 功能 模組都集中到乙個專案中,部署在一台伺服器上,從而對外提供服務 單體架構 單體服務 單體應用 直白一點 就是只有乙個專案,只有乙個war 分布式架構 就是把所有的程式 功能 模組拆分成不同的子...
Pytest安裝和介紹
pytest是python的一種單元測試框架,同自帶的unittest測試框架類似,相比於unittest框架使用起來更簡潔,效率更高。4.pytest執行的第乙個例子 file name test abc.py import pytest 引入pytest包 def test a test開頭的測...