oracle基本知识

 
各个数据库特点:
 
1,mysql:免费,不支持检查约束,但支持主键自增。
 
2,oracle: 全球最强大的单体数据库,数据库结构复杂,收费。支持检查约束,不支持主键自增长,但支持序列
 
3,DB2(IBM):易用性好,常用于金融项目的数据库,收费速度一般。既支持主键自增长,又支持检查约束。
 
4,SQLServer(微软):易用性好,必须在微软平台服务器下运行,收费。
 
5,一般来说,数据库是不区分大小写的,但是在oracle中的值是区分大小写(创建表的时候,将表名写成小写并加上引号就是小写的表名了),mysql中不区分。
 

 
oracle基本知识:
 
1,services.msc  找到可以启动oracle的监听程序(OracleOraDb10g_home1TNSListener )和启动数据库的服务程序(OracleServiceORCL)。
 
2,在启动数据库时,数据库中有,数据文件、控制文件和日志文件。
 
3,oracle的数据库和其它一般数据库不同的最明显的一点就是:
oracle的一个服务对应一个数据库,所以java的一个项目不能像以前一样对应一个oracle数据库了,因此oracle数据库中提出一个新的概念叫表空间。
在oracle数据库中我们可以创建多个表空间,用于java的项目,一个表空间可以由一个或多个数据文件组成(xxx.DBF)。


 
oracle中的操作性知识

 
问题一:oracle怎么创建数据库呢?
 
我们的orcl数据库是安装oracle时顺便创建的。所以我们创建数据库和删除数据库都是操作Database Configuration Assistant 中选项。
 
 
问题二:如果oracle由于不明原因不能用了,是不是也要重新安装呢?
 
1,一般情况下数据不能用,肯定是有服务启不来。
2,如果是serviceOrcl启不来就是数据库出问题了,可以删除重建,参照问题一来解决。但是一般情况下,数据库是不会蹦的,如果蹦了可能是因为杀毒软件删除了数据库的一些文件。
3,如果是lisener启不来,可以重新配置监听。操作这个 :net configuration assistant。


 
问题三:怎么用我的客户端连接别人的数据呢?
 
盘符:\oracle\product\10.2.0\db_1\network\ADMIN,有tnsnames.ora文件,在配置中添加新的连接信息即可。


关于oracle的使用
 
1,oracle的用户和权限非常严格,一般不是用sys、system用户管理数据。
2,应该创建新的用户,管理数据库中指定表空间的数据。
3,使用system在数据库中创建表空间。
4,创建一个用户。
5,让创建好的用户管理新创建的表空间。

 
创建表空间、用户及其给用户授权
 
1,创建表空间

create   tablespace  firstdataspace
datafile 'f:db/firstdataspace.DBF' 
size 30m autoextend on next 10m maxsize 300m

解释:1,表空间名:firstdataspace  与datafile 名 ,可以不一样。
      2,创建的表空间初始大小为30m,当达到30m时,自动扩展10m,整个表空间最大为300m
      3,删除表空间(drop tablespace firstdataspace)
      4, 修改表空间大小:alter database datafile 'f:db/firstdataspace.DBF' resize 100m


2,创建用户

     create user ouyang
    identified by admin
    default tablespace firstdataspace

    删除用户:drop user ouyang


3 , 授权

grant connect,resource to ouyang
 
撤销权限:revoke connect from ouyang
--conntect:可以登录
--resource:可以对表空间进行资源管理
--dba:成为系统管理员

scott用户
      测试数据库的用户,安装oracle数据库时就创建了,有4张表,部门和员工表有数据,工资等级和bonus红利表没有数据。

system用户
       由system用户:建立表空间和删除表空间,建立用户和删除用户,授予权限和撤销权限

最基本的操作

1,修改密码:alter user scott identified by admin

2, 增加一个字段:alter table emp add phone varchar2(100)

3, 删除字段:alter table emp drop column phone 

4, 修改字段的数据类型:alter table emp modify hiredate  date

5, 增加一个检查约束:alter table emp add constraint CK_salary check(salary>0)

6, 添加一个外键关系:alter table emp add constraint FK_emp_empid foreign key (deptid) references dept(deptid) 

7,oracle中的(排序)分页:select rownum,ee.* from (select rownum r,e.* from (select * from emp order by salary desc)e)ee where ee.r>3 and ee.r<=6  

8, 层级关系的查询:select * from emp start with empno = 7788 conntect by  prior mgr = empno

9,创建序列的模板(下面设置的全是默认值)
     create sequence xxx
     start with 1
     increment by 1
     nomaxvalue
     nocycle
     cache 20
序列有局限,因为序列只能用于数值型的主键列;如果想生成字符串的主键,则序列不满足,只有用GUID,




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值