一、SQL
-
结构化查询语言
-
作用:管理关系型数据库
-
分类:
-
DDL(Data Definition Language):数据定义语言
-
DML(Data Manipulation Language):数据操纵语言
-
DQL(Data Query Language):数据查询语言
-
TCL(Transaction Control Language):事物控制语言
-
DCL (Data Control Language):数据控制语言
-
二、DDL(数据定义语言)
-
关键词:create(创建),alter(修改),drop(销毁)
-
表空间
-
定义:表空间是存储数据的地方,存储数据库对象的地方,在磁盘上对应有数据文件
-
Oracle中默认有一个系统表空间和临时表空间,如果创建用户不指定用户的表空间,则默认把用户创建在系统表空间,系统表空间类似于windows的C盘,如果把所有软件安装在C盘是不合理的,Oracle中把用户分配在系统表空间也是不合理的,最理想的是一个用户一个表空间,在删除用户时可以删除表空间,这样管理比较好。
-
表空间是虚拟的,可以无限大,数据文件是存储信息的载体
-
临时表空间:数据库操作时临时使用,如排序,去重复,统计等大数据时使用,小规模可以在内存中完成
-
操作:
-
分配用户的创建表空间的权限
grant create tablespace to user_test;
-
创建表空间
create tablespace sp1 datafile 'sp1.dbf' size 1m;
-
表空间的位置
D:app96093product11.2.0dbhome_1database
-
分配表空间扩容权限
grant alter database to user_test;
-
修改表空间大小
alter database datafile 'sp1.dbf' resize 2m;
-
分配删除表空间权限
grant drop tablespace to user_test;
-
删除表空间
drop tablespace sp1 including contents and datafiles;
-
表空间要与物理文件关联,但是表空间是一个逻辑概念,删除它时,不会主动删除关联的文件。
-
不要轻易手动删除数据文件,可能会导致数据库报错,不能正常服务。
-
-
增加数据文件权限
grant alter tablespace to user_test;
-
增加数据文件
alter tablespace sp1 add datafile 'sp1_2.dbf' size 1m;
-
表空间是逻辑存在的,可以挂多个数据文件
-
-
授予管理员权限
grant dba to user_test;
-
创建临时表空间
create temporary tablespace tsp1 tempfile 'tsp1.dbf' size 2m;
-
删除临时表空间
drop tablespace tsp1 including contents and datafiles;
-
创建用户时指定表空间和临时表空间
create user user_test identified by user_test default tablespace sp1 temporary tablespace tsp1;
-
-
-
表
-
数据类型
number:数字类型;integer:整数;char:定长字符串;
varchar:变长字符串,最大4000;date:日期类型;
TIMESTAMP:时间戳;blob:二进制数据;
clob:放大量的字符数据;bfile:二进制文件;-
number:可以指定精度,number(5,2):总共5位数,整数位不能超过3位,小数位不能超过2位
-
如果p1和p2都是正数,那么整数长度是p1-p2,数字总长是p1
-
如果p1是正数,p2是负数,那么整数长度是p1-p2,也就是说没有小数部分,并且整数的后p2长度的数字变为零。
-
number(5,2),总长是5,整数是5-2
-
number(5,-2),总长是5-(-2)=7,并且后两位变为零
-
-
-
三、作业
-
sysdba账号下新建表空间sp_test,作为数据表空间
-
sysdba账号下新建临时表空间tsp_test
-
drop user user_test;
-
新建用户user_test并指定它的数据表空间和临时表空间
-
删除用户user_test
-
删除sp_test,tsp_test