Oracle基本操作和row_number() over()函數(shù)的基本用法

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è)計行寬和列寬。

  1. 設(shè)置每行顯示數(shù)據(jù)的長度:
    Set linesize 300; 每行展示300個字符
  2. 設(shè)置每頁顯示的數(shù)據(jù)行數(shù):
    SET PAGESIZE 30;
  3. 上面兩條指令是格式化指令。
    注: 也可以使用以下命令來單獨設(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)前的實例
  1. 輸入命令show parameter name便可以查看當(dāng)前登錄數(shù)據(jù)庫的參數(shù)配置,如下可以看到當(dāng)前的默認數(shù)據(jù)庫實例為implocal
  2. 還有一種更簡單的方法查看當(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)
  1. 簡單的說row_number()從1開始,為每一條分組記錄返回一個數(shù)字,這里的row_number() over(order by xxx desc)是先把xxx列降序,再為降序以后的每條xxx記錄返回一個序號。
  2. row_number()over(partition by xxx order by yyy desc)表示根據(jù)xxx分組,在分組內(nèi)部根據(jù)yyy排序,而此函數(shù)計算的值就表示每組內(nèi)部排序后的順序編號(組內(nèi)連續(xù)的唯一的)。

注意:

  1. 在求第一名成績的時候,不能用row_number(),因為如果同班有兩個并列第一,row_number()只返回一個結(jié)果。
  2. 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()

==================================

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容