复习Oracle

发布 2021-04-27 21:18:28 阅读 6204

一。oracle数据库中常用的数据类型

varchar2(长度)可变长字符串

char(长度) 定长

number()表示整数或者浮点数number(8) number(8,2)

clog 字符的大对象

blog 二进制的大对象

二。数据库查询

1)select语句

从表中提取查询数据。语法为select [distinct] from tablename where group by order by [asc/desc];

说明:select子句用于指定检索数据库的中哪些列,from子句用于指定从哪一个表或视图中检索数据。

2)where子句。

where子句用来选择符合条件的的记录。

like '.通配查询 _,

between ..and ..表示结果在这之间,between and是一个闭区间。

=,<这三个都可以表示不等于。

in (va1,val2,..判断结果是否在这个集合中存在 。

like '.字符串通配查询,'%表示0或多个字符,'_表示一个字符。

.. and ..表示只有两个条件同时满足

.. or ..表示条件只要满足其中之一就可以

all ..是要求都满足条件。

not ..则是可以与以上的条件产生反效果。

.. is null 使用来判断值是不是空。

3) order by子句

order by 子句使得sql在显示查询结果时将各返回行按顺序排列,返回行的排列顺序由order by 子句指定的表达式的值确定。

asc(默认,升序) desc(降序)

order by 目标列名(别名) 排序顺序(不写排序顺序,会默认为升序排序)

例:select first_name from s_emp order by first_name;

select first_name from s_emp order by first_name desc;

三。sql常用的命令分类及例子

数据定义语言:create(创建)、alter(更改)和drop(删除)命令。

数据操纵语言:insert(插入)、select(选择)、delete(删除)和update(更新)命令。

事务控制语言:commit(提交)、s**epoint(保存点)和rollback(回滚)命令。

数据控制语言:grant(授予)和revoke(**)。

1.数据定义语言举例:

sql> create table mytab(no number(4),name varchar2(20));创建一个名为mytab的表,包含两列no和name;

sql> alter table mytab modify (name varchar2(25));修改mytab中的name列,使此列能容纳25个字符;

sql> alter table mytab add (tel_no varchar2(20));给表mytab增加一列tel_no;

sql> alter table mytab drop column tel_no;删除表mytab的tel_no列;

sql> drop table mytab;删除表mytab;

sql> truncate table mytab;删除表mytab中的所有行(截断表),注意:不可以回滚。

2.数据操纵语言举例:

sql> insert into mytab values(‘001’,’john’);

向表mytab中插入一行数据;

sql> select distinct salary “薪水” from s_emp where salary>1500 order by sal desc;

选择表中salary大于1500的数据,以别名“薪水”显示并按照salary的降序进行排列输出;

sql> create table empa as select empno,ename,job,sal from emp;

从emp表中选择“empno,ename,job,sal”四列的数据建立新表empa;

sql> create table empa as select * from emp where 1=2;

使用一个假条件根据现有表emp创建一个只包含结构的空表empa;

sql> delete from empa where sal<1500;

删除表empa中sal小于1500的行;

sql> update empa set sal=1500 where sal<1500;更新,将表empa中sal小于1500的行的sal值全部改为1500。

3.事务控制语言举例:

sql> commit;用于提交并结束事务处理;

sql> s**epoint mark1;保存点类似于标记,用来标记事务中可以应用回滚的点;

sql> rollback to s**epoint mark1;回滚到保存点mark1。

四。oracle数据库函数

注意:dual表(虚表)是专门用于函数测试和运算的。

1.字符函数

字符是大小写敏感的

转小写 lower(字段名)

转大写 upper(字段名)

首字母大写 initcap(字段名)

字符串拼接 concat(字段1, 字段2)

截取子串 substr(字段名, 起始位置,取字符个数)

例: select first_name,substr(first_name,2,2) sub from s_emp;(从名字的第二个字符开始取两个字符)

select first_name,substr(first_name,-2,2) sub from s_emp;(从名字的倒数第二个字符开始取两个字符)

2.数值函数

四舍五入函数 round(数据,保留到小数点后几位)

1表示保留到小数点后一位,-1表示保留到小数点前一位。

例:select round(15.36,1) from dual;

截取数值函数 trunc(数据,保留到小数点后几位)

例:select trunc(123.456,1) from dual;

截取到小数点后一位,注意:与round函数不同,不会四舍五入。

3.日期函数

缺省日期格式,日-月-年 dd-mon-rr

修改当前会话的日期格式,会按照指定的格式输出日期

alter session set nls_date_format='yyyy mm dd hh24:mi:ss';

返回当前日期 sysdate

例:select sysdate from dual;

4.不同数据类型间转换函数

将日期转成字符 tochar(date,'日期格式')

日期格式要用有效格式,格式大小写敏感 'yyyy mm dd hh24:mi:ss'(标准日期格式),'year'(年的全拼),'month'(月的全拼),'day'(星期的全拼),'ddspth' (日期的全拼)

例:select to_char(sysdate,'yyyy mm dd hh24:mi:ss')from dual;

select to_char(sysdate,'year month day ddspth')from dual;

将字符串转成日期 to_date('.日期格式')

例:select to_char(to_date('2006 11 03','yyyy mm dd'),dd-month-yy') from dual;

五。表连接(关联查询)

等值连接 select

from table1 t1,table2 t2

where

表连接时,当表与表之间有同名字段时,可以加上表名或表的别名,加以区分,使用时要用表名。字段名或表别名。字段名(列名)。当表的字段名是唯一时,可以不用加上表名或表的别名。

注意:当为表起了别名,就不能再使用表名。字段名了。

例如:select ||name,

dept_name

from s_emp e, s_dept d

where

非等值连接

select [表别名1.字段名1],[表别名2.字段名2],.

from 表1 表别名1 ,表2 表别名2

where 表别名1.字段名3 ..表别名2.字段名4

...可以使比较运算符,也可以使其他的除了'='的运算符

例:select first_name, salary

from s_emp

where salary between 1000 and 2000;

自连接 把一个表的两个字段关系转换成两个表字段之间的关系。

select [表别名1.字段名1],[表别名2.字段名2],.

from 表1 表别名1 ,表1 表别名2

where 表别名1.字段名3=表别名2.字段名4;

例:select ename, cname

from s_emp a,s_emp b

where

外连接 使用一张表中的所有记录去和另一张表中的记录按条件匹配(空值也会匹配)这个表中的所有记录都会显示。

/想在哪边模拟记录就在哪边加上(+)

1. left outer join:左外连接

select

oracle复习

oracle数据库的主要特点。支持多用户 大事务量的事务处理。数据安全性和完整性控制。支持分布式数据处理。可移植性。oracle服务器提供开放 全面和综合的信息管理,它由oracle数据库和oracle实例组成。管理数据库的后台进程和内存结构的集合称为 oracle 实例 oracle 数据库是一个...

Oracle复习

一 创建用户。在yggl数据库中创建一个用户manager,授予dba角色和sysdba系统权限,它可以替代system系统用户。connect system 123456 as sysdab create user manager profile default identified by man...

Oracle复习

oracle数据库管理与编程知识点。1.关系数据库基本理论 oracle应用结构。2.oracle体系结构 实例内存管理 sga pga 逻辑存储结构 表空间 段 区 块 物理存储结构 数据文件 控制文件 其他文件 3.sql plus工具的使用 设置环境变量 命令的编辑导入导出 查询结果格式化等 ...