物理存储结构
数据库的物理存储结构主要包括3个类物理文件:数据文件,控制文件,重做日志文件;
其他文件:归档日志文件,参数文件,密码文件;
相关命令
sqlplus / as sysdba ; 登入超管
alter user scott account unlock ; 解锁scott用户
grant username to xx; 给用户授权
show user; 查看当前用户
disc ; --disconnect 退出当前用户
help ; 查看帮助命令
/ or run; 运行缓冲池命令
star D:\xxx.sql; 运行指定路径的命令
get D:\xxx.sql ; 将外部文件导入缓冲区
alter user scott identified by pwd ; 超管修改指定用户登入密码, pwd xxxx;当前用户修改自身密码;
查询表结构 desc
select * from emp;
update emp set ename=' ' where empno= xxx ;
delete from emp where empno = xxx ;
insert into em[(empno,ename,....)] values(.....);
E-R图转换关系模式
1:1 任意一张表的主键加入到另一张表中充当外键。
1:n 将1的一方表的主键作为n方表的外键。
n:n 用双方的主键新建一张表这两个主键一起当作这一张表的主键,来唯一确定这张表,两个主键分别也是这张表的外键,第三张表加入起衍生属性。
启动数据库与实例
启动模式
1.创建并启动数据库相对应的实例,此时只用到初始化参数文件,数据库是否存在对其没有影响。如果初始化参数文件有误,值实例启动失败。
2.为实例加载数据库:将打开数据库的控制文件,从控制文件中获取,数据库名,数据文件的位置和名称等有关数据库的物理结构信息,为打开数据库做好准备。如果控制文件顺坏,则实例无法加载数据库。
3.将数据库设为打开状态:实例将打开处于联机状态的所有数据文件和重做日志文件。控制文件中的任何一个数据文件或重做日志文件若无法正常打开,数据库将返回错误信息,则需要进行数据库修复。
启动实例不加载数据库 nomount模式
startup nomount 执行维护工作时必须在此模式下进行。如 -----创建数据库,重建控制文件
加载数据库但不打开数据库
startup mount 有必要在进行一些特定为维护工作时打开该状态。 如 -----重命名数据文件,添加,删除,或重命名重做日志文件,执行数据库时完全恢复操作。
正常打开数据库
startup or startup open
强制打开数据库
startup force -----在上述任何情况下,则这时需要强制打开数据库
转换启动模式
实例加载数据库 alter database mount;
shutdown normal;
阻止任何用户建立新的连接,等待所有正在连接的用户主动断开连接,已连接的用户能够继续操作,一旦所有的用户断开连接,则立即开始关闭。
正常关闭数据库,先关闭数据库-》将数据库从实例上卸载-》终止实例
shutdown immediate;尽可能最短的时间数据库;
阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事物,任何未提交的事物均被退回,orcale不等待用户主动断开连接,而是直接关闭数据库,卸载数据库,并终止实例。
shutdown transactional;
阻止用户建立新的连接,同时阻止当前连接的用户开始的任何新的事物。
等待所有未提交的活动事物提交完毕,让后立即断开用户的连接,关闭,卸载数据库,终止实例。
数据查询
1.select 语句查询结果多个字段拼接
select ename||','||empno [as] "别名" from emp ;
2.save D:\xxx.sql 将上次查询到额sql语句保存到指定路径
3.select distinct 列名/distinct(列名) from emp; ----去除查询结果中的重复项.
运算符优先级
比较运算符>not>and>or
4.比较运算符
=,<>或!>,>,<,<=,>=
any 使用清单中任意一个值来比较。
all 使用清单中的所有值来比较
>any 大于清单中最小的值
<any 小于清单中最大的值
=any 相当于in
>all 大于最大值 <all小于最小值
5.sql运算符
like , in , between , isnull , isnan与非数字值匹配
6.字符函数
ascll(string x) 返回x的ascll值
concat(x,y)
length(x)
lower(x)
upper(x)
lpad(x,wid[,*]) 如果没有*号默认补空格,使其左边补齐使整个字符串长度为wid,若有*或其他字符串则补对应字符串.
rpad(x,wid,*) 同上右边补齐
nvl(x,value) 如果x为空 则替换x值为value 值
7.数学函数
abs(x)返回x的绝对值
ceil(x)返回大于等于数字x值得最小整数
floor(x)返回小于等于数字x值的最小整数
log(x,y) x为底数值y的对数
mod(x,y) x/y的余数
power(x,y) x的y次幂
round(x,[y]) 四舍五入,当y为省略时四舍五入到整数,若y为负数则省略到10的该值绝对值加一次幂例如round(45.985,-1) = 50 -2=500, 0= 46 , 1=46.0
trunc(x,[y]) 同上,但不做四舍五入运算.