欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

oracle11g常用知识整理:

程序员文章站 2022-03-23 20:00:49
oracle11g常用知识整理: 1.基本数据类型: varchar 最多容纳4000个字符 number date string clob blob 2.字段与记录: 字段又称...

oracle11g常用知识整理:

1.基本数据类型: varchar 最多容纳4000个字符 number date string clob blob 2.字段与记录: 字段又称为属性,二维表中一列称为一个字段。 记录:二维表中一行称为一条记录。 3.授权: 四个主要对象权限:select,insert,update,delete 4.DDL和DML: DDL(data definition langugue)数据定义语言 例:create table 创建一个表 create index 创建一个索引 alter table 增加,重定义列,改变存储分配 drop table 删除一个表 grant 将权限或角色授予一个用户或角色 truncate 从表中删除所有行 revoke 撤销一个用户或角色的权限 DML(data manipulation language)数据操纵语言 包含:select,insert,update,delete select语法: select 列名 from 表名 where 条件 select中用到的关键字:from,where,and,or,not,between,in,like('%%'), insert语法: insert into 表名(字段名,...,字段名) values('字段值',...,'字段值') update语法:update 表名 set 要修改的字段=‘字段值’ where 原有字段=‘字段值’ 注:set单词后跟一个或多个需要修改的值,这个必选 where子句后跟选择条件,这个可选 5.排序:order by 关键字:desc,asc

6.函数:字符串函数、数字函数、和聚合函数(字符串函数和数字函数对行进行操作,聚合函数对列进行操作)

字符串函数:可分为两类,返回值为字符或数字。 lower(char) 将整个字符串转换为小写 例:select lower(‘DALIA’)from dual replace(char,str1,str2) 将char中出现的每个str1替换成str2 substr(char,m,n) 从char中第m个字符开始抽取n个字符 rpad(expr1,n,expr2) 在expr1右边补充n个expr2.常用在创建固定长度的记录时补充空格 initcap(char)将char中每个单元的第一个字符改为大写

数字函数: ceil(n) 返回大于或等于n的最近整数 floor(n) 返回小于或等于n的最近整数 round(n,m) 将n四舍五入,保留小数点后m位 power(m,n) m的n次幂 mod(m,n) 返回m除以n后的余数。如果n=0,返回0,如果n>m,返回m sqrt(n) 返回n的平方根

聚合函数: count(expr) 返回所选行中expr列非空的数量 avg(expr)返回所选行的expr列的平均值 sum(expr)返回所选行的expr列的总和 min(expr)返回所选行中expr列的最小值 max(expr)返回所选行中expr列的最大值

日期函数: sysdate 返回当前系统日期 last_day(date) 返回日期所在月份的最后一天 add_months(d,n) 在日期d基础上增加或减少n个月 months_between(d1,d2) 返回日期d1和日期d2之间相差的月数 next_day(d,day) 返回日期d之后day天(一周中的星期几)后对应的日期 current_timestamp 返回相对时区的当前时间戳

嵌套函数: 例:select round(months_between('17-MAR-61','21-APR-62')) from dual

7.表连接:(内连接,外连接,自连接) 内连接:从两个表中选取记录且第一个表中某一列的值能在第二个表的 相同列中找到。内连接返回在两个表中特定列有匹配值的记录。 例:select prod_id,quantity_sold,cust_city,cust_state_province from sales,customers where sales.cust_id=customer.cust_id and prod_id=117; 或使用别名: select prod_id,quantity_sold,cust_city,cust_state_province from sales s,customers c where s.cust_id=c.cust_id and prod_id=117; ANSI内连接: ANSI有几种不同的方式进行表的连接 select c.cust_id,c.cust_state_province,s.quantity_sold,s.prod_category from sales s join customes c on c.cust_id=s.cust_id where prod_id=117

select c.cust_id,c.cust_state_province,s.quantity_sold,s.prod_category from sales s join customes c using(cust_id) where prod_id=117 外连接:从一个表中找出在另一个表中没有任何匹配行的行。(只要两个表都有同一个列名,且限定主表的查询条件,即可匹配查询结果。) 外连接同样可以使用 on,using,natural 例: select c.cuts_id,c.cust_last_name,s.prod_id,s.quantity_sold from customer c ,sales s where s.cust_id=c.cust_id(+) ---相当于右外连接 and c.cust_id in(1,80); ANSI右外连接:select * from 表1 right join 表2 on 表1.列1=表2.列1 where 条件 ANSI左外连接:select * from 表1 left join 表2 on 表1.列1=表2.列1 where 条件 ANS完全外连接:select * from 表1 full join 表2 on 表1.列1=表2.列1 where 条件

自连接:用于建立单个表内的关联。 例:select a.name,a.birth_year, a.father,b.birth_year from family a,family b,family c where a.father = b.name;

8.数据分组:group by 和 having子句

unoin、unoin all、intersect和minus

union:将两个查询结果去重合并 unoin all:将两个查询结果合并 intersect:只取两个查询结果相同的值 minus:从第一个查询结果中减去第二个查询结果

序列: Oracle序列(sequence)是一种数据库项,能够生成一个整数序列。通常用于填充数字类型的主键列。(调用一次序列增加一次) 用法: CREATE SEQUENCE emp_sequence INCREMENT BY 1 —— 每次加几个 START WITH 1 —— 从1开始计数 MAXVALUE —— 最大值值 NOMAXVALUE —— 不设置最大值 NOCYCLE —— 一直累加,不循环 CYCLE CACHE 10;

约束:为了保证每一个实体都是唯一的,因此设计出了约束,也就是主外键。 定义:通过实施业务规则来保持数据库的完整性 类型:NULL 当前字段是否包含值 NOT NULL 当前字段不为空 UNIQUE 只有列值唯一才可以插入 PRIMARY KEY 主键 唯一的标识表中的每行 FOREIGN KEY 外键 约束表与表的关系,保证一个表的键值在引用表的键中存在 CHECK 允许用户定义和实施列上的规则,定义之后执行相关语句就会先询问是否符合规则,符合可执行,不符会报错

SQL * PLUS 标准输出 用户可以在sqlplus中设置控制输出结果显示的参数,但需要注意每次打开sqlplus都需要重新设置 set linesize 设置行宽 set pagesize 定义页长度 tiele 设置页标题 btitle 设置页脚 column 对实际列数据进行格式化 spool 将输出结果保存在一个文件中

视图: 视图是一个虚拟的表,是一个表中的数据经过某种筛选后的显示方式,视图由一个预定义的查询select语句组成。 特点: 视图中的数据并不属于视图本身,而是属于基本的表,对视图可以像表一样进行insert,update,delete操作。 视图不能被修改,表修改或者删除后应该删除视图再重建。 视图的数量没有限制,但是命名不能和视图以及表重复,具有唯一性。 视图可以被嵌套,一个视图中可以嵌套另一个视图。 视图不能索引,不能有相关联的触发器和默认值,sql server不能在视图后使用order by排序。 建立视图的语法: Create view 视图名称[(字段1) (字段2) (字段3)…] AS Select 查询语句 [with check option] 参数:[with check option]可选项,防止用户对数据插入、删除、更新是操作了视图范围外的基本表的数据。 删除视图的语法: Drop view 视图名称

PL/SQL的引入:由于SQL有一个缺陷:对输出结果缺乏过程控制。因此引入了pl/sql,它对数据库数据的处理有很好的控制 PL/SQL程序结构(块): [DECLEAR] ---put variables here BEGIN ---put program here [EXCEPTION] ---put exception handlers here END; 。