新手Oracle学习笔记

创建表空间和表

概念: 数据表空间 (Tablespace) :存放数据总是需要空间, Oracle把一个数据库按功能划分若干空间来保存数据。当然数据存放在磁盘最终是以文件形式,所以一盘一个数据表空间包含一个以上的物理文件
数据表:在仓库,我们可能有多间房子,每个房子又有多个货架,每架又有多层。 我们在数据库中存放数据,最终是数据表的单元来存储与管理的。
数据文件:以上几个概念都是逻辑上的, 而数据文件则是物理上的。就是说,数据文件是真正“看得着的东西”,它在磁盘上以一个真实的文件体现

1、创建表空间:

格式:create tablespace 表间名 datafile ‘数据文件名’ size 表空间大小
例: create tablespace data_test datafile ‘F:\Oracle\test\data.dbf’ size 2000M; (文件名为绝对路径)

2、创建用户

格式: create user 用户名 identified by 密码 default tablespace 表空间表;
create user xyt identified by eaten default tablespace data_test;
(用户名为 xyt,密码为 eaten, 缺省表空间为 data_test)
(缺省表空间表示 用户xyt今后的数据如果没有专门指出,其数据就保存在 data_test中, 也就是保存在对应的物理文件 F:\Oracle\test\data.dbf中)

3、表空间与临时表空间

表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表, 所以称作表空间。Oracle临时表空间主要用来做查询和存放一些缓冲区数据。临时表空间,可自动释放;而表空间中存储表数据、函数、过程、序列等。是随数据库永久存在的。
表空间:
CREATE USER lll IDENTIFIED BY 123456 PROFILE DEFAULT DEFAULT TABLESPACE lllspace ACCOUNT UNLOCK;
临时表空间:
CREATE USER kkk IDENTIFIED BY 654321 DEFAULT TABLESPACE kkkspace TEMPORY TABLESPACE kkk_temp;

4、授权给新用户

grant connect,resource to xyt;
–表示把 connect,resource权限授予xyt用户
grant dba to xyt;
–表示把 dba权限授予给 xyt
例:grant create session,create table,create view,create sequence,unlimited tablespace to xyt;

5、创建数据表

进入xyt用户
sqlplusw xyt/eaten 然后在用户xyt中创建数据表
格式: create table 数据表名

oracle数据类型及含义:

类型含义
CHAR(length)存储固定长度的字符串。参数length指定了长度,如果存储的字符串长度小于length,用空格填充。默认长度是1,最长不超过2000字节。
VARCHAR2(length)存储可变长度的字符串。length指定了该字符串的最大长度。默认长度是1,最长不超过4000字符。
NUMBER(p,s)既可以存储浮点数,也可以存储整数,p表示数字的最大位数(如果是小数包括整数部分和小数部分和小数点,p默认是38为),s是指小数位数。可存负数
DATE存储日期和时间,存储纪元、4位年、月、日、时、分、秒,存储时间从公元前4712年1月1日到公元后4712年12月31日。
TIMESTAMP不但存储日期的年月日,时分秒,以及秒后6位,同时包含时区。
CLOB存储大的文本,比如存储非结构化的XML文档
BLOB存储二进制对象,如图形、视频、声音等。

创建表时给字段加默认值和约束条件:
建表时加默认值: 字段 DEFAULT 值
例:is_pass NUMBER(1) default 1 --是否及格

建表时加约束条件
例: 非空 NOT NULL,不允许重复 UNIQUE,关键字 PRIMARY KEY,按条件检查 CHECK (条件), 外键 REFERENCES 表名(字段名)

6、创建约束

ALTER TABLE 表名 ADD CONSTRAINT 约束
例:ALTER TABLE student ADD CONSTRAINT pk_student PRIMARY KEY(id); //主键约束
ALTER TABLE student ADD CONSTRAINT ck_student_gender CHECK(gender=‘男’ or gender=‘女’); //check约束
ALTER TABLE student ADD CONSTRAINT ck_student_age CHECK(age<=100 and age>=0); //check约束

7、同义词

概念: Oracle数据库中提供了同义词管理的功能。同义词是数据库方案对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。在使用同义词时,Oracle数据库将它翻译成对应方案对象的名字。与视图类似,同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义。在Oracle数据库中的大部分数据库对象,如表、视图、同义词、序列、存储过程、包等等,数据库管理员都可以根据实际情况为他们定义同义词。
分类: Oracle同义词有两种类型,分别是公用Oracle同义词与私有Oracle同义词。
1)公用Oracle同义词:由一个特殊的用户组Public所拥有。顾名思义,数据库中所有的用户都可以使用公用同义词。公用同义词往往用来标示一些比较普通的数据库对象,这些对象往往大家都需要引用。
2)私有Oracle同义词:它是跟公用同义词所对应,他是由创建他的用户所有。当然,这个同义词的创建者,可以通过授权控制其他用户是否有权使用属于自己的私有同义词。
常见用法:(理解与使用的重点) 当需要频繁使用其他人创建的表时,如果没有同义词的话,必须使用user.table的形式,此时创建一个同义词就会特别方便。
创建与删除:
私有同义词创建:
CREATE SYNONYM d_sum FOR dept_sum_vu;
公有同义词创建:
CREATE PUBLIC SYNONYM s_dept FOR alice.s_dept;
删除:
DROP [PUBLIC] SYNONYM d_sum/s_dept;

8、扩展表空间(可能能解决no space left on device的问题)

1.查看表空间的名字和所属文件
select tablespace_name, file_id, file_name,round(bytes/(10241024),0) total_space from dba_data_files order by tablespace_name;
round(bytes/(1024
1024),0) :将B换成MB,round是四舍五入,0是保留0位小数

2.增加数据文件
ALTER TABLESPACE game ADD DATAFILE ‘/oracle/oradata/db/GAME02.dbf’ SIZE 1000M;

3.手动增加数据文件尺寸
ALTER DATABASE DATAFILE ‘/oracle/oradata/db/GAME.dbf’ RESIZE 4000M;

4.设定数据文件自动扩展
ALTER DATABASE DATAFILE ‘/oracle/oradata/db/GAME.dbf’ AUTOEXTEND ON NEXT 100M MAXSIZE 10000M;

5.设定后查看表空间信息
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,(B.BYTES100)/A.BYTES “% USED”,(C.BYTES100)/A.BYTES “% FREE” FROM SYS.SM T S A V A I L A , S Y S . S M TS_AVAIL A,SYS.SM TSAVAILA,SYS.SMTS_USED B,SYS.SM$TS_FREE C WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE

其他部分基本类似mysql,此处略。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值