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用法 添加删除约束主键外 ...
随机推荐
- vi编辑器操作 快捷键
vi编辑器操作 快捷键 1. 命令模式 与 编辑模式切换 a:光标向后移动一位进入编辑模式 i:光标和内容 没有变化进入编辑模式 o:新起一行进入编辑模式 s:删除光标所在字符进入编辑模式 ...
- bitcoinjs-lib 哈希交易之多笔交易合并。
转账的时候需要手动寻找每一笔未花费记录实在太费时. 比特币转账需要提取或合并所有未花费的交易中的比特币,才能实现交易. import * as bitcoin from 'bitcoinjs-lib' ...
- 【Python】解析Python中的线程与进程
基础知识 线程 进程 两者的区别 线程的类型 Python 多线程 GIL 创建多线程 线程合并 线程同步与互斥锁 可重入锁(递归锁) 守护线程 定时器 Python 多进程 创建多进程 多进程通信 ...
- Git采坑与问题排查
目录 Case1:代码库中存大文件 Case1:代码库中存大文件 背景 有这种情况,项目运行需要依赖一个文件(比如需要读一个文件中的数据),那么最直接的方式就是将该文件添加到代码中的分支中,然后将分支 ...
- 为什么地址空间分配粒度为64K?Why is address space allocation granularity 64K?
您可能想知道为什么VirtualAlloc在64K边界分配内存,即使页面粒度为4K. 你有Alpha AXP处理器,感谢你. 在Alpha AXP上,没有“加载32位整数”指令.要加载32位整数,实际 ...
- EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器开放平台利用 webpack 打包压缩后端代码
需求背景 javaScript的用途是解决页面交互和数据交互,最终目的是丰富客户端效果以及数据的有效传递. 并且具有良好的用户体验. javaScript可以快速实现页面交互,即js操作html的do ...
- EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器功能简介---视频直播、直播鉴权(如何完美将EasyDSS过渡到新版)
作为RTMP流媒体服务器,接受RTMP推流.进行实时的直播流分发是EasyDSS流媒体服务自身一大核心功能.写本篇博文的一个目的是向大家介绍EasyDSS新版的直播间.匿名直播.和虚拟直播的功能, 另 ...
- python中实现延时回调普通函数示例代码
python中实现延时回调普通函数示例代码 这篇文章主要给大家介绍了关于python中实现延时回调普通函数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的 ...
- qt model/view/delegate
Qt Model/View理解(一)---构造model https://blog.csdn.net/weixin_42303052/article/details/89233887 Qt Model ...
- java + selenium + testng实现简单的UI自动化
新建Maven项目,添加需要的依赖 1.新建一个Maven项目 2.在pom.xml中添加需要的依赖,这里只要selenium和testng就行 <!-- https://mvnreposito ...