Oracle深入学习

时间:2022-09-19 18:47:15

一、甲骨文公司介绍

甲骨文公司,是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989年正式进入中国市场。

2013年,甲骨文已超越 IBM ,成为继 Microsoft 后全球第二大软件公司

二、用户与表空间管理

1、表空间管理

---1.创建用户临时表空间

create temporary  tablespace user_temp

  tempfile 'C:\DATE\USER_TEMP_0001.DBF' size 1024m

  extent management local;

--2.创建用户数据表空间

create tablespace user_date_default

  logging datafile 'C:\DATA\user_data_default_001.dbf'

  size 1024m

  reuse

  extent menagement local

  segment space management auto;

--3.创建用户(每个项目,都创建独立用户)

create user oa identified by 123456

  default tablespzce user_date_default

  temporary tablespace user_temp;

2、表空间授权

--授权

--最低权限

grant connect,resource to oa;

--最高权限

grant connect,resource,dba to oa;

--删除表空间(级联删除,把此用户有的东西都删除)

drop user oa cascade;

--删除临时表空间

drop tablespace user_temp

including contents and datafiles;

--删除表空间

drop tablespace user_data_default

including contents and datafiles;

--查看表空间大小

1)select tablespace_name,bytes/1024/1024

  from dba_data_files;

2)select

  tablespace_name,

  sum(bytes/1024/1024)

  from dba_data_files

  group by tablespace_name;

--对表空间进行增加数据库扩大的容量

alter tablespace oa_data

  add datafile 'C:\DATA\OA_DATA_002.DBF'

  size 100m

  autoextend on next 5m maxsize 1024m;

三、SQL分类、数据类型

1、SQL分类

1.DDL数据定义语句(create,alter,drop)

create table aaa(

  t1 varchar2(10)

)

2.DML操纵语句(insert,update,delete)

insert into aaa values('123');

insert into aaa(tt1) values('123');

--插入多条数据

insert all

  into aaa values('456')

  into aaa values('789')

  into aaa values('369')

select 1 from dual;

commit

select * from aaa

--数据的物理地址(rowid)

select  rowid,rownum,tt1 from aaa;

delete from aaa where ROWID = 'AAA***AAIAAACiVAAB'

--修改数据信息

update aaa set tt1='aaaaa'

2、Oracle数据类型

--char类型(固定长度类型)

--数据不足长度,会填空格

create table test1(

  a char(6)

)

insert into test1(a) values('123')

--varchar2类型(不固定类型,少于4000)

create table test2(

  a varchar2(10)

)

insert into test2(a) values('12345');

--number实数类型(默认38位)

create table test3(

  a number

)

create into test3(

  a number(100)

)

--加入日期数据

insert into test6 values(

  to_date('2019-03-03 10:10:10','yyyy-mm-dd hh24:mi:ss')

)

四、序列

create sequence myseq

select myseq.nextval from dual

select myseq.currval from dual

insert into test(id,username) values(myseq.nextval,'小茗')

五、左关联(一对一)

CREATEE TABLE idcard(

  idcard_num CAHR(18) PRIMARY KEY,

  name VARCHAR2(20),

  address VARCHAR2(20)

  minzu VARCAHR2(20)

)

CREATE TABLE stu(

  sno VARCAHR2(10) PRIMARY KEY,

  name VARCHAR2(20),

  idcard_num CHAR(18)

)

INSERT INTO idcard(idcard_num,name,address,minzu)

VALUES