1、表空间
概述:
1.数据库中最大的逻辑单位。
2.表空间由一个或者多个数据文件组成。
3.表空间的大小等于构成表空间的所有数据大小之和。
分类:
SYSTEM : 系统表空间
SYSAUX :SYSTEM辅助表空间
TEMP :临时表空间
UNDOTBS1:撤销表空间(用户DML操作后,修改前的数据)
USERS : 系统默认永久表空间
创建表空间:
语法: create tablespace 表空间名
datafile ' 表空间路径地址 '
size (数据大小,如:500M、1G等) (表空间的初始大小)
autoextend on next (数据大小) (自动扩展大小)
maxsize / maxsize unlimited ; (是/否限制最大值)
修改表空间语法:
alter database
datefile ' 表空间路径地址 '
on next room maxsize (数据大小);
修改原有数据文件的大小语法:
alter database
datafile ' 表空间路径地址 '
resize 数据大小;
为表空间创建新的数据文件语法:
alter tablespace 表空间名
add datefile 数据文件
size 数据大小;
创建临时表空间:
语法:
create remporary 表空间名
tempfile ' 表空间路径 '
size 大小
autoextend on next 大小
maxsize unlimited;
创建用户:
create user 用户名
default tablespace '路径'--默认表空间
temporary tablespace '路径'--临时表空间
identified by 密码;
修改用户:
alter user 用户名
default tablespace '路径'(同上)
temporary tablespace '路径'(同上)
identified by 密码;
权限:
系统权:
grant create session to 表空间名; 允许连接数据库。
grant create table to 表空间名 ; 允许建立表;
ugrant unlimited tablespace to 表空间名; 允许任意使用表空间
对象权限如:
GRANT SELECT ON SCOTT.EMP TO test1; --允许用户查询 EMP 表的记录
GRANT UPDATE ON SCOTT.EMP TO test1; --允许用户更新 EMP 表中的记录
GRANT ALL ON SCOTT.EMP TO test1; --允许用户插入、删除、更新和查询 EMP 表中的记录
删除用户:
drop user 用户名;
删除表空间 :
drop tablespace 表空间名;
数据类型:
数值类型:
number(l,s) ; l表示长度; s表示精度;
字符串类型:
varchar2(l) ; l 表示长度,最长4000字节。 变长字符串类型。(常用)
char (l) ; l 表示长度。 定长字符串类型。
日期类型:
date: 存放世纪、纪元、年月日时分秒。
timestamp: 时间戳 。存放上述后九位。
CLOB/BLOB :
CLOB:存储大文本文件的数据类型;
BLOB:二进制文本存储类型;
LONG: 存储长字符串,最大2G的字符串(oracle中不建议使用);
建表语法:
create table 表名(
列名 数据类型 约束 默认值,
............
);
约束 :
1.not null : 非空约束
2.unique : 唯一约束
3.primary key : 主键约束
4.foreign key : 外键约束
5.check : 检查约束
6.default : 默认赋值
修改表和约束:
1.给表添加一个列
alter table 表名 add 列名 数据类型 (约束) (default 默认值);
2.删除表中的一个列
alter table 表名 drop column 列名 ;
3. 修改一个列
alter table 表名 modify 修改的列名 数据类型 ;
4.增加一个约束
alter table 表名 add 表级约束语法;
alter table 表名 add constraint 约束名 unique(列名);
alter table 表名 add constraint 约束名 primary key (列名);
alter table 表名 add constraint 约束名 foreign key (外键列) references 主表名;
alter table 表名 add constraint 约束名 check(约束条件);
5.删除一个约束
alter table 表名 drop constraint 约束名;
注:
comment 注释关键字
comment on table 表名 is ' 注释';