设为首页 加入收藏

TOP

Oracle数据库操作---基础使用(二)(一)
2019-09-17 18:53:57 】 浏览:50
Tags:Oracle 数据库 操作 --- 基础 使用

      此篇承接上一篇的基本原理,继续展开学习,本篇主要面向数据的使用和管理,也就是开发者常用的基础语句,开始喽……

>>>对整表的操作

>创建表   关键字 Create

create table student(

   stu_id  int primary key,

  stu_name  varchar2(20) not null,

  stu_address  varchar2(40));

>查看表结构  Desc

Desc student;

>修改表  Alter table

>增加字段/属性 【alter table 表名 add(属性);

alter table student add(stu_photo  varchar2(20));

>修改字段         【alter table 表名 modify(属性)

alter table student modify(stu_id number(4));

>删除字段         【alter table 表名 drop column 字段名;

alter table student drop column stu_photo;

>删除表  Drop

>删除表  【drop table  表名;】

>>>对数据的操作(基础操作---单表)

>插入数据 【Insert into 表名(属性) values(属性值)】

 Insert into student(stu_id,stu_name,stu_address) values(1,'lisi','扬州');

>查询数据 【Select * from 表名 where 限制条件】 

select * from student where id=1;

>修改数据 【update 表名 set 字段名='修改后的值' where 限制条件】

  update student set stu_name='zhangba' where id=1;

  目前表中只有一行数据,所以加不加where都可以,不过最好养成好习惯,否则实际环境中不加where的话,会将所有要修改的字段的值全部改掉;千万谨慎啊!

>删除数据 【Delete 表名 where 限制条件】

Delete student from sutdent where id=1;

Truncate student;

##Delete和Truncate的区别

  Delete执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存,以便进行进行回滚操作。

  Truncate table 则一次性地从表中删除所有的数据,并且不会把单独的删除操作记录,记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。

  Delete操作针对的时table和view,会保持现有表空间和索引的空间大小;

  Truncate操作针对的是table,表空间和索引的空间大小会恢复到初始大小;

  整体来看,Delete和Truncate删除的是表中的数据而不会改动表的结构。

>查询数据【Select 字段名 from 表名 where 限定条件……】(★

  Select查询是使用数据库的重点,在这里会详细讲解,如果有不全面的地方,后续还会进行更新补充的;

  先说一说使用Select查询时,SQL执行的顺序:

      1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。

              2)语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限。

              3)视图转换,将涉及视图的查询语句转换为相应的对基表查询语句。

              4)表达式转换, 将复杂的 SQL 表达式转换为较简单的等效连接表达式。

              5)选择优化器,不同的优化器一般产生不同的“执行计划”

              6)选择连接方式, ORACLE 有三种连接方式,对多表连接 ORACLE 可选择适当的连接方式。

              7)选择连接顺序, 对多表连接 ORACLE 选择哪一对表先连接,选择这两表中哪个表做为源数据表。

              8)选择数据的搜索路径,根据以上条件选择合适的数据搜索路径,如是选用全表搜索还是利用索引或是其他的方式。

              9)运行“执行计划”。

说到这里,就顺便说一下Oracle的共享原理

        首先,Oracle将执行过的SQL语句存放在内存的共享池(shared buffer pool)中,可以被所有的数据库用户共享,当你执行一条SQL语句时,如果它和之前的执行过的语句完全相

同, Oracle就能很快获得已经被解析的语句以及最好的执行路径. 这个功能大大地提高了SQL的执行性能并节省了内存的使用。

查询语句中,关键字的执行顺序

比如: select 字段 from 表名/视图名 where 条件 group by (字段) having 条件 order by 字段

 

①先由from将所查询的表或视图中的数据进行整理;【整理顺序是从右往左进行,一般将数据量最小的表放在最右面,作为基表处理】

②再执行where子句的限定条件,进行数据的筛选;【筛选顺序从右向左进行,一般将表关联语句放在最左边,筛选条件放在右端,这样可以减小笛卡尔积,提升查询效率】

③执行group by将数据按你给的条件进行分组;

④使用聚合函数进行计算;

⑤执行Having子句筛选分组;

⑥计算所有的表达式;

⑦执行Orader by语句

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇mysql数据库使用insert语句插入中.. 下一篇CentOS 7 MySql 解压版安装配置

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目