`
leaf-stop
  • 浏览: 27592 次
  • 性别: Icon_minigender_2
  • 来自: 长沙
社区版块
存档分类
最新评论

Oracle的入门及一些基本操作

阅读更多
Oracle数据库的一些基础操作:


SQL:结构化查询语言,所有的数据库基本都支持标准的SQL语言

DDL:数据定义语言  用户,表空间,表
create  创建
alter 修改
drop 删除


DML:数据操作语言 对表数据的操作
insert into 插入
update 修改数据
delete 删除数据
select 查询数据


TCL:事物控制语言
savepoint 保存点名;  //设置保存点
rollback  保存点名; //回滚到指定的保存点
commit ;//提交事物

DCL:数据控制语言

--创建表
create table student(
userNum number(10),
userName varchar2(20),
userSex char(2)
)

--修改表结构
alter table student modify(userSex char(4));

--查看表结构
desc student;

--sysdate 数据库的当前系统时间

--插入数据到student表
insert into 表名(字段名,字段名...) values (值1,值2...);
如果不写字段名,values的值就是按照创建表的时候的字段顺序给所有字段赋值
insert into 表名 values (所有字段的值);

--查询表中的数据
select 字段名,字段名... from 表名;
--*表示所有的字段
select * from 表名;

--修改语句
update 表名 set 字段=新值,字段=新值 where 字段=值;
update student set usersex='女' where username='王五';

--删除语句
delete from 表名 where 字段=值;
delete from student where usernum=1;

//快速清空所有的数据
truncate table student;

--创建表空间
create tablespace scottSpace datafile 'scottfile';

--克隆表(带数据)
create table empbak as select * from emp;
克隆表结构(不带数据)
create table empbak as select * from emp where 1=2;

--事物:做一件事情所需要的一系列完整的操作
rollback 回滚到最后一次的事物提交点
commit 提交事物,当关闭Oracle客户端的时候,会自动提交
savepoint 设置保存点
rollback to 保存点

--数据控制语言
grant 授权语句

--从结果集中去掉重复的数据 distinct

SELECT * FROM EMP WHERE ENAME LIKE 'M%' ; --模糊查询 % _
SELECT * FROM EMP WHERE ENAME LIKE '____' ; --查询名字为4个字符的数据
SELECT * FROM EMP WHERE ENAME LIKE '%M%'--名字中含有M的数据
SELECT * FROM EMP WHERE ENAME LIKE '%M'; --名字以M结尾的数据
SELECT * FROM EMP WHERE SAL>ANY(2000,3000,4000);--比任意的一个都大即可
SELECT * FROM EMP WHERE SAL>ALL(2000,3000,4000);--比所有的都大才行
SELECT * FROM NEWER_T WHERE BD IS NOT NULL ;--不为空的数据

--对数据进行排序  order by

--------------------------------------------------------------------------
--单行函数
日期函数
--15个月后是什么时候
select add_months(sysdate,15) from dual;

字符函数

将首字母大写:select initcap('hello') from dual;
将大写转成小写:select lower(ename) from emp;

upper('') 将小写转成大写
Ltrim('abc123','abc') 如果参数二中任意一个字符出现在参数一

的左边,就去掉
Rtrim('abc123','123')如果参数二中任意一个字符出现在参数一的

右边,就去掉
Translate('abca','a','b');如果参数二在参数一中出现,就用参

数三代替
replace('','','')如果参数二在参数一中出现,就用参数三代替
instr('abcd','c') 获得参数二在参数一种出现的位置
substr('abcdef',3,2);从第3个字符开始,截取2个字符
Concat('abc','def') 连接两个字符串
CHR(97) 获得数字对应的字符
ASCII('A') 获得字符对应ASCII码
Lpad('abc',10,'*')如果abc不够10位,就在abc的左边加上*
Rpad('abc',10,'*')如果abc不够10位,就在abc的右边加上*
length('') 获得字符串的长度
trim('abcabc','a') 去掉参数一左右两边出现的参数二
decode()


数字函数
abs()绝对值

转换函数
to_char(date,'YYYY-MM-DD');//将日期类型转成字符类型
to_date('2015-10-12','YYYY-MM-DD');//将字符串类型转成日期类


to_number('1234');//将数字字符串转成数字


计算员工的月收入 =月工资+奖金
NVL 函数 :将null值转化成指定的值
select sal,comm,sal+nvl(comm,0) from emp;

NVL2 函数 如果有奖金,就在原奖金的基础上+200,如果没有奖金,就发300的奖金
select ename,comm 原奖金,nvl2(comm,comm+200,300) 应发奖金 from emp;

NULLIF 函数  如果奖金是300,就变为null
select ename,comm,nullif(comm,300) from emp;

--分组函数
COUNT 函数 统计数据
select count(empno) from emp where deptno=10;

统计本月应发的总工资
SUM 函数  求和
select sum(sal) from emp;

计算平均工资
AVG 函数  求平均值
select avg(sal) from emp;

MAX函数 求最大值
获得最高工资
select max(sal) from emp;

MIN函数 求最小值
获得最低工资
select min(sal) from emp;

分组函数不能和单行函数,字段同时使用

--分组语句  group by
select 字段名 as 别名,字段名 as 别名 from 表名 as 别名 where 条件 group by 

having 条件;

统计每个部门每个月发出的工资总和
select deptno,sum(sal) from emp group by deptno;

--分组之前的条件用where语句,
--分组之后的条件用having语句

求出每个经理手下员工的平均工资在2500以上的经理编号及平均工资
select ename,avg(sal) from emp group by mgr having avg(sal)>2500;

分析函数
Row_number:得到连续的数字
Rank   :相同的值排位相同,随后跳跃
Dense_Rank:相同的值排位相同,随后接着往后排
---------------------------------------------------------------------------
操作符
算术操作符   + - * / 
比较操作符    = !=  >  < >= <=
between...and  in   any  all  link
逻辑操作符 and  or  not
连接操作符
union 合并两个查询的结果,去掉重复数据
union all 合并两个查询的结果,保留重复数据
intersect 取两个结果集的交集
minus: 取在第一个结果集中出现但在第二个结果集中没有出现过的数据

--------------------------------------------------------------------
连接查询 分为内连接和外连接

--内连接  INNER JION  ON  只显示两个表中都有的数据

--外连接:左外连接/右外连接/全连接(左右外连接)

--左连接:以左表为主,会显示左表中的所有数据,如果在右表中没有出现这个数据

,则用null代替

--全连接:会显示两个表中的所有数据,如果在另外一张表中没有这个数据,则用

null代替
--------------------------------------------------------------------
定义外键的语法
constraints 外键名称 foreign key(外键字段) references 被引用的表(被

引用字段) on delete cascade;


定义一个私有同义词:
create synonym abc for scott.emp;

删除私有同义词
drop synonym emp;

定义共有同义词
create public synonym emp for scott.emp;
-------------------------------------------------------------
索引:对数据直接定位的
索引是建立在某一个或某几个字段上的
索引的作用就是为了提高查询性能
减少磁盘的IO
索引时由Oralce自动维护的

创建索引
//标准索引
create index aa on emp(ename);
select * from emp where ename="SMITH";

//唯一性索引
create unique index bb on student(sname);


//组合索引
create index cc on student(sname,saddress);

//唯一性组合索引(两个字段的值不能同时相同)
create index cc on student(sname,saddress);

主键会自动的添加唯一性索引
索引并不是越多越好,只需要对经常检索的字段建立索引
-------------------------------------------------------------------
序列:可以产生唯一的,连续的数字的对象
create sequence seq_aa
start with 1   -- 开始数字
increment by 1  --每次增量
maxvalue 200 --最大值
minvalue 1 --最小值
nocycle --当达到最大值的时候就不在生成
cache 10 --缓存10个数字

如何使用索引
查看该索引目前的值
select seq_aa.currvalue from dual;

//将索引先后移动
select seq_aa.nextvalue from dual;
-------------------------------------------------------------------------
视图:相当于一张‘虚拟表’
     是用来显示一张表或多张表的查询的数据的
可以通过视图修改或删除基表的数据
//带检查的视图
create or replace view abc as select empno,ename,job,sal from emp

where ename='SMITH'  with check option CONSTRAINT ename;
在通过这个视图来更新或删除数据的时候,必须要满足where 后的条件,才

有效

创建只读视图
create or replace view abc as select empno,ename,job,sal+nvl

(comm,0) from emp  with read only;
10
1
分享到:
评论

相关推荐

    oracle数据库基本操作入门

    本文将介绍Oracle数据库的一些基本操作,包括服务的管理和SQL Plus的使用,以及如何创建、查询、插入、更新、删除数据,以及表的导入和导出。 首先,确保Oracle服务正在运行。在Windows系统中,可以通过“控制面板...

    oracle入门教材合集

    通过深入学习并实践这个"Oracle入门教材合集",你不仅能够掌握Oracle数据库的基本操作,还能建立起对数据库管理系统的整体理解,为进一步深入学习Oracle的高级特性和成为专业的DBA奠定坚实基础。记得理论结合实践,...

    oracle入门及提高

    "Oracle入门及提高"的讲义涵盖了多个关键主题,帮助初学者和有经验的用户深化对Oracle的理解。 首先,我们从基础开始,"01-安装Oracle软件及创建数据库.ppt"讲解了如何在不同操作系统上安装Oracle软件,并详细阐述...

    Oracle入门与精通

    首先,Oracle入门阶段,你需要理解数据库的基本概念,如数据库是什么,为什么需要数据库,以及Oracle数据库与其他数据库系统的区别。Oracle使用SQL(结构化查询语言)进行数据操作,因此你需要熟悉SQL的基本语法,...

    Oracle数据库入门基本操作

    掌握这些基本操作对于任何想要在Oracle环境中工作的人员都是至关重要的。理解权限的概念和管理方式能够帮助构建安全、高效的数据库环境,避免数据泄露和误操作。随着经验的积累,你将能够熟练地应对更复杂的数据库...

    oracle入门很简单03.zip

    总的来说,"Oracle入门很简单03"的视频课程可能会涵盖这些基础知识,并以实践操作的方式帮助初学者快速掌握Oracle的基本操作。通过这样的学习,即使没有数据库背景的人也能逐渐理解并运用Oracle进行数据管理和开发...

    《Oracle 入门心得》PDF高清电子书

    《Oracle 入门心得》这本书可能是为了帮助初学者理解和掌握Oracle数据库的基础知识和操作技巧而编写的。下面将根据标题和描述,深入探讨Oracle数据库的一些核心概念和关键知识点。 1. **Oracle数据库基础**:Oracle...

    Oracle 入门及提高练习题

    2. SQL简介:学习SQL(结构化查询语言),它是与数据库交互的基础,包括SELECT、INSERT、UPDATE、DELETE等基本操作。 3. 数据类型:熟悉Oracle支持的数据类型,如NUMBER、VARCHAR2、DATE等,以及它们的使用场景。 4....

    ORACLE 数据库入门教程

    理解这些基本操作对于后续的数据库管理至关重要。 三、SQL基础 SQL(结构化查询语言)是用于管理和处理数据库的标准语言。学习Oracle,你需要掌握如何使用SQL进行数据查询、插入、更新和删除操作,以及如何创建、...

    oracle数据库从入门到精通.pdf

    文档《oracle数据库从入门到精通.pdf》详细地介绍了Oracle数据库的基础知识和高级操作,使得学习者能够从基础的表空间创建到存储过程的编写,以及游标的应用等高级特性有深入理解和掌握。 首先,文档指出了创建表...

    Oracle入门教程-28本全套

    Oracle入门教程是一套专为初学者设计的28本完整教程集合,旨在帮助读者逐步掌握Oracle数据库的基础知识和操作技能。Oracle,作为全球最广泛使用的数据库管理系统之一,其功能强大,适用范围广泛,从中小型企业到大型...

    ORACLE 快速入门文档

    在了解了 Oracle 的基本概念和安装步骤后,让我们深入了解 Oracle 的一些基本概念。数据库是 Oracle 的物理存储单元,它包括数据文件(ORA 或者 DBF)、控制文件、联机日志、参数文件等。实例是一个 Oracle 实例...

    oracle入门到精通

    数据表是存储数据的基本单元,学习如何创建、修改和删除数据表是Oracle入门的关键。使用SQL DDL(数据定义语言)语句,如CREATE TABLE、ALTER TABLE和DROP TABLE,可以实现这些操作。同时,理解索引的概念和用途,...

    Oracle入门

    总的来说,Oracle入门需要掌握的基本知识点包括:Oracle数据库的基础概念、安装配置流程、SQL语法和PL/SQL编程,以及常用的数据库管理工具。通过不断实践和学习,你将能够熟练地运用Oracle解决实际问题,为你的IT...

    Oracle从入门到精通

    本文将深入探讨Oracle的基础知识,包括Oracle认证、用户管理和基本命令的使用。 首先,Oracle认证是衡量数据库管理员(DBA)技能的标准之一,对于想要在Oracle领域深化的人来说,获得Oracle认证是一个重要的里程碑...

    oracle快速入门指南

    学习Oracle首先要掌握SQL的基本操作,如创建表、插入数据、查询数据、更新数据和删除数据等。 3. **PL/SQL编程**:PL/SQL是Oracle特有的过程化语言,它扩展了SQL的功能,允许编写复杂的存储过程、函数、触发器等。`...

    oracle入门很简单06.zip

    总的来说,Oracle入门并不复杂,关键在于理解数据类型的基本概念和常用函数的用法。通过实践和练习,你可以快速掌握这些技能,并在Oracle数据库的世界中稳步前进。在后续的学习中,你还将接触到更多的数据库概念,如...

Global site tag (gtag.js) - Google Analytics