Oracle数据库之四大语言
一、数据定义语言:
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数据库多语言文字存储解决方案
一.关于字符集 字符集(也称字元集,Character Set)就是字符编码表(codepage),一个字符不论英文.中文.韩文等在计算机系统内存或硬盘中通过二进制的字节(Byte)保存,这个二进制的 ...
- oracle数据库操纵语言DML
oracle数据库操纵语言:DML 添加数据: ()直接添加数据: insert into table_name(column_name1,column_name2,...) values(data1 ...
- MyEclipse用Java语言连接Oracle数据库
在MyEclipse下Java连接Oracle数据库 第一步:新建Java项目. 填写项目名,其它设置默认,点击完成即可. 新建java类,填写包名和类名,勾选public static void m ...
- Oracle数据库教程-数据定义语言(表操作)
创建表 建表语法: CREATE TABLE 表名 ( 列1 数据类型 [primary key], 列2 数据类型 default 默认值 [not null], …, constraint 约束名 ...
- Oracle数据库,基础知识
1.Oracle的五大约束条件: 1 主键 primary key2 外键 foreign key,3 唯一 unique,4 检测 check5 非空 not null 实例运用: -- ...
- Oracle 数据库语句大全
Oracle数据库语句大全 ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CH ...
- Oracle数据库11g各版本介绍及功能比较
.标准版和企 业版.所有这些版本都使用相同的通用代码库构建,这意味着企业的数据库管理软件可以轻松地从规模较小的单一处理器服务器扩展到多处理器服务器集 群,而无需更改一行代码.Oracle数据库11g企 ...
- Oracle数据库,数据的增、删、改、查
oracle数据库中,数据的增.删.改.查,通过SQL语句实现 SQL:结构化查询语言: 特点:不区分大小写:字符串用单引号引起来:语句结束用分号表示结束: 行注释,在语句的最前面加"--& ...
- Oracle数据库基础知识
oracle数据库plsql developer 目录(?)[-] 一 SQL基础知识 创建删除数据库 创建删除修改表 添加修改删除列 oracle cascade用法 添加删除约束主键外 ...
随机推荐
- 关于最新版本的flutter在安卓打包的问题解决方法
1.集成友盟push提示androidx版本号不一致,需在gradle文件中手动选择即可,如下 buildscript { repositories { google() jcenter() mave ...
- 如何单独编译Linux内核源码中的驱动为可加载模块?
答: 分为两步: 1. 配置某个驱动为模块(如: CONFIG_RTC_XXX=m) 2. 指定路径并编译, 如编译drivers/rtc中的驱动 make SUBDIRS=drivers/rtc m ...
- Xamarin.FormsShell基础教程(7)Shell项目关于页面的介绍
Xamarin.FormsShell基础教程(7)Shell项目关于页面的介绍 轻拍标签栏中的About标签,进入关于页面,如图1.8和图1.9所示.它是对应用程序介绍的页面. 该页面源自Views文 ...
- chmod: changing permissions of ‘/etc/fstab': Read-only file system
给passwd文件加权限,修改/etc/fstab目录下所有的文件夹属性为可写可读可执行,执行以下命令:chomd 777 /etc/fstab 的时候提示错误: chmod: changing pe ...
- cmd find命令用法
Windows命令行(cmd)下快速查找文件(类似Linux下find命令) 2015年04月11日 10:50:43 开水 阅读数 62240 标签: 命令行cmdwindows 更多 个人分类: ...
- kotlin基础 尾递归
尾调用的重要性在于它可以不在调用栈上面添加一个新的堆栈帧——而是更新它,如同迭代一般. 尾递归因而具有两个特征: 调用自身函数(Self-called): 计算仅占用常量栈空间(Stack Space ...
- elementui---表格拖动排序的问题
刚刚用elementui的表格,需要用到一个拖动排序的需求,简单弄了下,使用 Sorttable 来做还是挺快的,但是发现一个问题,拖动排序显示不正常. <el-table :data=&quo ...
- electron-vue在使用element-ui时部分组件无法显示问题
原文连接: https://juejin.im/post/5d132629e51d45772a49ad71 问题描述 在使用electron开发桌面系统时,遇到部分element-ui组件在页面中无法 ...
- [Sw] Swoole 生态迷局,基于 Swoole 的第 109 框架
这两天,又一全栈式 Swoole 协程框架面世了 - hyperf,实现思路是我内心点了赞同的,就集成现有 PHP 生态优质组件到 Swoole 的协程中来. 有人想到,为什么不是 Swoole 集成 ...
- JobStorage.Current property value has not been initialized. You must set it before using Hangfire Client or Server API.
JobStorage.Current property value has not been initialized. You must set it before using Hangfire Cl ...