打赏

Oracle入门基础(1)

1.数据库系统和数据管理系统的区别?

数据库系统=数据库的管理系统+oper操作员+硬件

2.Oracle的版本

  8i /9i   10g/11g   12c(cloud)

3.Oracle主要组件

4.实例和数据库的关系

实例:数据库服务启动后,在内存中的单元。

数据库:硬盘上的文件,物理介质硬盘

5.数据库的核心部件

PGA:

SGA:

         DBWR(数据的读取和写入)

          LGWR(日志文件的读取和写入)

          SMON(清理临时表空间)

          PMON(异常中断之后的清理,处理和释放资源)

          CKPT(检查点,保证数据库的一致性,这是指将脏数据写入到硬盘,保证内存和硬盘上的数据是一样的)

6.监听文件的位置

app--->Happy(用户名)----》product-----》NETWORK------》  ADMIN----->listener.ora

 

7.服务器开启顺序

  先监听,再数据库服务

@echo
net start OracleOraDb11g_home1TNSListener
net start OracleServiceORCL
@pause

 

8.数据库用户

     sys:超级管理员   管理普通的管理员和普通用户

     System:普通管理员

     scott:要解锁,才能使用

在第一种情况下,以system账户+自己安装时设置的密码,登录SQL Plus,

然后使用命令“alter user scott account unlock;”来解锁。

解完以后,使用下面的命令来查看:"select username,account_status from dba_users;",

可以看到scott账户已经解锁,但是状态还是“expired”(密码过期)的意思。

没关系,再输入这样的命令“alter user scott identified by tiger;”,就给其赋了一个新的口令。

退出,以scott/tiger登录即可。

  在第二种情况下,使用Windows的控制台(程序|运行,输入cmd打开)。在命令行下,输入sqlplus/nolog,回车,出现SQL>命令提示符,然后按下面的顺序输入命令:

     SQL>conn/as sysdba
     SQL>alter user scott account unlock;
     SQL>disconnect
     SQL>conn scott/tiger@oral;
      这时会提示密码已经过期,请输入新的口令。然后输入两次新定义的口令分别回车确认即为scott账户赋予了新的口令。打开SQL Plus,再以scott账户就可以登录了。

9.数据类型

  字符串:  Nvarchar2

  数字:number

  日期和时间:  Date

 大二进制类型: BLOB

 大文本类型:CLOB类似于SQL Server中的Test或者是nvarchar(max)

 

10.Oracle中是根据用户隔离表的

     默认情况下,当前登录的用户只能看到自己创建的表

11.创建一个用户给它授权,建立一个表

--创建一个用户
create user happy2165 identified by happy2165

--权限
--身份:新员工  100
grant connect to happy2165
grant RESOURCE to happy2165

--建立一张数据表
create table userinfo
(id number primary key not null)

 

12.如何查看该用户管理者的所有表?

select * from all_tables where owner='HAPPYY2165'

13.伪列 rowid rownum

select id,rowid,rownum from userinfo
commit

14.如何查询userinfo表中自然顺序的第3条记录?

select *
from(

select id,rownum rn from userinfo
)temp
where rn=3

 

 

15.


--获取前n条数据的案例
--问题:获取教师表中的薪水排名第 3的教师信息?
select *
from(

select temp.*, rownum rn from(select ename,sal from userinfo order by sal desc)temp
where rownum<3

)
where rn>=2

select * from
(select userinfo.*,rownum rn from userinfo
)temp
where rn>2

(从高到底)

 

posted @ 2017-09-12 20:47  ♀流氓  阅读(147)  评论(0编辑  收藏  举报
返回頂部