ORACLE 学习笔记

desc emp 描述一张表
select ename||sal||'a''a' from emp; 连接两个字段成一

个字符串
dual 空表

select distince depton,job from emp; 取消重复字段

select empno,ename from emp order by empno asc;升序
select empno,ename from emp order by empno desc;降序

函数:
      单行函数:
      lower(),转化小写
      uper()  转化大写
      substr(ename,2,3)从第二个字母开始截 总共截三个
      char(65) 求字符
      ascii('A')求ASC码
      round(23.652,1),近似,小数点后一位
      to_char(sal,'$99,999.9999') 数字格式
      select to_char(hiredate,'YYYY-MM-DD HH:MI:SS') from emp;日期格式
      select ename,hiredate from emp where hiredate >  to_date('1981-2-20 12:32:44','YYYY-MM-DD HH24:MI:SS');找到指定日期之后的日期
      select sal from emp where sal > to_number ('$1,250.00','$9,999,99')转化成数字
      select ename,sal*12 + nvl(comm,0)from emp 如果comm是空值则用0代替
       组函数:
       max(),min(),avg()
       count()个数,sum()

       group by 分组
       where是对单条语句进行过滤,having是对多条语句进行过滤
       join ,left join,right join,left Join 就是左边表的所有数据都拿出来     
       full join 全连接,左右的数据全拿出来

 

 

创建表:
create table stu
(
id number(6) ,
name varchar2(20) not null,//不为空,字段级约束
sex number(1),
age number(3),
grade number(2) default 1,
class number(3),
email varchar(50) unique,//唯一
constraint stu_name_uni unique(id,email) //表级约束,id,email的组合唯一
)

修改表:
alter table stu add(addr varchar(100));添加字段
alter table stu drop(addr);删除字段
alter table stu modify(addr varchar2(50));修改字段
alter table stu drop constraint stu_class_fk;删除约束条件

删除表:
drop table stu

orcale中有user_tables,user_views,user_constraint,常用的数据字典表
dictionary表 存储总共有多少张数据字典表

创建索引:
create index idx_stu_email on stu(email)

创建视图:
create view v$_stu as select id,name,age from stu
视图其实就是子查询

创建序列:
create sequence squ;
select squ.nextval from dual ;可以用来递增

posted on 2011-01-28 15:09  好坏  阅读(460)  评论(0编辑  收藏  举报

导航