ORACLE基础知识+oracle常用sql指令

一、 数据库类型
数据库: 是在计算机上组织、存储和共享数据的方法
数据库分为:关系型数据库:Oracle、DB2、Sybase等
非关系型数据库:redis
区别:非关系型数据库适合高并发,不适合大数据量,关系型数据库适合大数据量,不适合高并发。
二、varchar2和char的区别
varchar2(n)的空间是根据其数据实际长度分配的,是可变的;而char(n)是固定的,
根据n值分配的。
三、SQL语言的分类
Dcl:数据库控制语言–授权
Ddl:数据库定义语言—创建数据库对象
Dml:数据库内容操作—增删改查
四、子查询
相关子查询:子部分不能独立运行
嵌套子查询:子查询可以独立运行
五、聚合函数
count()、max()、min()、sum()、avg()
六、自定义增长量:用于解决表中没有主键的问题,即序列(sequence)
七、三种删除delete、 drop、 truncate
Delete:删除表中一行的数据
Drop:删除表,可恢复,可撤销
Truncate:删除表,不可恢复,不可撤销
八、事务的概念、优点、分类、操作
概念:事务是有相关才做构成的一个完整操作单元,是两次连续成功的COMMIT或者ROLLBACK之间的操作。
优点:1)把逻辑相关的操作分成了一个组
2)在数据永久改变前,可以预览数据变化
3)能够保证数据的读一致性
分类:显式事务:需要自己进行提交操作
隐式事务:自动进行提交操作 例如:create drop
操作:commit 提交 commit后不可再回滚
Rollback 回滚 撤销对数据的修改
Savepoint 创建保存点,用于事物的阶段回退
九、锁的概念、类型、死锁
锁用来解决并发产生的数据修改问题,用来保证数据的一致性。
包括行级、列级和表级;如果两个事务,分别锁定一部分数据,而都在等待对方释放锁才能完成事务操作,这种情况下就会发生死锁。对表的锁定可以是共享(SHARE)或独占(EXCLUSIVE)模式。共享模式下,其他会话可以加共享锁,但不能加独占锁。在独占模式下,其他会话不能加共享或独占锁。
十、视图
概念:视图是基于一张表或多张表或另外一个视图的逻辑表。视图不同于表,视图本身不包含任何数据。表是实际独立存在的实体,是用于存储数据的基本结构。而视图只是一种定义,对应一个查询语句。视图的数据都来自于某些表,这些表被称为基表。通过视图来查看表,就像是从不同的角度来观察一个(或多个)表。
优点:可以提高数据访问的安全性,通过视图往往只可以访问数据库中表的特定部分,限制了用户访问表的全部行和列。
十一、oracle的其他对象
Table 表;view 视图;index 索引;cluster 聚簇;sequence 序列;
synonym 同义词;database link 数据库链接; trigger 触发器;
stored procedure function 存储过程和函数;package packagebody 包和包体。

ORACLE常用操作
创建表:create table emp()
删除表:drop table emp()
查看完整表:select * from emp
关键字:primary key
非空: not null
新增: insert into emp values()
删除:delete from emp where ….
更改:update emp set 列名= 新值 where 条件
查找:select 列名 from emp where….
添加序号:rownum
判断空值:nvl(a,b) 如果a为空则值为b,不空则为a
去重复:distinct/group by(分组)
排序:order by
升/降序:asc(默认)/desc
分组条件:having
转成日期:to_date(‘日期’,’yyyy-mm-dd’)
查询条件在…中: loc in (‘a’,’b’,’c’)
添加外键约束:references
添加约束:constraint
查询条件在什么之间:between…and
两表联查:inner join
提交:commit
回滚:rollback [to]
创建索引(自动增长列):create sequence 序列名 increment by 增长量 start with 起始值 maxvalue 最大值 cycle nocache
锁定表行:select for update
锁定表:lock table
重命名表:rename 旧表名 to 新表名
表加注释:comment on table emp is ‘注释内容’
创建视图: create [or replace] [force/noforce] view 视图名
只读视图:with read only
数据拼接:a||‘is’||b
条件匹配:like
向上进位:ceil()
向下舍位:floor()
四舍五入:round()
长度:length()

你可能感兴趣的:(数据库,mysql,java)