Oracle简单学习一

1、Oracle数据库简介Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。版本:oracle 8/...
摘要由CSDN通过智能技术生成
1、Oracle数据库简介

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

版本:oracle 8/oracle 8i,oracle 9i,oracle 10g,oracle 11g,oracle 12c

Oracle11g需要启动的服务:
要是只用Oracle自带的SQL Plus的话,只要启动OracleServiceORCL即可,要是使用PL/SQL Developer等第三方工具的话,OracleOraDb11g_home1TNSListener服务也要开启。OracleDBConsoleorcl是进入基于web的EM必须开启的,其他的服务很少用。

2、oralce的体系结构

(1)、oracle的体系结构:数据库 ——> 数据库实例(通常情况下,oracle数据库只会有一个实例ORCL) ——> 表空间 ——>数据文件
(2)、新建一个项目:
mysql:创建一个数据库,在数据库下创建相应的表
oracle:创建一个表空间,在表空间下创建用户,在用户下创建表
所以,oracle是多用户的,mysql是多数据库的!

3、Oracle与mysql的简单比较

(1)都会遵循SQL标准;
(2)不同的数据库厂商,都有自己的方言,使用自己的方言也能完成相应的功能;
(3)oracle更安全,mysql开源免费
如:
在mysql中:
在这里插入图片描述
在oracle中:
在这里插入图片描述
在这里插入图片描述
注:dual是oracle中的虚表,伪表,主要用来补齐语法结构!

4、两个基础语法

创建一个表进行测试:

create table student(
       sid int primary key,
       sname varchar2(50),
       sage int
);
insert into student values(1,'melo',18);
insert into student values(2,'james',17);
insert into student values(3,'paul',17);
insert into student values(4,'wade',20);
insert into student values(5,'%m1',21);
insert into student values(6,'%m2',22);

(1)查询把所有姓名在并在每个名字前面加一个"stu:"
语句:

select 'stu:' || sname as "sname" from student

结果:
在这里插入图片描述
结论:
A、||是oracle中特有的字符串拼接符,当然concat函数在oracle中也可以用来拼接字符串;
B、在oracle中双引号主要用来取别名,单引号主要在使用值的时候使用!
(2)查询名字中含有%的用户
语句:

select * from student where sname like '%#%%' escape '#';

结果:
在这里插入图片描述
结论:定义转义字符用escape关键字,如上语句,escape '#'就把#定义为了一个转义符,就把它后面的那个%转义了!
注,这是SQL语法,在MySQL,Oracle都可以用!

5、函数:必须要有返回值

(1)多行函数:max,min,count,sum,avg等
(2)单行函数:
A、数值函数:
ceil(num) 对num向上取整, floor(num)对num向下取整,
round(num1,num2) 对num1保留num2位小数(四舍五入),
trunc(num1,num2) 直接对 num1保留num2位小数,
mod(num1,num2) 求num1%num2
B、字符函数:
substr(str,起始索引,长度) 截取字符串(注意,起始索引不管是0还是1都会从第一个开始截取,如果是2就从第二个开始截取,以此类推)
length(str) 获取字符串的长度
trim(str) 返回去除字符串两边的空格后的字符串;
replace(str1,str2,str3) 把str1中的str2换成str3;
C、日期函数:
在oracle中,查询当前日期和时间用关键字 sysdate
代码:

select sysdate from dual;

结果:
在这里插入图片描述
在mysql中,查询当前日期和时间用sysdate函数或者是now函数
代码:

SELECT SYSDATE();
#或者
select now();

结果:
在这里插入图片描述
查询三天后的日期和时间:
mysql:

SELECT DATE_SUB(SYSDATE(),INTERVAL-3 DAY);
#或者
SELECT DATE_SUB(NOW(),INTERVAL-3 DAY);

oracle:

select sysdate+3 from dual;

查询三个月后的日期和时间:
mysql

SELECT DATE_SUB(SYSDATE(),INTERVAL-3 MONTH);
#或者
SELECT DATE_SUB(NOW(),INTERVAL-3 MONTH);

oracle:

select add_months(sysdate,3) from dual;

查询两个日期相隔的天数:
mysql:

SELECT TIMESTAMPDIFF(DAY,'2018-08-06','2019-08-06');

oracle:

SELECT to_date ( '2019-08-06' , 'YYYY-MM-DD' ) - to_date ( '2018-08-06' , 'YYYY-MM-DD' ) from dual;

查询两个日期相隔的月份数:
mysql:

SELECT TIMESTAMPDIFF(MONTH,'2018-08-06','2019-08-06');

oracle:

SELECT month_between
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值