oracle 基础(上)
sql 语句氛围以下三种类型:
dml:Date Manipulation Language 数据操纵语言
DDL:Data Definition Language 数据定义语言
DCL:Data Definition Language 数据控制语言·
DML用于查询与修改数据记录,包括如下SQL 语句:
insert:添加数据到数据库中
update: 修改数据库中的数据
delete: 删除数据库中的数据
select:选择(查询)数据
select是sql语言的基础,最为重要
DDL用于定义数据库的结构,比如创建、修改或删除数据库对象,包括如下SQL语句:
create table:创建数据库表
alter table :更改表结构、添加、删除、修改列长度
trop table :删除表
create index :在表上建立索引
drop index :删除索引
DCL用来控制数据库的访问,包括如下SQL语句;
grant :授予访问权限
revoke:撤销访问权限
commit:提交事务处理
rollback:事务处理回退
savepoint:设置保存点
lock:对数据库的特定部分进行锁定
算术运算符
日期和数字使用的算术运算符:+(加) -(减) *(乘) /(除)
操作符的优先级:
乘除的优先级高于加减,统一优先级运算符从左向右执行,括号内的运算先执行
定义空值;
空值是无效的,未指定的,未知的或不可预知的值,控制不是空格或者0;包含控制的数学表达式的值都为空值。
连接符:
把列与列,列与字符连接在一起,用“||”表示,可以用来‘合成’列
字符串:
字符串可以是select 列表中的一个字符、数字,日期。
重复行:
默认情况下,查询会返回全部行,包括重复行,所以在select子句中使用关键字‘distinct’可以删除查询结果中的重复行。
过滤:
where 子句紧随from子句。
字符和日期;
字符和日期要包含在单引号中,字符大小写敏感,日期格式敏感,默认日期格式是 DD-MON月-RR.
比较运算符:
= 等于;
> 大于;
>=大于、等于;
< 小于;
<=小于、等于;
<> 不等于(也可以是!=);
between ...and 在两个值之间(包含边界) 不包含边界只用and
in(set)等于值列表中的一个;
like 模糊查询
is null 空值
优先级:
排序:
使用order by子句排序 , asc 升序,desc 降序 。 order by子句在select语句的结尾
字符控制函数:

数字函数:
round:四舍五入;
trunc: 截断
mod: 求余
日期的数学运算;
在日期上加上或减去一个数字结果仍为日期,两个日期相减返回日期之间相差的天数,日起不允许加法运算,无意义
to_char 函数对日期的转换
格式:必须包含在单引号中而且大小写敏感,可以包含任意的有效的日期格式,日期之间用逗号隔开
通用函数:(这些函数使用于任何数据类型,同时也是用于空值)
nvl(expr1,expr2) 将空值转换成一个已知的值
nvl2(expr1,expr2,expr3)
条件表达式:
case表达式 case when.. then..
decode函数 decode(,,)
多表查询:
为了避免笛卡尔积,可以在where加入有效的连接条件
内连接: 合并具有同一列的两个以上的表的行,结果集中不包含一个表与另一个表不匹配的行。
外链接:两个表在里阿杰过程中除了返回满足连接条件的行以外还返回左(或右)外链接。没有匹配的行是,结果表中相应的列为空,外链接的where子句条件类似于内部链接,单链接条件中没有匹配行的表的列后面要加外链接运算符,即用括号括起来的加号(+)。
连接语法:

