Oracle简介
一.Oracle服务器是一个数据管理系统(RDBMS),他提供开放的,全面的,近乎完整的信息管理
由一个oracle数据库和多个oracle实例组成Oracle数据库的主要特点如下支持多用户,大事务量的事务处理
在保持数据安全性和完整性方面性能优越,在分布式数据
库管理系统的控制下,组成一个逻辑上统一的数据库,完成数据处理任务
具有可移植性。Oracle可以在Windows,Linux等多个操作系统平台上使用,可以在不同
操作系统间移植数据库。而SQLServer只能在Windows平台上运行二.Oracle基本概念
1.数据库和实例数据库是一-堆磁盘文件(数据文件、日志文件、控制文件、临时文件)
实例是数据库服务运行时os中的进程+内存区
数据库和实例的关系,类似于oo中的类和对象的关系2.全局数据库名
全局数据库名是用于区分一个数据库的标识,在安装数据库,在创建新数据库,创建控制文件,修改数据库结构,利用RMAN备份时都需要使用.用于集群(多实例)的时候。3.数据库实例名(又叫Instance_Name丶SID)
每个启动的数据库都对应一个数据库实例,由这个实例来访问数据库中的数据,简单的理解为硬盘上的文件,具有永久性,则数据库实例就是通过内存共享运行状态的一组服务器后台进程一般老版本使用SID
一般情况下,和数据库名一样,集群模式(RAC)模式下可能不同4.数据库服务名(Service_Name)
一般情况下,和数据库名一样。对于同--个数据库,可以配置多个服务名供外界访问。
一般新版本使用服务器名
5.模式(Schema)和对象用户
所有的对象都属于某个Schema(用户)
6.表空间逻辑上,数据属于某个表
物理.上,数据存放在磁盘的某个文件中,哪个表空间的哪个数据文件
一个数据库可以有1到N个表空间。普通用户的表默认放在USERS表空间
一个表空间可以由1到N个表文件(DBF)组成。
一个表空间可以放1到N个表。三.Oracle数据类型四.SQL语言简介DDL(DataDefinitionLanguage)数据定义语言,它用来定义我们的数据库对象,包括数据库、数据表和列。通过使用DDL,我们可以创建,删除和修改数据库和表结构。
DML(DataManiation
Language)数据操作语言,我们用它操作和数据库相关的记录,如增加、删除、修改数据表中的记录。
DCL(DataContrLanguage)数据控制语言,我们用它来定义访问极限和安全级别。
DQL(DataQueryLanguage)数据查询语言,我们用它查询想要的记录,它是SQL语言的
表信息:创建表:
CREATETABLEemloyee
( emnoNUMBER(4)NOTNULL,
enameVARCHAR2(10),
jobVARCHAR2(9),
mgrNUMBER(4),
hidateDATE,
salNUMBER(7,2),
commNUMBER(7,2),
dethonNUMBER(2)
);插入数据:
-- 利用SCOTT.EMP的数据插入到emloyee表
INSERTINTOemloyee
SELECT*fromSCOTT.EMP;追加两列和删除两列:
--创建两个列
ALTERTABLEemloyee
ADD(emTel_noVARCHAR2(12),
emAddssVARCHAR2(20));
-- 删除两个列
ALTERTABLEemloyeeDROP(emTel_no,emAddss)创建临时表,分页,删除临时表:
--创建临时表
catetabletemas
SELECT*
FROM(SELECT*FROMemloyeeORDERBYSALDESC);--查询分页
SELECT*
FROM(SELECTROWNUMr,a.*FROMtemaWHEREROWNUM<10ORDERBYSALDESC)
WHEREr>=5;
--删除临时表
DROPTABLEtem;使用DENSE_RANK()函数:
--查询每个部门薪水第二高的员工信息
SELECT*
FROM
(SELECTemloyee.*,
DENSE_RANK()OVER(PARTITIONBYdethonORDERBYsalDESC)"DENSE_RANK"
FROMemloyee)
WHEREDENSE_RANK=2;使用ROUND函数,四舍五入和TO_CHAR转换字符串功能
--查询入职年份
SELECTename"姓名",TO_CHAR(ROUND(hidate,'yyyy'),'YYYY')||'年度'"入职年度"
FROMemloyee(DISTINCT)不重复显示:
--内容全部相同行,只保留一行
SELECTDISTINCTdethon
FROMemloyee;五.SQL函数
1.转换函数TO_CHAR(datenumber,‘format’):按照指定格式format将number或date类型转换为字符串。9代表一个数字,0强制显示0,¥货币符号,L本地货币符号,.小数点,,千分号。
TO_NUMBER(char):将包含了数字的字符串转换为number格式。
TO_DATE(string,‘format’):按照format格式将string转换为日期格式。format的格式:YYYY,YY,MONTH,MON,MM,DAY,DD,HH,MI,SS。2.分析函数
4.row_number()row_number可以通过over根据某字段排序完之后进行组内(如果有artitionby)排序。
5.rank()rank()是排名的函数,该函数组内排序后会进行跳号,分数相同的作为并列。
6.dense_rank()dense_rank()该函数不会跳号,分数相同为并列第一,下一个是第二
3.其他函数
单行函数
聚会函数
分组函数
点击查看Oracle表空间,序列,索引,分区表的应用.~~~~~~~~~~~
点击查看Navicat连接Oracle数据库的操作跟错误详解~~~~~~~~~