一。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工具的使用 设置环境变量 命令的编辑导入导出 查询结果格式化等 ...