Oracle复习

 

安装:oracle

(oracle安装包)链接:https://pan.baidu.com/s/1can3354NiIuUu5CkWjc2Vw 
   提取码:ryyi 

安装服务端:

 

 

Oracle 数据库: 一个相关的操作系统文件(即存储在计算机硬盘上的文件)集合,这些文件组织在一起, 成为一个逻辑整体, 即为 Oracle 数据库.

Oracle 实例: 位于物理内存里的数据结构,它由操作系统的多个后台进程和一个共享的内存池所组成,共享的内存池可以被所有进程访问.Oracle 实例就是平常所说的数据库服务(service) .

区别:实例可以操作数据库;在任何时刻一个实例只能与一个数据库关联,访问一个数据库;而同一个数据库可由多个实例访问(RAC

安装客户端:

oracle卸载:

 

 

1、导入外部.sql文件

2、常用操作

 select sysdate from dual; 返回当前系统的时间;

select * from tab;  返回所有的表。

解决:sqlplus中中文乱码问题

第一步:执行:select userenv('language') from dual;查看当前数据库的字符集。

第二步:在环境变量查找一个名为  NLS_LANG的环境变量,如果找不到,则新建一个,把变量值赋值为

"SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

使用图像化工具:sqldeveloper

 

3、记录问题

空值不是0是null,null参与的运算都是null

 || 连接符

 select table_name from user_tables; //查询用户下所有的表

4、 between value1 and value2

between and 包括边界。

select * from table where number between 100 and 200;

5、转义字符escape

查询名字中带有_的字符

6、单行函数

lower() 转小写 

upper() 转大写

initcap()首字母转大写

concat(str1,str2) 字符串拼接

substr(str,beignPlace,endLength); beignPlace开始位置,endLength结束长度。

length(str) ;返回当前字符串的长度

instr(str,char);返回当前字符首次出现的位置

lpad(str,10,'*')  左补函数

rpad();右补函数

trim('h' from 'hello')  移除ello   只移除首尾

replace(’abcd‘,'b','m') 取代amcd  替换所有

MONTHS_BETWEEN() 两个日期相差的月份

ADD_MONTHS() 向指定日期加上若干的月数

NEXT_DAT(date) 指定日期的下一个星期对应的日期

last_day(time):返回指定日期所在月份的最后一天;

ROUND 日期四舍五入

TRUNC 日期截断

7、转换函数

隐式转换  date <= => varchar2 <= => number

 

日期转换成字符类型:to_char(date,"格式")  to_char(sysdate,'yyyy-mm-dd')

字符转换成日期类型:to_date(字符,’格式‘) 

数字转换字符:to_char(数字, 格式)

字符转换数字:  to_number(字符,格式)

8、通用函数

nvl(st1,st2) 如果st1为null则使用st2。注意:st1 与st2的类型要相同。

nvl2(st1,st2,st3) 如果st1不为null返回st2否则返回st3。

nullif(st1,st2) 如果st1和st2相等返回null,如果不相等返回st1。

coalesce(st1,st2,st3,st4....)如果st2为null判断st2,如果st2不为null返回st2,否则判断st3...依次判断后面的值。

9、case

10、 decode

11、创建表

12、数据类型

13、修改字段

新增列: ALTER TABLE  表名   ADD    (字段名  类型);

修改列: ALTER TABLE  表名 MODIFY  (字段名 类型);

删除列ALTER TABLE  表名 DROP COLUMN  字段名 ;

修列名ALTER TABLE  表名 RENAME COLUMN  旧字段名TO 新字段名;

14、序列

创建序列:

查询所有索引:select * from user_sequences

可供多个用户用来产生唯一数值的数据库对象,主要用于提供主键值。

nextval:返回序列中下一个有效的值。

currval:返回序列中的当前值。

修改序列:

删除序列:Drop sequence 序列名。

15、索引

自动创建索引:在定义 PRIMARY KEY 或 UNIQUE 约束后系统自动在相应的列上创建唯一性索引。

手动创建索引:

查询所有索引:select * from user_ind_columns

删除索引:DROP INDEX 索引名;

16、同义词

相当于给表起一个别名。

创建同义词:

删除同义词:

列如:

17、UNION  UNION ALL

UNION   去除重复的

UNION ALL  不去除重复的

 

18、PL/SQL

PL/SQL是对SQL语言存储过程的语言的扩展。

PL/SQL程序由三个块组成,即声明部分、执行部分、异常处理部分。

PL/SQL命名类型:

定义类型:

19、if 语句

20、case

 

21、loop

22、while

23、for

-----------------------------------------------------------------------------------------分割线--------------------------------------------------------------------------------

  分页:

https://www.imooc.com/article/19758

select * from (

  select temp.*,rownum rn

  from (

    select * from 表名

 ) temp

 where rownum <= 20

) where rn > 10

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值