oracle 基础

1.order by 排序

    select * from dept order by desc; --降序

    select ename,empno from emp order by empno asc;  --对 empno升序排列

  select ename,empno from emp where deptno<>10 order by empno asc;-- deptno进行升序排列同时过滤deptno=10的数据

   select ename,sal,deptno from emp order by deptno asc,ename desc;  --deptno进行升序排列的前提下,ename进行降序排列

 

2.去重

   <1> distinct

       distinct关键字只能过滤查询字段中所有记录相同的(记录集相同),而如果要指定一个字段却没有效果,另外distinct关键字会排序,效率很低 。

           例:

      select distinct name from t1 能消除重复记录,但只能取一个字段,现在要同时取id,name这2个字段的值。

       select distinct id,name from t1 可以取多个字段,但只能消除这2个字段值全部相同的记录

   <2>group by 

        例如要显示的字段为A、B、C三个,而A字段的内容不能重复可以用下面的语句:

            select A, min(B),min(C),count(*) from [table] where [条件] group by   A  having [条件] order by A desc   -- count(*)  重复次数

           如果在上句中having加 count(*)>1   就可以查出记录A的重复次数大于1的记录

    如果在上句中having加 count(*)>2   就可以查出记录A的重复次数大于2的记录

 3. group by 字句 分组查询

     select deptno ,sum(sal) from emp group by deptno;   --统计各个部门的员工的工资的总和

 

4.在表student的SNAME属性上创建索引student_sname_idx

     create index student_sname_idx on student(sname);

5 按如下要求创建表class和student

属性

类型(长度)

默认值

约束

含义

CLASSNO 数值 (2) 主键 班级编号
CNAME 变长字符 (10) 非空 班级名称

属性

类型(长度)

默认值

约束

含义

STUNO 数值 (8) 主键 学号
SNAME 变长字符 (12) 非空 姓名
SEX 字符 (2) 性别
BIRTHDAY 日期 生日
EMAIL 变长字符 (20) 唯一 电子邮件
SCORE 数值 (5, 2) 检查 成绩
CLASSNO 数值 (2) 外键,关联到表CLASS的CLASSNO主键 班级编号

答:create table class

(classno number(2) constraint class_classno_pk primary key,

cname varchar2(10) not null);

create table student

(stuno number(8) constraint student_stuno_pk primary key,

sname varchar2(12) not null,

sex char(2) default ‘男’,

birthday date,

email varchar2(20) constraint student_email_uk unique,

score number(5,2) constraint student_score_ck check(score>=0 and score<=100),

classno number(2) constraint student_classno_fk references class(classno)

);

 

6. 创建序列stuseq,要求初值为20050001,增量为1,最大值为20059999。(6分)

答:create sequence stuseq increment by 1 start with 20050001 maxvalue 20059999;

 

7.授权

 grant create,select , update,delete on  表名 to  用户名;

8.收回权限

      revoke create,select , update,delete on 表名 from 用户名

9.锁住用户

    alter user 用户名 account lock;

10.给用户解锁

alter user TEST_SELECT account unlock; 

11.创建用户

   create user 用户名     identified by  创建人名;

12 创建同义祠(不同用户)

create synonym  表名 for   用户名.表名

 

    

posted @ 2016-05-16 22:03  英特费斯  阅读(188)  评论(0编辑  收藏  举报