SQL语言分类
1;DQL 数据查询语音,对数据库中的数据进行检索操作 select
2;DML 数据操纵语言,对数据库中的表中的数据进行增删改 (insert 添加 ) update 修改 delete 删除 merge into 合并修改
3;DDL 数据定义语言,数据库中的对象进行一些创建,修改,删除等等操作,create 创建 alter 修改 drop 删除 truncate 清空表中的数据
4;TCL 事务控制语言,对数据库中的事务进行管理操作 commit 提交事务 rollback 撤回 save point 保存点
5; DCL 数据控制语言,操纵数据库中的权限 grant 授权 revoke 回收权限
Oracle数据库中的对象----表空间 tablespace
一个表空间中必须有一个数据文件,但是一个数据文件只能属于一个表空间
作用:1,控制用户所占用的资源
2,灵活的使用表空间可以提高程序的性能
3,将日志数据和业务数据保存到不同的表空间可以提高数据的安全性
查询表空间的数据字典: dba_data_files
select * from dba_data_files; 注意,所有的dba-开头的数据字典都必须以管理员的身份执行
一般默认有6个表空间
SYSTEM: 系统表空间,保存数据库中一些数据字典等信息,以及管理员的数据库对象
SYSAUX:系统辅助表空间,是在Oracle10g中新添加的一个表空间,缓解系统表空间的压力
USERS: 用户表空间,保存一些普通用户所创建的一些数据对象,
UNDO:撤销表空间,保存一些删除或者修改的旧数据,可以回滚
EXAMPLE: 样例表空间,保存一些样例数据
TEMP: 临时表空间,保存一些临时数据
自定义表空间:
1.创建表空间语法:
create [smallfile|bigfile] tablespace 表空间名 datafile '数据文件的地址和名称' size 大小 [reuse]
[autoextend on|off next 扩展大小]
[maxsize 最大上限|unlimited]
smallfile:小文件表空间,在创建表空间的时候省略不写,默认为小文件表空间
特点:小文件表空间中允许又多个数据文件存在,但是每一个数据文件的最大大小为32G,表空间中最多只能存在1024个数据文件。
也就是总共可以保存32T数据
bigfile:大文件表空间,在创建的时候需要设置bigfile.
特点:大文件表空间中只能又一个数据文件,该数据文件的上限大小为32T。
reuse:如果设置了该选项,则如果数据文件已经存在,则会先删除然后重新创建,如果不设置该选项,如果数据文件存在则报错。
size:设置数据文件的初始大小,单位:m g 。。。
autoextend:设置自动扩展,on开启,off关闭,如果开启自动扩展,则需要设置next来指定每次扩展的大小。
maxsize:设置数据文件的上限,如果设置为unlimited则代表无限制。
创建表空间:
创建一个表空间,名称为tbs_001,数据文件:D:\dbf\tbs_001.dbf 初始大小为:10m 可扩展,扩展大小2m,最大限制30m
create tablespace tbs_001 datafile 'D:\dbf\tbs_001.dbf' size 10m reuse autoextend on next 2m maxsize 30m;
创建一个大文件表空间,名称为big_tbs_001,数据文件:D:\dbf\big_tbs_001.dbf 初始大小为:10m 可扩展,扩展大小2m,最无限制
create bigfile tablespace big_tbs_001 datafile 'D:\dbf\big_tbs_001.dbf' size 10m reuse autoextend on next 2m maxsize unlimited;
查看表空间的创建语句:在命令窗口执行
select dbms_metadata.get_ddl('TABLESAPCE','表空间名') from dual;
select dbms_metadata.get_ddl('TABLESAPCE','TBS_001') from dual;
2.数据库表空间的维护
1.修改表空间中数据文件的大小
修改小文件表空间:
alter database datafile '修改数据文件名称' resize 大小.
alter database datafile 'D:\dbf\tbs_001.dbf' resize 20m;
大文件表空间修改:
alter tablespace 表空间名 resize 大小
alter tablespace big_tbs_001 resize 20m
2.添加数据文件:
注意:只有小文件才可以添加数据文件
alter tablespace 表空间名 add datafile '数据文件的路径名' size 大小.....
alter tablespace tbs_001 add datafile 'D:\dbf\tbs_002.dbf' size 5m;
3.删除数据文件:
注意:1.只有小文件才能删除数据文件
2.删除数据文件不允许删除第一个数据文件(在创建表空间的时候指定的数据文件)。
alter tablespace 空间名 drop datafile '数据文件的路径名'
alter tablespace tbs_001 drop datafile 'D:\dbf\tbs_002.dbf'
3.删除表空间:
drop tablespace 表空间名 [including content] [cascade constraints]
including content:如果表空间中又数据则直接删除会报错,则需要指定该选项来删除。
cascade constraints:用来设置是否要将和该表空间关联的约束一起级联删除。
drop tablespace tbs_001;
注意:1.删除表空间的时候默认不会删除数据文件,需要手动来删除数据文件。
2.不能手动删除数据文件,然后再来删除表空间,会导致数据库初始化失败。