oracle学习笔记1

来源:互联网 发布:中兴n760软件下载 编辑:程序博客网 时间:2024/05/16 02:19

   oracle到现在已经发展到11g了,oracle也就是我们说的“甲骨文”。在java开发中词数据库用的还是比较多的,只要学过sqlserver或其他数据库,学习oracle还是没问题的。oracle的安装在网上有很多教程,这里我就不说了,我现在用的是11g的oracle。我以前也学过其他数据库,学这个就很快了。

 安装需要注意的就是给用户解锁,oracle的密码最好不要忘记,忘记了就不太好弄了。

1.给用户解锁或者锁定用户

alter user scott account unlock;

alter user scott account lock;

 

2.添加或删除用户用户

create user 用户名 identified  by 密码(11g上可以用如果是11g的话密码不能以数字开头)

drop user 用户名

3.和其他数据库不同的是oracle的列没有自动递增这种情况,只能使用序列来作

create sequence seq_id
increment by 1 
start with 1
nomaxvalue
nominvalue
order
nocycle;
drop sequence seq_id;

每次递增多少可以自己配置 ,最大或最小值这些由自己控制。使用的时候就 ''序列名称.nextval''

4.给用户授权

grant create session to test;--赋予create session的权限

grant create table,create view,create trigger, create sequence,create procedure to test;--分配创建表,视图,触发器,序列,过程 权限

grant unlimited tablespace to test; --授权使用表空间

这些可以一起写,没问题的,这样就没有那么多的表了,省的看着头晕。oracle里的数据类型和sqlserver差不多,就是没有int类型。

5.为列取别名,这个和sqlserver 类似

select sno 学号,sname 姓名 from student


或者这样写,

select sno as 学号,sname as 姓名 from student


这里的和sqlserver有一点不一样,那就是别名不可以打上引号,有的时候我们需要查询的对象有特殊字符例如百分号,那语句就应该这么写

select * from student where replace(sname,'%潘玮柏','

) like '%$%'

6.order by的使用

这个也不是很复杂,排序和sqlserver一样,也可以由多列,默认是升序(asc)

select  sno, snamefrom  Studentorder by   sage  desc

一般来说如果查询2列或以上但是有统计函数的都要分组。

可以根据多列进行分组。统计函数按照这些列的惟一组合来进行统计计算。

select depart 院系, class 班级, avg(sage) 平均年龄 from  stugroup by depart, class



 

7.有时我们会把distinct和count结合起来使用,如下所示。

select  count(distinct  depart)from  Student

 

后面的内容更精彩请不要错过。

原创粉丝点击