初学orcale(一)
Oracle数据库学习:
01.数据库简介:
(1)文件型数据库:
Access Office组件:
Foxpro
(2)NoSql数据库(泛指非关系型数据库):
NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。
Mencache
MongoDB
Redis
(3)关系型数据库:
SqlServer
MySql
Oracle
Oracle是什么?
解析:Oracle是一款关系型(二维表)数据库,可以用来存储海量数据,在大数据并发的情况下,性能要高于其他的同类数据库产品,一般运行环境是Linux和Unix操作系统。
数据库系统和数据管理系统的区别?
数据库系统=数据库的管理系统+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.服务器开启顺序
先监听,再数据库服务
@echonet start OracleOraDb11g_home1TNSListenernet 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)tempwhere 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)tempwhere rn>2
(从高到底)