1、登錄
運行cmd進入命令行
sqlplus 用戶名/密碼 [as sysdba]
如果是超級管理員需要在用戶名/密碼后面加上 as sysdba,是以系統(tǒng)管理員的身份來登錄的,如果是普通用戶不需要as sysdba。
2、查看當(dāng)前連接數(shù)據(jù)庫的用戶
show user
3、在整個Oracle里面提供四個用戶,切換用戶命令格式:
conn 用戶名/密碼 [as sysdba]
為了防止命令行中數(shù)據(jù)展示表格錯亂的情況可以設(shè)計行寬和列寬。
- 設(shè)置每行顯示數(shù)據(jù)的長度:
Set linesize 300; 每行展示300個字符 - 設(shè)置每頁顯示的數(shù)據(jù)行數(shù):
SET PAGESIZE 30; - 上面兩條指令是格式化指令。
注: 也可以使用以下命令來單獨設(shè)置列表寬度:
COL 列名 FOR A+長度;
Col ename for a8
Col mgr for 9999
Col sal for 9999
4、查看用戶下的表
select * from [用戶名].[表名]
5、查看表的結(jié)構(gòu)
Desc 表名
Number(4) 最大長度為4為的數(shù)值類型
Varchar2(10) 最大長度為10的字符串,varchar2用于存儲可變長度的字符串,.varchar2把所有字符都占兩字節(jié)處理(一般情況下),varchar只對漢字和全角等字符占兩字節(jié),數(shù)字,英文字符等都是一個字節(jié),VARCHAR2把空串等同于null處理,而varchar仍按照空串處理;建議在oracle中使用varchar2
Number(7,2) 數(shù)值類型整數(shù)位占5位,小數(shù)位占2位,一共7位。
Date 時間類型
6、Oracle 如何查看當(dāng)前的實例及切換實例
一、查看當(dāng)前的實例
- 輸入命令
show parameter name便可以查看當(dāng)前登錄數(shù)據(jù)庫的參數(shù)配置,如下可以看到當(dāng)前的默認數(shù)據(jù)庫實例為implocal - 還有一種更簡單的方法查看當(dāng)前實例,即
select name from v$database;
二、切換數(shù)據(jù)庫實例
執(zhí)行命令:sqlplus /@ORACLE_SID as sysdba;其中ORACLE_SID為具體的實例名稱,
比如連接到orcl實例就執(zhí)行命令:sqlplus /@orcl as sysdba;
7、Oracle基本操作命令:http://www.itdecent.cn/p/976135b9c048
8、row_number() over()函數(shù)的基本用法
語法:row_number() over(partition by column order by column)
- 簡單的說row_number()從1開始,為每一條分組記錄返回一個數(shù)字,這里的
row_number() over(order by xxx desc)是先把xxx列降序,再為降序以后的每條xxx記錄返回一個序號。 -
row_number()over(partition by xxx order by yyy desc)表示根據(jù)xxx分組,在分組內(nèi)部根據(jù)yyy排序,而此函數(shù)計算的值就表示每組內(nèi)部排序后的順序編號(組內(nèi)連續(xù)的唯一的)。
注意:
- 在求第一名成績的時候,不能用row_number(),因為如果同班有兩個并列第一,row_number()只返回一個結(jié)果。
- rank()和dense_rank()的區(qū)別是:
rank()是跳躍排序,有兩個第二名時接下來就是第四名。
dense_rank()l是連續(xù)排序,有兩個第二名時仍然跟著第三名。
==================================
oracle的分析函數(shù)over(Partition by...) 及開窗函數(shù)
ROW_NUMBER() OVER函數(shù)的基本用法
ROW_NUMBER() OVER()函數(shù)用法詳解 (分組排序 例子多)
Oracle分析函數(shù)Over()
==================================