手机版
你好,游客 登录 注册
背景:
阅读新闻

Oracle数据库之四大语言

[日期:2019-07-29] 来源:Linux社区  作者:21-forever [字体: ]

一、数据定义语言:

1、用于改变数据库结构,包括创建、更改和删除数据库对象;

2、命令:

create table :创建

alter table 修改

drop table 删除表

truncate table 删除表数据(不可以回滚)

2、创建表:

 

-- 创建表
create table sclass(
      cid int primary key,
      cname varchar(10)
)


create table Java (

      ssid int primary key, -- 主键约束
 
      sname varchar2(20) unique, -- 唯一约束
 
      ssex  char(5) check(ssex in ('男','女')),--检查约束,检查输入的是否是男或者女
 
      sbirth date not null, -- 非空约束

      saddress varchar2(50) default '淄博',-- 默认值约束
     
      --score double check(score between 0 and 100), -- 检查约束的范围写法
     
      cid int,
     
      constraint fk_student_class foreign key(cid) references sclass(cid) --设置外键
)

 

 3、修改表结构:

alter 表名 add/modify/drop(增加/修改/删除)列名 类型名/约束

4、截断:

truncate table 表名;

--  将表中的所有记录全部删除,但保留表结构,并且不写日志;

-- truncate 是DDL语言,

  delete from 表名 是DML语言;

5、删除表:drop

6、数据完整性:

可靠性 + 准确性 = 数据完整性

根据数据完整性机制所作用的数据库对象和范围的不同,数据完整性可分为以下四种类型:

①、实体完整性:唯一约束、主键约束;

②、域完整性:限制数据类型、检查约束、默认值、非空约束;

③、参照完整性(引用完整性):外键约束;

④、自定义完整性:规则、存储过程

约束实现数据完整性:

创建表:保证数据的完整性  =  实施完整性约束

 

二、数据操作语言:

数据操作语言:

  检索、插入和修改数据(增 insert、删delete、改update、查select)

insert into java values(1,'张三','男',to_date('1997-02-22','yyyy-mm-dd'),'济南');

日期类型  使用

to_date

 

--复制表(表不存在)--只复制表结构,不复制表数据(因为1=2,不成立)
create table student as select * from java where 1=2;
     
select * from student;

--复制表结构和表内容、不复制约束

create table student2 as select * from java;
     
select * from student2;

--插入来自其他表中的数据(select前可以加from)

insert into student select * from java;

select * from student;

 

三、事务控制语言:

1、事务是最小的工作单元,作为一个整体进行工作

2、保证事务的整体成功或失败,称为事务控制;

3、用于事务控制的语句有:

commit:提交并结束事务处理;

rollback:撤销事务中已完成的工作;

savepoint:标记事务中可以回滚的点;

四、数据控制语言:

1、数据控制语言为用户提供权限控制语言;

2、命令:

grant:授予权限;

revoke:撤销已授予的权限;

 

--创建用户
create user yym identified by 123456;
grant connect, resource to yym;--授予权限

--登录管理员的账户,给用户yym设置能访问scott.emp表的权限(只能查看)
grant select on scott.emp  to yym with grant option;

select * from scott.emp;

--管理员撤销yym的访问刚才那个表的权限
revoke select on scott.emp from yym;

更多Oracle相关信息见Oracle 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=12

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-07/159666.htm

linux
相关资讯       Oracle数据库 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款