oracle产品线围绕企业开发平台的
企业开发平台四大组件:unix,weblogic中间件,java编程语言,oracle数据库
数据库管理:dba
数据库编程:分两部分
sql编程
pl/sql编程(子程序,触发器,面向对象,游标)
下载 官方网站下载相应的版本到本地,并解压缩。
环境 在启动安装之前的环境配置。
安装
只要是行与列的集合就是数据表
SQL> ed hello
SQL> @hello
数据库开发都以dml操作为主
数据库设计时以ddl操作为主
数据类型 number(7,2) 小数位是两位,总共是7位,整数是5位
##############################################################################
简单查询的最大特征在于可以控制列,它无法进行数据行的控制。
select [distinct] *| 列名 [别名],列名 [别名],... from 表名 [别名];
distinct是去掉重复的行。指所查询出来的所有列内容都一样的去重。
执行顺序是先from再select
子句有两个 一个是select ...,一个是from ...。或者还会有where ...,order by ...。
进行数据的投影-----控制所需要显示的数据列。
支持四则运算,再加上别名就美观了。
select aa,bb,cc*2 from emp;
select aa,bb,cc*2 nian from emp;
select trans_new_price-2 sum from tis_ft_adjust_price where rownum <=5;
select trans_new_price*2 sum from tis_ft_adjust_price where rownum <=5;
拼接列的值。列名1 || 列名2
select adjust_time || operator_id ww from tis_ft_adjust_price where rownum <=5;
格式化输出,字符串用单引号引起来,数字直接写,不用引用。
select 'tj:'||adjust_reason||',ti:'||ADJUST_TIME ww from tis_ft_adjust_price where rownum <=5;
##############################################################################
限定查询,控制数据行
1.sql语句的执行顺序
第三步:选出所需要的数据列 select *
第一步:确定数据来源 from table
第二步:筛选数据行 where 条件
第四步:数据排序 order by
2.限定符号的使用,以下是标准sql支持的。
若干个条件判断符,
>,<,=,>=,<=,!=,
is not null,is null
like,not like _匹配任意一位字符,%匹配多位。
in,not in not in中不能有null,in可以有。where 字段 in(8899,2234,7554,null); 不连续的行
betwwen...and where 字段|数值 betwwen 最小值 and 最大值; 连续的行
以上只能使用一次,如果有多个条件,则用逻辑运算符:
and,or,not(非)
书写标准,先写查列,再将select from where 分别写三行,再写各种限定,表限定,行限定,列限定。这是按照执行顺序写的。
desc tis_bk_user;
select user_id
from tis_bk_user
where rownum <=5;
select *
from tis_ft_g_owner_clear
where trans_freight between 10000 and 11000;
betwwen...and...是一个运算符,也可以用关系运算符与逻辑运算符组合来使用,但效率低
如:where trans_freight>10000 and trans_freight<11000
oracle所有的运算符不受数据类型的控制,以上是对数字的判断,字符串意义不大,重点是对日期时间的判断。
select clear_time
from tis_ft_g_owner_clear
where clear_time between '2015-07-28 11:13:57' and '2015-07-29 11:47:07';
select *
from tis_bk_role
where not role_id<to_number('001056'); # to_number为函数
空判断
select null + 1 from emp; 这个表有几行,就返回几行空行
null不能使用关系运算,关系可以判断的是数据,null属于一个未知的数据。
#in
select *
from tis_bk_role