在本周主要学习了一些Oracle相关的命令,发现其与MySQL有很大的相似性,由于是跟着视频教学,所以主要学习了一些关于Oracle命令行的操作,其中的总结如下:
在命令行的一些命令:
- 清屏:host cls; windows操作系统
- 显示当前用户:show user;
- 显示当前用户下的表:select * from tab;(显示所有表和视图)
- 显示某一确定的表结构:desc +表名称
- 显示行的宽度:show linesize;
- 设置行的宽度:set linesize +长度(其中的长度为字节的长度)
- 也可以设置特定列的宽度:例如:col ename for a8(意思是设置ename这一列的宽度为8个字符)
- /表示执行上一条sql语句
- Sql语句中的null问题
(1)包含空值的的表达式都为空值
(2)Null永远!=null
(3)如果集合中含有null,就不能使用not in,但是可以使用in
- 函数:nvl(a,b)如果a为空值,则转化为b的值,否则返回a本身的值。
- ed 进入系统默认的文本编译器,可以编辑上一条sql语句
- 当数据库的表的查询的列用别名时,如果别名中含有关键字或者特殊字符,就必须将别名用“”括起来
- --用来注释一行语句的,/*用来注释 块
- Distinct作用于后边所有的列
- Dual表是在写Oracle的sql语句时,如果查询的不是某个表的内容,就 from dual (在Oracle数据库中的select语句必须由from关键字),伪表
- 在Oracle数据库中连接列名用||,可以用来连接列名
- 日期和字符只能放在单引号里边,双引号里边放上列的别名
- 在用select语句查询时,如果模糊查询中包含下划线,应该用转义字符给他转移,取他真正的含义
- Oracle自动开启事务
- Oracle sql语句中的where条件的解析顺序是从右往左
- Order by 作用于后边所有的列,desc作用于 离他最近的列
- 在查询时按照降序排列,但是数据中含有空值时,空值的列会在最上边,原因是在Oracle数据库中null最大,如果排序时想要空值函数排在最后,可以在sql语句后边加上 nulls last (如果空值不唯一,也就是有好多个话,就需要用nulls)
- 函数instr的作用是查询字串,返回首字母的下标
- Lengthb指的是字节数
- lpad 函数指的是左填充,rpad指的是右填充
- trim 去掉指定的字符串 例如 select trim (‘H’from ‘Hello worldH’) from dual (dual 指的是一个表名)
- 四舍五入函数:round函数接收的参数为两个,一个是四舍五入的值,一个保留的小数
- trunc截断函数,不进行四舍五入,直接进行截断(也是日期函数书)
- Oracle中只有date数据类型,里边包含年月日小时分钟秒
- to_char函数,将当前事件转化为指定的格式,在命令行显示当前时间的sql语句是 select sysdate from dual;(dual是一个表名)
- 日期的数学运算只有加减,没有乘除,以天为单位
- 两个日期之间是不能相加的
- Next_day某一指定日期的下一个日期,应用:每星期一备份一下数据库
- nullif通用函数nullif(a,b)当a和b相等时,返回的是null,当a,b不等时返回的是a的值
- nvl2(a,b,c)当a的值不为空时返回的是b的值,当a的值为空时返回的是c的值
- coalesce从左往右找到第一个不为空的值
- 组函数自动滤空,我们可以利用空值函数来屏蔽他的滤空函数nvl()函数
- Group by 的增强版 group by rollup(a,b)功能相当于
group by a,b+
Group by a+
Group by null;
作用是可以用来做公司的报表
- 批处理,在insert中的values中不用写,直接嵌套一个子查询语句,就可以一次插入多条数据
- 当我们需要海量拷贝数据时的办法
(1)数据泵
(2)Sql*loader(自己安装的Oracle自带的)
(3)数据仓库,用外部表的方式
(4)可传输的表结构
- delete 和 truncate 语句的差别
(1)delete是逐条删除,而truncate是先摧毁表结构,再重新创建
(2)delete是DML语句,是可以回滚的,truncate是DDL语句,是不可以回滚的
(3)Delete不会释放表空间,
(4)可以用alert table<表明> move;
- Oracle数据库的导处和导入
Exp imp
还有增强版:expdp impdp
- 由于存在undo数据(还原数据),所以oracle中delete比truncate速度快,但是在mysql中,truncate速度更快
- 事务的标志:起始标志:事务忠中的第一条DML语句
结束标志:提交:显示提交:commit
隐式提交:正常退出, DDL,DCL
回滚:显示回滚:rollback
隐式回滚:指的是系统不正常的退出
- plsql程序语句的规则:
程序以begin开始,以end结束,在程序开头可以有declare说明部分,也可以已没有
46.
在下周中,要学习一下web开发的三大框架,ssh
也是根据视频教学