设为首页 加入收藏

TOP

oracle(第一天)(一)
2014-11-24 02:35:18 来源: 作者: 【 】 浏览:2
Tags:oracle 第一
======数值类型定义======
create table test(
c1 number,
c2 number(6),
c3 number(4,3),
c4 number(3,-3),
c5 number(2,4)
);

insert into test values(10,999999,9.999,999000,0.0099);
==显示方式与隐式方式
隐式方式:指定需要都要插值的列
显示方式:不插值的列指定为null
===定义缺省值default===
1、缺省值的数据类型必须匹配列的数据类型
2、有效的缺省值为文字值、表达式、sql函数、sysdate、user等。
3、无效的缺省值为另一个列的列名或伪列
4、default可以用于insert语句、update语句
drop table test purge;

create table test(
c1 number default 1,
c2 number
);
insert into test(c2)values(2);
insert into test values(default,3);
insert into test values(4,4);
update test set c1=default where c1=4;
select * from test;

===字符串类型===
insert into test values('abc','abc');
select length(c1),length(c2) from test;
===varchar2和char===
1、varchar2必须定义长度,最大长度4000字节;char可以不定义长度。缺省为1,最大长度2000字节
2、varchar2按字符串的实际长度存,char按定义长度存
3、列的取值是定长,定义成char。列的取值不固定。定义为varchar2
===日期类型===
sysdate是一个系统函数,返回当前系统时间


create table c2(
c1 date
);
insert into c2 values('01-1月-08');
===列别名===
--给列起别名(列别名)能够改变一个列、表达式的标识
--在原名和别名之间可以使用as关键字
--若列别名中包含空格或希望大小写敏感,用双引号括起来。


==拼接运算符||==
==消除重复行:distinct==
注意:distinct必须( 只能 )跟在select后边
/*
*SQL命令可以分成以下几种类型:
--DDL命令(Data Definition Language)
称为数据定义语言,是用于创建,修改,删除表结构的
DDL对数据结构起作用。
create 数据库对象的创建
alter 修改数据库对象
drop 删除数据库对象
truncate 清空表数据
--DML命令(Data Manipulation Language)
被称为数据操作语言,是用于向表中增删改数据的
insert 插入操作
update 更新操作
delete 删除操作
--DQL命令(Data Query Language)
被称为数据查询语言,是用于从表查询数据的
select 查询操作
--TCL命令(Transaction Control Language)
被称为事务控制语言,是用于确认或撤销DML操作的
commit 提交数据
rollback 数据回滚
savepoint 保存点
--DCL命令(Data Control Language)
被称为数据控制语言,是用于给用户授权或取消授权的
(DBA使用比较多)
*/
select * from dual;
借助函数nvl(p1,p2)实现,nvl函数的功能:
/*
if p1 is null then
return p2;
else
return p1;
end if;nvl函数(p1,p2),要求两个参数的数据类型一致,
任何数据类型的值都可以是null,所以参数的类型可以是number,字符型,date。
*/
例如:若一个月使用了250小时,每种资费标准对应的费用是多少。
方案一:
月超出费用计算方法如下:一月里超出包在线时长所需的费用。
(250 - base_duration)*unit_cost
总费用是月固定费用和月超出费用之和:
base_cost + (250 - base_duration)*unit_cost
代码实现如下:
select base_cost + (250 - base_duration)*unit_cost fee
from cost;
方案二:(fee是列别名)
select id,
nvl(base_cost,0) + (250 - nvl(base_duration,0)) * nvl(unit_cost,0) fee
from cost;
============================================
drop table user;


create table userr(
id number(4) ,
password char(4) ,
name char(20) ,
phone char(20) ,
email varchar2(50)
) ;
insert into userr values(1001 ,'1234' ,'liucs','13600000000','liucs@sina.com');
select * from userr;
======================================
设置分页显示
SQL> set pagesize 100 --每100行数据分页显示
SQL> set pages 0 --pagesize可以简写为pages,设置为0表示丌分页
=======================================
create table dept(
deptno number(2) ,
dname char(20) ,
location char(20)
) ;
insert into dept values(10 , 'developer' , 'beijing') ;
insert into dept values(20 , 'account' , 'shanghai') ;
insert into dept values(30 , 'sales' , 'guangzhou') ;
insert into dept values(40 , 'operations' , 'tianjin') ;
commit;
select * from dept;

create table emp(
empno number(4) ,
ename varchar2(20) ,
job varchar2(15) ,
salary number(7 , 2) ,
bonus number(7 , 2) ,
hiredate date,
mgr number(4) ,
deptno number(10)
) ;

insert into emp values( 1001 , '张无忌' , 'Manager' , 10000 , 2000 , '12-3月-10' , 1005 , 10) ;
insert into emp values( 1002 , '王五' , 'Analyst' , 8000 , 1000 , '01-4月-11' , 1001, 10) ;
insert into emp values( 1003 , '李四' , 'Analy
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇linux下安装单机版oracle11gR2 下一篇NoSQL常见存储方式

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: