--Oracle的操作步骤
--一、基本操作
--1.创建表空间 2.创建用户 3.为用户分配表空间
--4.对用户进行授权 5.进行基本操作,例如:创建表,创建视图等等

--每一步具体的操作
--1.创建表空间
-- create tablespace tablespace_name datafile '你想要将表空间存放到的路径' size 50M //size 50M是你自定义表空间的大小

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

--2和3.创建用户并为用户分配表空间
-- create user username identified by 你的密码 default tablespace tablespace_name;
--4.给用户授权
-- grant (权限名/想要授予用户某个角色的所有权限) to username;
-- *如果想要单个权限授权,记得授权 session 不然无法连接到你创建的用户//grant create session to username;
-- 例如:grant create table to username;//这样只授权给用户创建表的权限。
-- 若想要一次性授权完毕//grant dba to username;
--接下来你就可以进行创建表等操作了;


--二、创建表的过程中注意的事情
--1.约束:主键约束(primary key),非空约束(not null),外键约束(foreign key),唯一约束(unique),检查约束(check);
--外键创建:alter table table_name add constraint FK_NAME(自己随便起) foreign key(外键列名) references 源表(被引用的列);

--唯一约束创建:alter table table_name add constraint UNIQUE_NAME(自己随便起) unique(想要约束的列);

--主键约束(可以单独创建,也可以直接在创建表的时候声明)
-- alter table table_name add constraint PK_NAME(自己随便起) primary key(主键列名);

--检查约束:alter table table_name add constraint CHK_NAME(自己随便起) check(想要约束的列名 in('约束条件','约束条件'));
--例如: alter table table_name add constraint CHK_NAME check(SEX in('男','女'));

 

--删除约束
--alter table table_name drop constraint 外键名;


--三、新增,更新,删除

-----1.新增
-----create table table_name as select * from 源表//根据结果集创建表
-----insert into table_name('列名','列名','列名') values('','','');


-----2.更新
-----update table_name set 列名 = 值,列名 = 值 where 条件语句;

-----3.删除
-----Deleete from table_name where 条件
-----Truncate table table_name 消除表中所有数据,不能恢复,但是可以通过日志文件恢复

----------------------------------------------------------------------------------------------------------
-------创建表的例子
create table sporter(
sporterid varchar2(20) primary key,
name varchar2(20) not null,
gender char(4) check(gender in ('男','女')),
department char(20) not null);

 

 

create table item(
itemid char(20) primary key,
itemname varchar2(20),
location varchar2(20));

 

 

create table grade(
sporterid,
itemid,
mark int check(mark in(6,4,2,0,null)),
constraint pk_grade primary key(sporterid,itemid),
foreign key(sporterid) references sporter (sporterid),
foreign key(itemid) references item(itemid));

 


insert into sporter (sporterid ,name ,gender ,department )values('1001','李明','男','计算机系');
insert into sporter (sporterid ,name ,gender ,department )values('1002','张三','男','数学系');
insert into sporter (sporterid ,name ,gender ,department )values('1003','李四','男','计算机系');
insert into sporter (sporterid ,name ,gender ,department )values('1004','王二','男','物理系');
insert into sporter (sporterid ,name ,gender ,department )values('1005','李娜','女','心理系');
insert into sporter (sporterid ,name ,gender ,department )values('1006','孙丽','女','新闻系');

 


insert into item(itemid ,itemname ,location )values('x001','男子五千米','一操场');

insert into item(itemid ,itemname ,location )values('x002','男子标枪','一操场');

insert into item(itemid ,itemname ,location )values('x003','女子跳高','二操场');

insert into item(itemid ,itemname ,location )values('x004','女子三千米','二操场');

 


insert into grade(sporterid,itemid ,mark )values('1001','x001',6);
insert into grade(sporterid,itemid ,mark )values('1002','x001',4);
insert into grade(sporterid,itemid ,mark )values('1003','x001',2);
insert into grade(sporterid,itemid ,mark )values('1004','x001',0);
insert into grade(sporterid,itemid ,mark )values('1001','x003',4);
insert into grade(sporterid,itemid ,mark )values('1002','x003',6);
insert into grade(sporterid,itemid ,mark )values('1004','x003',2);
insert into grade(sporterid,itemid ,mark )values('1005','x004',6);
insert into grade(sporterid,itemid ,mark )values('1006','x004',4);

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