Oracle基本操作和row_number() over()函数的基本用法

1、登录

运行cmd进入命令行
sqlplus 用户名/密码 [as sysdba]
如果是超级管理员需要在用户名/密码后面加上 as sysdba,是以系统管理员的身份来登录的,如果是普通用户不需要as sysdba。

2、查看当前连接数据库的用户

show user

3、在整个Oracle里面提供四个用户,切换用户命令格式:

conn 用户名/密码 [as sysdba]
为了防止命令行中数据展示表格错乱的情况可以设计行宽和列宽。

  1. 设置每行显示数据的长度:
    Set linesize 300; 每行展示300个字符
  2. 设置每页显示的数据行数:
    SET PAGESIZE 30;
  3. 上面两条指令是格式化指令。
    注: 也可以使用以下命令来单独设置列表宽度:
COL 列名 FOR A+长度;
Col ename for a8
Col mgr for 9999
Col sal for 9999

4、查看用户下的表

select * from [用户名].[表名]

5、查看表的结构

Desc 表名

Number(4) 最大长度为4为的数值类型
Varchar2(10) 最大长度为10的字符串,varchar2用于存储可变长度的字符串,.varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节,VARCHAR2把空串等同于null处理,而varchar仍按照空串处理;建议在oracle中使用varchar2
Number(7,2) 数值类型整数位占5位,小数位占2位,一共7位。
Date 时间类型

6、Oracle 如何查看当前的实例及切换实例

一、查看当前的实例
  1. 输入命令show parameter name便可以查看当前登录数据库的参数配置,如下可以看到当前的默认数据库实例为implocal
  2. 还有一种更简单的方法查看当前实例,即select name from v$database;
二、切换数据库实例

执行命令:sqlplus /@ORACLE_SID as sysdba;其中ORACLE_SID为具体的实例名称,
比如连接到orcl实例就执行命令:sqlplus /@orcl as sysdba;

7、Oracle基本操作命令:https://www.jianshu.com/p/976135b9c048

8、row_number() over()函数的基本用法

语法:row_number() over(partition by column order by column)
  1. 简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的row_number() over(order by xxx desc)是先把xxx列降序,再为降序以后的每条xxx记录返回一个序号。
  2. row_number()over(partition by xxx order by yyy desc)表示根据xxx分组,在分组内部根据yyy排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)。

注意:

  1. 在求第一名成绩的时候,不能用row_number(),因为如果同班有两个并列第一,row_number()只返回一个结果。
  2. rank()和dense_rank()的区别是:
    rank()是跳跃排序,有两个第二名时接下来就是第四名。
    dense_rank()l是连续排序,有两个第二名时仍然跟着第三名。

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

oracle的分析函数over(Partition by...) 及开窗函数
ROW_NUMBER() OVER函数的基本用法
ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多)
Oracle分析函数Over()

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

你可能感兴趣的:(Oracle基本操作和row_number() over()函数的基本用法)