oracle学习笔记
来源:互联网 发布:淘宝首页自定义优惠券 编辑:程序博客网 时间:2024/06/06 05:19
为什么学习数据库?
以前,存储数据,可以使用文件,但弊端很多,如:不能进行海量存储,安全性问题不能解决,等等
使用数据库,可以对海量数据进行有效管理和存储,如;QQ聊天数据记录的保存,网游积分等
ORACLE 数据库的特点:
1,跨平台,可移植性
2,支持大型数据库,多用户的事务处理
3,实现数据结构化
4,实现数据安全性、完整性控制(安全性:控制数据库访问权限;完整性:处理多个客户端对同一数据的并发访问)
ORACLE服务器:ORACLE数据库 、 ORACLE实例(管理数据库的后台进程和内存结构的集合)
使用 ORACLE 数据库 的 开发流程
服务器端:
(1)安装ORACLE服务器端软件
(2)创建数据库(安装时自动创建)
(3)配置监听器(安装时自动配置) : oracleOraDb10g- Listener
(4)启动oracle实例(自动启动服务) : OracleService ORACLE
(5)创建用户表空间 ???????????????????
(6)创建新用户并授权
客户端:
(1)安装ORACLE客户端软件
(2)配置网络服务名
(3)以新用户登陆ORACLE
(4)提交sql查询
Oracle默认用户:
SYS: Orcle超级管理员,拥有最高权限,可以操作任何事物 (董事长)
SYSTEM: 是一个普通用户(管理员),但拥有最高DBA权限,也可操作用户权限 (总经理)
SCOTT: 是Oracle 数据库的一个示范帐户,在数据库安装时创建
sys与system的区别:(两个主要用户,三个重要权限)
1,存储的数据的重要性不同
sys:
所有oracle的数据字典(数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。
比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。)的基表和视图都存放在sys用户中,这些基表 和用户由数据库自己维护,任何用户不能手动更改
sys用户拥有dba,sysdba,sysoper角色或权限,是oracle权限最高的用户
system:
用于存放oracle的一些特性或工具的管理信息
system用户拥有dba,sysdba角色或系统权限。
2,权限不同
sys用户必须以as sysdba 或 as sysoper形式登录
system如果正常登录,就是一个普通的dba用户,但如果以 as sysdba 登录,实际上就是作为sys用户登录的
sysdba 可以创建数据库 , sysoper不能
user_tables : 当前用户所拥有的所有表
all_tables : 当前用户可以访问的所有表
dba_tables : 数据库中所有的表
Oracle权限
系统权限: 跟系统相关的操作,如:连接、创建、修改、删除……
用户权限: 跟用户相关的操作,如:查看、CRUD……
Oracle角色
是一组相关权限的组合。将角色赋给用户,可以简化权限管理
要连接到Oracle数据库,就需要创建一个用户账户
每个用户都有一个默认表空间和一个临时表空间
命令语句
1, CONN 用户名/密码 :CONN scott/admin;
2, CONN sys/admin AS sysdba/sysoper;
3,PASSWORD; 更改当前用户密码,仅SYS用户有权修改其他用户密码
4,EXIT ; 断开连接,并推出PLSQL
5,DISC ; 断开连接
6,EDIT 文件路径 ; EDIT c:/test.sql 编辑指定的SQL脚本
7,SPOOL 文件路径 ; SPOOL c:/test.sql 将sqlplus中的内容输入到指定文件中
SPOOL OFF 终止输出
交互式命令
8,& 可以替代 再执行中需要输入的 变量
SELECT * FROM emp WHERE ename=‘&name’;
9, SHOW linesize;
SET linesize 数字;
10, SHOW pagesize;
SET pagesize 数字;
11, GRANT 角色/权限 TO 用户名:GRANT connect,resource TO scott;
12, GRANT select ON 表名 TO 用户名;
GRANT update ON 表名 TO 用户名;
GRANT all ON 表名 TO 用户名;
GRANT all ON 表名 TO 用户名 WITH ADMIN OPTION; (允许被用户将插入、删除、更新和查询
TEST 表中的记录的权限继续向下传递)
13,修改用户密码
ALTER USER 用户名 IDENTITIFIED BY 密码;
14, 删除用户
DROP USER 用户名 CASCADE;
15,Date类型修改默认插入格式(默认格式:dd-mm月-yyyy)
alter session set nls_date_format='yyyy-mm-dd';
对表的操作
16,ALTER TABLE 表名 ADD 列名,类型; -- 增加一个字段
ALTER TABLE 表名 MODIFY 列名,类型 -- 修改字段类型
ALTER TABLE 表名 DROP colimn 列名 -- 删除一个字段
RENAME 表名 TO 新表名 -- 修改表名
17,CRUD操作:
select * from 表名;
insert into 表名(id,name,...)values (1,'Tom',...);
delete from 表名(where子句)
update 表名 set name='Rose';
注意: 使用delete语句仅删除记录,不删除表本身。如要删除表,使用drop table语句。 truncate table……
delete from 表名; 删除所有记录,表结构还在,写日志,可以恢复的,速度慢
drop table 表名; 删除表的结构和数据 delete from student where xh='A001'; 删除一条记录
truncate table 表名; 删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快
创建用户:
仅 管理员或 超级管理员有权限 创建用户
创建表空间
CREATE TABLESPACE 表空间名称
DATAFILE ‘文件名’ 文件大小(K/M)
AUTOEXTEND OFF|ON;
创建表
ORACLE查询工具: SQL*Plus 、 iSQL*Plus 、 PL/SQL
查询语句命令汇总(主要以scott.emp演示为主)
1,查看表结构
desc emp;
2,查询所有列
select * from emp;
3, 查询指定列
select empno,ename,sal from emp;
4, 取消重复列
select distinct deptno,job from emp;
5, 使用连接字符串(||)
select ename ||'的月薪是:'|| sal from emp;
6, 使用to_char()转换
select ename from emp where to_char(hiredate,'yyyy.mm.dd') > '1982.1.1';
7, 使用like操作符
%: 表示任意 0到多个字符 _: 表示任意单个字符
8,使用is null
select * from emp where mgr is null;
9, group by 后面可以跟多个分组限制条件
SELECT AVG(sal),MIN(sal),job,deptno FROM emp GROUP BY deptno,job;
having子句跟在group by 子句后面
select avg(sal) from emp group by deptno having avg(sal) <2000;
如果在select 语句种同时包含有group by ,having ,order by 那么他们的顺序是group by , having , order by
nvl();
以前,存储数据,可以使用文件,但弊端很多,如:不能进行海量存储,安全性问题不能解决,等等
使用数据库,可以对海量数据进行有效管理和存储,如;QQ聊天数据记录的保存,网游积分等
ORACLE 数据库的特点:
1,跨平台,可移植性
2,支持大型数据库,多用户的事务处理
3,实现数据结构化
4,实现数据安全性、完整性控制(安全性:控制数据库访问权限;完整性:处理多个客户端对同一数据的并发访问)
ORACLE服务器:ORACLE数据库 、 ORACLE实例(管理数据库的后台进程和内存结构的集合)
使用 ORACLE 数据库 的 开发流程
服务器端:
(1)安装ORACLE服务器端软件
(2)创建数据库(安装时自动创建)
(3)配置监听器(安装时自动配置) : oracleOraDb10g- Listener
(4)启动oracle实例(自动启动服务) : OracleService ORACLE
(5)创建用户表空间 ???????????????????
(6)创建新用户并授权
客户端:
(1)安装ORACLE客户端软件
(2)配置网络服务名
(3)以新用户登陆ORACLE
(4)提交sql查询
Oracle默认用户:
SYS: Orcle超级管理员,拥有最高权限,可以操作任何事物 (董事长)
SYSTEM: 是一个普通用户(管理员),但拥有最高DBA权限,也可操作用户权限 (总经理)
SCOTT: 是Oracle 数据库的一个示范帐户,在数据库安装时创建
sys与system的区别:(两个主要用户,三个重要权限)
1,存储的数据的重要性不同
sys:
所有oracle的数据字典(数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。
比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。)的基表和视图都存放在sys用户中,这些基表 和用户由数据库自己维护,任何用户不能手动更改
sys用户拥有dba,sysdba,sysoper角色或权限,是oracle权限最高的用户
system:
用于存放oracle的一些特性或工具的管理信息
system用户拥有dba,sysdba角色或系统权限。
2,权限不同
sys用户必须以as sysdba 或 as sysoper形式登录
system如果正常登录,就是一个普通的dba用户,但如果以 as sysdba 登录,实际上就是作为sys用户登录的
sysdba 可以创建数据库 , sysoper不能
user_tables : 当前用户所拥有的所有表
all_tables : 当前用户可以访问的所有表
dba_tables : 数据库中所有的表
Oracle权限
系统权限: 跟系统相关的操作,如:连接、创建、修改、删除……
用户权限: 跟用户相关的操作,如:查看、CRUD……
Oracle角色
是一组相关权限的组合。将角色赋给用户,可以简化权限管理
要连接到Oracle数据库,就需要创建一个用户账户
每个用户都有一个默认表空间和一个临时表空间
命令语句
1, CONN 用户名/密码 :CONN scott/admin;
2, CONN sys/admin AS sysdba/sysoper;
3,PASSWORD; 更改当前用户密码,仅SYS用户有权修改其他用户密码
4,EXIT ; 断开连接,并推出PLSQL
5,DISC ; 断开连接
6,EDIT 文件路径 ; EDIT c:/test.sql 编辑指定的SQL脚本
7,SPOOL 文件路径 ; SPOOL c:/test.sql 将sqlplus中的内容输入到指定文件中
SPOOL OFF 终止输出
交互式命令
8,& 可以替代 再执行中需要输入的 变量
SELECT * FROM emp WHERE ename=‘&name’;
9, SHOW linesize;
SET linesize 数字;
10, SHOW pagesize;
SET pagesize 数字;
11, GRANT 角色/权限 TO 用户名:GRANT connect,resource TO scott;
12, GRANT select ON 表名 TO 用户名;
GRANT update ON 表名 TO 用户名;
GRANT all ON 表名 TO 用户名;
GRANT all ON 表名 TO 用户名 WITH ADMIN OPTION; (允许被用户将插入、删除、更新和查询
TEST 表中的记录的权限继续向下传递)
13,修改用户密码
ALTER USER 用户名 IDENTITIFIED BY 密码;
14, 删除用户
DROP USER 用户名 CASCADE;
15,Date类型修改默认插入格式(默认格式:dd-mm月-yyyy)
alter session set nls_date_format='yyyy-mm-dd';
对表的操作
16,ALTER TABLE 表名 ADD 列名,类型; -- 增加一个字段
ALTER TABLE 表名 MODIFY 列名,类型 -- 修改字段类型
ALTER TABLE 表名 DROP colimn 列名 -- 删除一个字段
RENAME 表名 TO 新表名 -- 修改表名
17,CRUD操作:
select * from 表名;
insert into 表名(id,name,...)values (1,'Tom',...);
delete from 表名(where子句)
update 表名 set name='Rose';
注意: 使用delete语句仅删除记录,不删除表本身。如要删除表,使用drop table语句。 truncate table……
delete from 表名; 删除所有记录,表结构还在,写日志,可以恢复的,速度慢
drop table 表名; 删除表的结构和数据 delete from student where xh='A001'; 删除一条记录
truncate table 表名; 删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快
创建用户:
仅 管理员或 超级管理员有权限 创建用户
创建表空间
CREATE TABLESPACE 表空间名称
DATAFILE ‘文件名’ 文件大小(K/M)
AUTOEXTEND OFF|ON;
创建表
ORACLE查询工具: SQL*Plus 、 iSQL*Plus 、 PL/SQL
查询语句命令汇总(主要以scott.emp演示为主)
1,查看表结构
desc emp;
2,查询所有列
select * from emp;
3, 查询指定列
select empno,ename,sal from emp;
4, 取消重复列
select distinct deptno,job from emp;
5, 使用连接字符串(||)
select ename ||'的月薪是:'|| sal from emp;
6, 使用to_char()转换
select ename from emp where to_char(hiredate,'yyyy.mm.dd') > '1982.1.1';
7, 使用like操作符
%: 表示任意 0到多个字符 _: 表示任意单个字符
8,使用is null
select * from emp where mgr is null;
9, group by 后面可以跟多个分组限制条件
SELECT AVG(sal),MIN(sal),job,deptno FROM emp GROUP BY deptno,job;
having子句跟在group by 子句后面
select avg(sal) from emp group by deptno having avg(sal) <2000;
如果在select 语句种同时包含有group by ,having ,order by 那么他们的顺序是group by , having , order by
nvl();
- Oracle学习笔记--Oracle入门
- Oracle学习笔记
- 学习ORACLE笔记
- Oracle 学习笔记
- ORACLE学习笔记
- Oracle 认证学习笔记
- Oracle学习笔记
- oracle学习笔记[转]
- Oracle学习笔记
- 转(oracle学习笔记)
- Oracle学习笔记一
- ORACLE学习笔记
- Oracle游标学习笔记
- Oracle 认证学习笔记
- oracle 学习笔记
- oracle学习笔记(一)
- oracle学习笔记(二)
- oracle学习笔记(三)
- Java开发中字符编码转换
- 数据库的运算----选择,投影,连接
- chapt16、线程堆栈
- 图像处理之距离变换
- CreateJS 动画
- oracle学习笔记
- POJ 超详细分类
- 回首2012
- ASP.NET返回上一页面的实现方法
- 计算文件夹大小,当前目录下个文件夹的大小
- 堆和栈
- 对开源库使用 AutoCAD 文件格式
- To improve your programming skills
- 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)