ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

oracle数据管理

2021-06-06 14:02:41  阅读:209  来源: 互联网

标签:-- 数据管理 stuinfo 表名 oracle table alter 字段名


--tablespace表空间 就是保存数据内容的文件而已
--创建表空间 -- create tablespace 表空间名字
--创建表空间文件的位置 -- datafile '盘符路径/文件名.dbf'
--初始大小10mb  -- size 大小m单位 
--打开自动增长(当数据超过10mb允许数据库增加表空间的大小) -- autoextend on
--当空间不足时增加多少 -- next 大小m单位
--最大大小100mb -- maxsize 大小m单位
create tablespace huarui 
datafile 'G:\Workspace\Oracle\huarui.dbf'
size 32m
autoextend on
next 10m
maxsize 500m;

--删除表空间 drop tablespace 表空间名 including contents and datafiles 
--包含删除所有表空间中的内容和数据文件 including contents and datafiles 
--drop tablespace huarui including contents and datafiles;


--创建用户默认此表空间 
--创建用户 -- create user 用户名 identified by 密码
--指定用户保存在哪一个表空间 -- default tablespace  表空间名称
create user hrit identified by ccat
default tablespace huarui;

--授权 连接和数据文件访问权限 grant connect/resource/dba
grant dba to hrit;

--commit提交 DDL,DCL自动提交

--可以查看其它用户的表信息
select * from scott.emp;

--创建stuinfo表   
--学号number、
--姓名varchar2(长度)、
--性别varchar2(长度)、
--生日date  -- create table
create table stuinfo(
       id number,
             name varchar2(20),
             sex varchar2(4),
             birthday date
             -- cid number 外键
)

--添加年龄,地址列
--修改 表 表名 增加列 (字段名 字段类型) 
--alter table 表名 add ( 字段名 字段类型 )
alter table stuinfo add(age number);

--修改 表 表名 修改列 (字段名 字段类型) 
--alter table 表名 modify ( 字段名 字段类型 )
alter table stuinfo modify(sex varchar2(6));

--删除一列 请不要太随意,一旦定义好数据的字段,不能轻易删除
--alter table 表名 drop column 字段名;
--alter table stuinfo drop column age;

--添加约束 constraint 约束 
--alter table 表名 add constraint 约束名  约束类型 (字段名)
--主键 primary key(字段名);
--唯一 unique(字段名);
--外键foreign key

--约束名 : 保存的一个名字  pk/uq/fk_表名_字段名
alter table stuinfo add constraint pk_stuinfo_id primary key(id);
alter table stuinfo add constraint uq_stuinfo_name unique(name);

--修改约束 constraint 约束 
--1非空约束 not null
--修改 表 表名  修改 列名
-- alter table 表名 modify 列名 约束类型;

-- Drop primary, unique and foreign key constraints 
-- 删除 约束 drop constraint
-- 主键primary 唯一unique 外键 foregin key
-- alter table 表名 drop constraint 约束名称 cascade关联;

--2默认值 default 
-- alter table 表名 modify 字段名 default '值';
-- 注册,如果不填默认为男,并且不能修改
alter table stuinfo modify sex default '男';

--stuinfo插入数据
--添加三条测试数据
--sysdate当前系统时间
--to_date('字符串日期','日期格式')  
--字符串日期 yyyy-mm-dd
--取默认值default

--提交commit
--没有提交的话,该界面可以查到,但是其他程序无法正确查询
--DML语句是需要提交commit
insert into stuinfo values(1,'jack','男',to_date('1999-1-5','yyyy-mm-dd'),18);
insert into stuinfo values(2,'rose','女',to_date('2002-10-1','yyyy-mm-dd'),16);
insert into stuinfo values(3,'tom',default,sysdate,20);
-- 手动提交数据 F10,点击提交按钮
commit;

select * from stuinfo;

--3.检查约束 性别只能是男或者是女 CK_列名 check 
--年龄在15-35之间 -- check(字段名>=15 and 字段名<=35);
alter table stuinfo modify age check(age>=15 and age<=35);

--4.在学生表中添加班级编号
--添加一个新字段 cid number类型 在stuinfo 
--作为stuinfo该表的一个外键cid
alter table stuinfo add (cid number);

-- 创建班级信息表 classinfo 字段 cid 主键  cname班级名称
create table classinfo (
       cid number primary key,
             cname varchar2(20)
)

--oracle12c以下的版本都没有自增,序列实现自增

--5外键 FK_列名  先给学生表添加班级编号列
--添加外键约束  被引用的列必须是主键
--alter table 主表的名称 add constraint 约束名称 -- 添加表的约束
--foreign key (字段名) --创建外键
--references 引用的表名 (主键字段名)  -- 引用哪一张的表主键
alter table stuinfo add constraint fk_stuinfo_cid
foreign key(cid)
references classinfo(cid);

--限制数据,保证数据的完整性,一致性
insert into classinfo values(1,'java01');
select * from classinfo;
select * from stuinfo;
insert into stuinfo values(4,'张学友','男',to_date('1960-3-5','yyyy-mm-dd'),35,1);

--复制表
--create table 表名 as 表查询语句
--1.创建表 create table 表名
--2.来源于 as
--3.查询表 select * from 表名
create table temp_stu 
as
select * from stuinfo;

--往复制表中插入两条数据
--正常的表插入

--将复制表修改成classinfo2
--重命名 rename 旧表名 to 新表名;
rename temp_stu to new_stu;

--提交事务
--设置保存点
--查询数据 --select * from 表名;
--savepoint 保存点名字1;
--删除数据 --delete from 表名 where 条件查询;
--savepoint 保存点名字2;
--插入数据 --insert into 表名 values(字段,...)
--savepoint 保存点名字3

--回滚到保存点
--rollback to 保存点名字
--commit提交;

select * from stuinfo;
savepoint s1; --游戏存档
delete from stuinfo where id=1;
savepoint s2; --游戏存档
insert into stuinfo values(5,'郭富城','男',to_date('1962-2-5','yyyy-mm-dd'),30,1);
savepoint s3; --游戏存档
       
rollback to s1;
commit;

标签:--,数据管理,stuinfo,表名,oracle,table,alter,字段名
来源: https://blog.csdn.net/m0_49151953/article/details/117625492

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有