复习Oracle

1、什么是sql
sql是结构化查询语言,是操作关系型数据库的标准语言
2 、Oracle 中sql 区分大小写吗
不区分大小写 但是最后都会转换成大写的sql语句去执行,执行效率会比小写高一点
3、sql查询语句中的有什么特性
使用 * 查询效率低 ,在Oracle中 ,执行sql语句的时候,需要通过查询数据将
转换为表中的实际字段进行查询
4、Oracle中什么类型的数据可以进行算数运算
数值字段 进行算数运算
时间字段只能进行加减
5、select 查询语句的执行顺序
select 字段1,字段2 from 表名 where 条件 group by 分组条件 having 筛选条件 order by 排序条件
顺序:from where group by having select order by
where 与having的区别:
where 是对分组前的数据进行筛选
having是对分组后的数据进行筛选
6、如何查看系统时间
select sysdate from dual
7、子查询也叫嵌套查询
8、伪列 rownum
进行分页查询
select u.id,u.name,u.rn from(select id,name,rownum rn from emp) u where u.rn between 1 and 3;
rownum默认从1开始,递增为1
romnum 不能做“>”比较
9、表操作
create table 表名(
字段 字段类型 约束条件

命名规范:多个字符以下划线进行分割 ,字母,下划线 、数字、下划线*# 开头
数据类型:
数值类型:number(n)正数 number(n,m) 小数
字符串类型 char 和varchar2 (是Oracle 数据库中独有的数据类新型)
char与varchar2的区别:varchar2是可变长的字符串,char是定长的字符串

		日期类型:date
		约束:
		主键约束:primary key;
		非空约束:not null;
		唯一约束:unique;
		检查约束:check (约束条件)
		  eg:mobile varchar2 (20) check (length(mobile)=11),
		 外键约束:reference

11、sql分类
DQL:数据库查询语言
DML:数据修改语言
DDL:数据定义语言
DCL:数据控制语言 grant(授权) revoke(取消授权语言)
TCL:事务控制语言
12:事务
什么是事务?
事务是数据库中最小的执行单元,有1 - n条sql命令组成,组成一个事务的sql语句为一个原子性操作,要么一起成功,要么一起失败
事务的边界:
begin开始:从第一条sql语句开始
end:结束:commit或者 rollback(正常退出客户端事务自动提交,非正常退出事务自动回滚)
事务的特性:
ACID
A : atomic 原子性
C: consistency 一致性 事务前与事务后的数据要保持一致
I: isolation 隔离性 在并发的场景下 一个事务与另一个事务的隔离级别
D: duratblity持久性 对数据的影响必须是持久性的
事务的四种隔离级别:
读未提交 :一个事务可以读取另一个未提交事务的数据 脏读
读提交:读到已经提交了的内容 不可重复读(一个事务范围内两个相同的查询却返回了不同数据) oracle
可重复读:专门针对“不可重复读”这种情况而制定的隔离级别 mysql
序列化:这是数据库最高的隔离级别,事务“串行化顺序执行”,这种级别下,“脏读”、“不可重复读”、“幻读”都可以被避免,但是执行效率奇差,性能开销也最大,基本不会用
在事务的并发操作中可能会出现脏读,不可重复读,幻读
13.Oracle中的其他对象
序列:sequence
视图:view
索引:相当于字典的目录,用来提高查询效率,Oracle会为每一个主键自动创建索引
索引会自动占用存储空间,增删改操作的同时,数据库需要维护索引列,消耗时间,内存及cpu的资源
14 Oracle 的sql调优
select 字段 不用 select *
创建索引
sql语句大写
在索引中使用not,<>,或导致索引失效
删除权全表数据的时候 使用truncate
避免过多的表连接 (做多三个)
避免全表扫描(核心)
15 单行函数
to_char :将日期类型转换成字符串显示
to_date :将字符串类型时间指定成日期类型展示
eg:
查看自己活了多少天
select sysdate-todate(‘1995-5-19’,‘yyyy-mm-dd’) from dual
16 模糊查询 like
常用占位符: _ 匹配一个占位符
% 匹配0 - n 个字符
eg:
查询所有last_name 以大写字母S 开头的员工信息
select * from employees where last_name like ‘S%’
查询所有的last_name 以大写S开头且有五个字符组成的员工信息
select * from employees where last_name like ‘S____’
查询last_name 中包含小写s的员工信息
select * from employees where last_name like ‘%S%’

发布了10 篇原创文章 · 获赞 0 · 访问量 116

猜你喜欢

转载自blog.csdn.net/weixin_45522160/article/details/104639486