分组函数:
分组函数作用于一组数据,并对一组数据返回一个值。 分组数据: group by 子句语法,所有包含于select列表中,而未包含于组函数中的列都必须包含与group by子句中,不能再where子句中使用组函数,可以在having子句中使用组函数
组函数类型:
avg 平均数
count 计数
max 最大值
min 最小值
sum 求和
子查询;
子查询(内查询)在主查询之前一次完成,子查询的结果被主查询(外查询)使用。
约束:
约束是表级的强制规定。
not null 非空
unique 唯一约束
primary key 主键
foreign key 外键
check 检查约束
表姐约束和列级约束作用范围: 列级约束职能作用在一个列上,表级约束可以作用在多个列上也可以作用在一个列上 。 定义方式:列约束必须跟在列的定义后边,表约束不予列一起,而是单独定义 ,非空约束只能定义在列上
oracle 基础(上)的更多相关文章
- MySQL 总结篇 [在Oracle基础上学习的MySQL]
一.学习环境 MySQL 5.7社区版 Navicat for MySQL 百度网盘下载链接:https://pan.baidu.com/s/1yGnznwoZ8CaMgrCsDBhKAQ 二.MyS ...
- Oracle基础 PL-SQL编程基础(1) 变量和常量
一.什么是PL-SQL PL-SQL是结合了Oracle过程语言和结构化查询语言(SQL)的一种扩展语言.具体来说,PL-SQL就是在普通的SQL语句的基础上增加了编程语言的特点,将数据操作和查询语句 ...
- oracle 基础SQL语句 多表查询 子查询 分页查询 合并查询 分组查询 group by having order by
select语句学习 . 创建表 create table user(user varchar2(20), id int); . 查看执行某条命令花费的时间 set timing on: . 查看表的 ...
- Oracle基础体系浅析
不论是开发.管理.优化还是设计,对Oracle的基本原理的了解都是必不可少的,于是对自己最近关于Oracle的学习作出一点点的总结. 庖丁解牛之所以能做到"合于桑林之舞,乃中经首之会&quo ...
- oracle基础——内存管理、优化
内存图解: 自动管理:11g:AMM 10g:ASMM SGA(system global area):由所有服务进程和后台进程共享 PGA(program global area): 由每个服务 ...
- oracle基础语句学习
1.寻找公司所有部门信息 select * from dept; 2.寻找特定列 select dept_name from dept; 3.使用列别名 基本书写方法:列名 列别名 列名 as 列别名 ...
- 2008-03-18 22:58 oracle基础知识小结
oracle 数据类型: 字段类型 中文说明 限制条件 ...
- oracle基础知识过一遍(原创)
用户.角色.权限.表空间 create tablespace test1_tablespace datafile ‘test1file.dbf’ size 10m; create temporary ...
- Oracle基础了解
数据库: 关系型数据库 select * from 表名 非关系型数据库(做不到复杂查询) 以对象的形式进行存储 {"aaa":"ccc"}---键值对 ora ...
- 数据库系统入门 | Oracle Linux上部署Oracle 11g服务,并实现SSH远程登录管理
文章目录 写在前面 一.实验内容 二.实验前期准备 1.软件目录 2.准备一些配置文件.脚本文件 三.实验方案(具体步骤) (一)在虚拟机上安装Oracle Linux (二)在Linux上安装Ora ...
随机推荐
- Chapter 7. Design and Performance
本章将对MPEG4及H.264的实现细节进行讲解和比对. Motion Estimation 衡量运动估计的好坏有三种函数(第228页):MSE,MAE和SAE,其中由于SAE运算速度最快所以采用的最 ...
- 【Android Developers Training】 60. 在你的UI中显示位图
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 遇到ANDROID “call to opengl es api with no current context”错误
延迟线程执行 Timer timer=new Timer();//实例化Timer类 timer.schedule(new TimerTask(){ public void run(){ buyed( ...
- 新技能get√10个PS加速小技巧让你的PS不再卡
如果你在处理较大尺寸的图片.使用像HDR.图像合成或者3D和视频等类似的功能,优化Photoshop的性能是非常关键的.这篇文章中,我会为大家介绍几种提高Photoshop性能的建议,使其在你的电脑上 ...
- QQ信鸽推送
闲来无事,看看腾讯的信鸽推送! 优点: 1.毕竟大腿出的东西,不会太差 2.集成快 3.推送效率高,功能强,APP后台被杀的情况下同样能接受到推送. 废话少说,直接上代码: 源代码.zip
- VB6之借助zlib实现gzip解压缩
这是个简版的,可以拿来做下网页gzip的解压缩,整好我的webserver还不支持这个,有时间了就加上. zlib.dll下载请点击我! 模块zlib.bas的代码如下: 'code by lichm ...
- 总结两种动态代理jdk代理和cglib代理
动态代理 上篇文章讲了什么是代理模式,为什么用代理模式,从静态代理过渡到动态代理. 这里再简单总结一下 什么是代理模式,给某个对象提供一个代理对象,并由代理对象控制对于原对象的访问,即客户不直接操控原 ...
- Oracle 左连接 left join、右连接right join说明
Oracle 左.右连接 + 在等号 左边表示右连接 获取右表所有记录,即使左表没有对应匹配的记录. + 在等号 右边表示左连接 获取左表所有记录,即使右表没有对应匹配的记录. 例子: selec ...
- js中嵌入jsp(html)代码的双引号转换问题--事件没反应
下面是一段今天遇到问题的代码,select中写了onchange事件 ,在没有加转义的情况下,F12解析的代码是错乱的,双引号与内容中写的不一致,还会有空格出现,经过一段时间的摸索,发现在出错的地方加 ...
- [HDU1512/ZOJ2334]Monkey King-左偏树-可合并堆
Problem Monkey King Solution 本题是裸的左偏树,一个模板就可以过了.对于每个操作对节点先删除/2再合并. 注意本题在HDU上评测特别坑,是多组数据,而且经常出现MLE的情况 ...