oracle数据库
来源:互联网 发布:扬州 住宿 推荐 知乎 编辑:程序博客网 时间:2024/06/11 08:42
oracle数据库
第一章 安装、卸载、简介
1.安装卸载看之前文档。
2.简介:关系型数据库、oracle公司的产品、企业用收费的,不开源。
3.用户和权限的管理
创建用户: create user zhangsan;//在管理员帐户下,创建用户zhangsan ,alert user scott identified by tiger;//修改密码
赋权限、角色: GRANT CREATE SESSION,CREATE TABLESPACE TO ZHANGSAN
第二章 数据定义语言(DDL)
1.配置实例,默认配置的是orcl。
2.创建表空间:tablespace 表空间--用户--表 三者之间的关系。
3.创建表、修改表、删除表:create table 、alter table 、drop table
4.修改表中的字段名、字段数据类型、删除/添加列
5.数据的完整性
实体完整性:主键
域完整性: check/default/not null/unique
参照完整性:外键
用户自定义完整性:触发器
6.三大范式
第一范式:原子性。
第二范式:不存在部分依赖。
第三范式:不存在间接依赖。
第三章 数据操作语句(DML)
1.添加数据 insert into 两种方式,
一:不指定列,默认添加所以列的值;
二:指定列,按照指定的列的顺序添加
2.修改数据 update 表名 set=新值 where 条件;修改多个set用逗号隔开
3.删除数据 delete from 表名 where 条件。
truncate 表名:不同添加条件,不能回滚,效率高。
第四章 查询与高级查询语言(DQL)
1.查询 select * from 表名
2.排序 order by desc ase
3.分组 group by
4.having 先分组后筛选
5.模糊查询 like %s% , _:表一个字符 %:0到任意多个字符
6.in all any
7.子查询,嵌套查询 select * from emp where deptno=(select deptno from dept where dname='销售部')
8.联合查询 inner join,left join,rigth join,full join
格式:select * from emp e inner join dept d on e.deptno=d.deptno;
第五章 PL/SQL编程
1.定义 面向过程的编程语言,可以处理具体的业务逻辑。
2.组成部分,变量,分支循环语句,运算符,异常
3.格式:
declare
变量名 类型;
begin
业务逻辑代码;
exceptin
when others then;
//异常的代码
end;
4.输入参数 &=;
第六章 事务、视图、索引、游标
1.事务
定义:单个逻辑的执行单元
特性(ACID):原子性、一致性、隔离性、永久性
关键字:commit,rollback,savepoint, rollback to savepoint
2.视图
定义:是一张虚拟的表,所以得数据来源都在基本里面
格式:create view v_name as select name,age,sex from users;
视图的作用:
a:简化用户的操作
b:提供安全性
c:便于数据共享
d:简化权限的管理。
3.索引
定义:表中的数据结构
格式:create index i_name on Student(StuId);
索引和主键的关系:主键是一个唯一的索引,名字就是主键的名称。
4.游标
DECLARE
--类型定义
CURSOR C_JOB
IS
SELECT EMPNO,ENAME,JOB,SAL
FROM EMP
WHERE JOB='MANAGER';
--定义一个游标变量
C_ROW C_JOB%ROWTYPE;
BEGIN
OPEN C_JOB;
LOOP
--提取一行数据到C_ROW
end;
当查询出多个值得时候需要用游标。
分为显示游标和隐示游标。
第七章 存储过程、触发器、函数
1.存储过程
定义:就是存放过程的(PL/SQL).
输入输出参数的定义: in输入参数 out输出参数;定义参数不能给长度
2.触发器
组成:
触发事件:引起触发器被触发的事件。 例如:DML语句(INSERT, UPDATE, DELETE语句对表或视图执行数据处理操作)、DDL语句(如CREATE、ALTER、DROP语句在数据库中创建、修改、删除模式对象)、数据库系统事件(如系统启动或退出、异常错误)、用户事件(如登录或退出数据库)。
触发时间:即该TRIGGER 是在触发事件发生之前(BEFORE)还是之后(AFTER)触发,也就是触发事件和该TRIGGER 的操作顺序。
触发对象:包括表、视图、模式、数据库。只有在这些对象上发生了符合触发条件的触发事件,才会执行触发操作。
应用:在备份的用得比较多,或者记录表的操作信息。
不能给参数,也不能调用,当满足条件,自动执行。
行级触发器和语句级触发器:
行级触发器:old new 可以使用。
3.函数
预定义函数
count,avg,sum,max,min
自定义函数
使用function定义
函数和存储过程的区别:
....
第八章 数据库优化
1.架构的优化
sga,命中率,日志缓冲区,共享池
2.设计的优化
表空间:一个数据库可以包含多个表空间,一个表空间只能属于一个数据库
一个表空间包含多个数据文件,一个数据文件只能属于一个表空间
表这空间可以划分成更细的逻辑存储单元
表分区:
范围分区、列表分区、散列分区(hash分区)、混合分区
1. 不要使用*,查询多少字段写多少字段
2. 通过主键或者索引 with index=index_name查询效率更高
3. 多条件查询的时候把能筛选掉更多数据的条件写在右边(理解sql语句解析的原理:
ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名) Sex=女 age=20
4.使用where代替having
第九章 JDBC
1.连接程序和数据库
(1) int executeUpdate(String sql):执行更新操作,即执行insert、update、delete语句,其实这个方法也可以执行create table、alter table,以及drop table等语句,但我们很少会使用JDBC来执行这些语句;
(2) ResultSetexecuteQuery(String sql):执行查询操作,执行查询操作会返回ResultSet,即结果集。
(3) booleanexecute ( ) (了解即可)
Statement还有一个boolean execute()方法,这个方法可以用来执行增、删、改、查所有SQL语句。
该方法返回的是boolean类型,表示SQL语句是否有结果集!。
如果使用execute()方法执行的是更新语句,那么还要调用int getUpdateCount()来获取insert、update、delete语句所影响的行数。
如果使用execute()方法执行的是查询语句,那么还要调用ResultSet getResultSet()来获取select语句的查询结果.
第一章 安装、卸载、简介
1.安装卸载看之前文档。
2.简介:关系型数据库、oracle公司的产品、企业用收费的,不开源。
3.用户和权限的管理
创建用户: create user zhangsan;//在管理员帐户下,创建用户zhangsan ,alert user scott identified by tiger;//修改密码
赋权限、角色: GRANT CREATE SESSION,CREATE TABLESPACE TO ZHANGSAN
移除权限:revoke
查看权限:select * from user_sys_privs;//查看当前用户所有权限,select * from user_tab_privs;//查看所用用户对表的权限
用户---角色---权限
第二章 数据定义语言(DDL)
1.配置实例,默认配置的是orcl。
2.创建表空间:tablespace 表空间--用户--表 三者之间的关系。
3.创建表、修改表、删除表:create table 、alter table 、drop table
4.修改表中的字段名、字段数据类型、删除/添加列
5.数据的完整性
实体完整性:主键
域完整性: check/default/not null/unique
参照完整性:外键
用户自定义完整性:触发器
6.三大范式
第一范式:原子性。
第二范式:不存在部分依赖。
第三范式:不存在间接依赖。
第三章 数据操作语句(DML)
1.添加数据 insert into 两种方式,
一:不指定列,默认添加所以列的值;
二:指定列,按照指定的列的顺序添加
2.修改数据 update 表名 set=新值 where 条件;修改多个set用逗号隔开
3.删除数据 delete from 表名 where 条件。
truncate 表名:不同添加条件,不能回滚,效率高。
第四章 查询与高级查询语言(DQL)
1.查询 select * from 表名
2.排序 order by desc ase
3.分组 group by
4.having 先分组后筛选
5.模糊查询 like %s% , _:表一个字符 %:0到任意多个字符
6.in all any
7.子查询,嵌套查询 select * from emp where deptno=(select deptno from dept where dname='销售部')
8.联合查询 inner join,left join,rigth join,full join
格式:select * from emp e inner join dept d on e.deptno=d.deptno;
第五章 PL/SQL编程
1.定义 面向过程的编程语言,可以处理具体的业务逻辑。
2.组成部分,变量,分支循环语句,运算符,异常
3.格式:
declare
变量名 类型;
begin
业务逻辑代码;
exceptin
when others then;
//异常的代码
end;
4.输入参数 &=;
第六章 事务、视图、索引、游标
1.事务
定义:单个逻辑的执行单元
特性(ACID):原子性、一致性、隔离性、永久性
关键字:commit,rollback,savepoint, rollback to savepoint
2.视图
定义:是一张虚拟的表,所以得数据来源都在基本里面
格式:create view v_name as select name,age,sex from users;
视图的作用:
a:简化用户的操作
b:提供安全性
c:便于数据共享
d:简化权限的管理。
3.索引
定义:表中的数据结构
格式:create index i_name on Student(StuId);
索引和主键的关系:主键是一个唯一的索引,名字就是主键的名称。
4.游标
DECLARE
--类型定义
CURSOR C_JOB
IS
SELECT EMPNO,ENAME,JOB,SAL
FROM EMP
WHERE JOB='MANAGER';
--定义一个游标变量
C_ROW C_JOB%ROWTYPE;
BEGIN
OPEN C_JOB;
LOOP
--提取一行数据到C_ROW
end;
当查询出多个值得时候需要用游标。
分为显示游标和隐示游标。
第七章 存储过程、触发器、函数
1.存储过程
定义:就是存放过程的(PL/SQL).
输入输出参数的定义: in输入参数 out输出参数;定义参数不能给长度
2.触发器
组成:
触发事件:引起触发器被触发的事件。 例如:DML语句(INSERT, UPDATE, DELETE语句对表或视图执行数据处理操作)、DDL语句(如CREATE、ALTER、DROP语句在数据库中创建、修改、删除模式对象)、数据库系统事件(如系统启动或退出、异常错误)、用户事件(如登录或退出数据库)。
触发时间:即该TRIGGER 是在触发事件发生之前(BEFORE)还是之后(AFTER)触发,也就是触发事件和该TRIGGER 的操作顺序。
触发对象:包括表、视图、模式、数据库。只有在这些对象上发生了符合触发条件的触发事件,才会执行触发操作。
应用:在备份的用得比较多,或者记录表的操作信息。
不能给参数,也不能调用,当满足条件,自动执行。
行级触发器和语句级触发器:
行级触发器:old new 可以使用。
3.函数
预定义函数
count,avg,sum,max,min
自定义函数
使用function定义
函数和存储过程的区别:
....
第八章 数据库优化
1.架构的优化
sga,命中率,日志缓冲区,共享池
2.设计的优化
表空间:一个数据库可以包含多个表空间,一个表空间只能属于一个数据库
一个表空间包含多个数据文件,一个数据文件只能属于一个表空间
表这空间可以划分成更细的逻辑存储单元
表分区:
范围分区、列表分区、散列分区(hash分区)、混合分区
满足三大范式:1.要求数据表不能存在重复的记录,即存在一个关键字。
2.如果一个关系属于1NF,且所有的非主关键字段都完全地依赖于主关键字,则称之为第二范式,简记为2NF。
3.如果一个关系属于2NF,且每个非关键字不传递依赖于主关键字,这种关系是3NF。
3.sql语句优化1. 不要使用*,查询多少字段写多少字段
2. 通过主键或者索引 with index=index_name查询效率更高
3. 多条件查询的时候把能筛选掉更多数据的条件写在右边(理解sql语句解析的原理:
ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名) Sex=女 age=20
4.使用where代替having
第九章 JDBC
1.连接程序和数据库
2.常用对象:Connction,DriverManager,statement(preparedstatement),resultSet.
Statement最为重要的方法是:
(1) int executeUpdate(String sql):执行更新操作,即执行insert、update、delete语句,其实这个方法也可以执行create table、alter table,以及drop table等语句,但我们很少会使用JDBC来执行这些语句;
(2) ResultSetexecuteQuery(String sql):执行查询操作,执行查询操作会返回ResultSet,即结果集。
(3) booleanexecute ( ) (了解即可)
Statement还有一个boolean execute()方法,这个方法可以用来执行增、删、改、查所有SQL语句。
该方法返回的是boolean类型,表示SQL语句是否有结果集!。
如果使用execute()方法执行的是更新语句,那么还要调用int getUpdateCount()来获取insert、update、delete语句所影响的行数。
如果使用execute()方法执行的是查询语句,那么还要调用ResultSet getResultSet()来获取select语句的查询结果.
阅读全文
0 0
- oracle 数据库
- Oracle数据库
- Oracle数据库
- Oracle数据库
- oracle数据库
- Oracle数据库
- oracle数据库
- Oracle 数据库
- Oracle 数据库
- oracle数据库
- Oracle数据库
- oracle 数据库
- oracle数据库
- oracle数据库
- oracle 数据库
- oracle数据库
- oracle数据库
- Oracle数据库
- JAVA知识点梳理第二部分——接口、内部类、异常等等
- hdu1533(最小费用最大流spfa模板)
- jmu-ds-单链表的基本运算
- 输入量control input signal复现
- JavaScript编写浏览器脚本
- oracle数据库
- android 连按两次Back键退出应用
- mac 系统安装Python3(亲测可行)(一)
- keil5编译出现Error: L6411E:的解决办法
- 各种乱码、验证码、重定向和转发应用
- JAVA知识点梳理第三部分——图形用户界面GUI部分
- 我的大学生活总结
- hdu 2058 The sum problem(数学题)
- html5学习-坦克大战总结