SQL是数据库语言,Oracle使用该语言存储和检索信息
表是主要的数据库对象,用于存储数据
SQL由下列类别的命令组成:
数据定义语言(DDL操作表结构):
create table 创建表
alter table 修改表
drop table 删除表
truncate table 清空表(不存储日志)
数据操纵语言(DML操作表数据):
select 查询
insert 插入
upDate 更新
delete 删除
Oracle 数据类型:
char()当需要固定长度的字符串是,使用char数据类型
char数据类型存储字母数字值
char数据类型的列长度是1-2000个字节
varChar2()数据类型支持可变长度字符串
数据类型存储字母数字值
数据类型的大小在1-4000个字节内
long()数据类型存储可变长度字符数据
数据类型最多能存储2GB
数值数据类型
可以存储整数,浮点数和实数,最高精度38位
数值数据类型的声明语法:
number [ (p,[ s]) ] p precision 表示精度,s scale表示小数点的位数
主要的日期时间类型:
date - 存储日期和时间部分,精确到秒
timeStamp - 存储日期,时间和时区信息,秒值精确到小数点后6位
伪列:
Oracle中伪列就像一个表列,但是它没有存储在表中
伪列可以从表中查询,但不能插入,更新和删除他们的值
常用的伪列有 rowid 和 rownum
rowid 是表中 行 的存储地址,该地址可以唯一的标识数据库中的一行,可以使用rowid伪列快速地定位表中一行
rownum是查询返回的结果巨宗行的序号,可以使他们来限制查询返回的行数,可用于分页查询
Oracle支持的SQl操作符:算术操作符(+ ,- ,* ,/ (除))
比较操作符(=、!=、<、>、<=、>=、<> (不等于))
逻辑操作符(and 与 ,or 或, not 非)
连接操作符(||)连接操作符用于将多个字符串或数据值合并成一个字符串
集合操作符(union ,union all ,intersect , minus )
minus 操作符返回从第一个查询结果中排出第二个查询中出现的行
intersect 操作符只返回两个查询的公共行
SQL操作符优先级: 算术>连接>比较>not>and>or
SQL函数的分类:
单行函数:单行函数对于从表中查询的每一行只返回一个值,可以出现在 select 语句中和where 语句(日期函数,数字函数,字符函数,转换函数,其它函数)
分组函数: 分组函数基于一组行来返回结果,为每一组行返回一个值(avg,min,max,sum,count)
分析函数
group by语句: asc升序排序(默认) ,desc降序排序
用于将信息划分为更小的组
每一组行返回针对该组的单个结果
having语句:
用于指定 group by 语句检索行的条件(只能是分组的字段或者聚合函数)