数据库:

关系型数据库

select * from 表名

非关系型数据库(做不到复杂查询)

以对象的形式进行存储

{"aaa":"ccc"}---键值对

oracle基础

表空间:

Oracle数据库对数据的管理是基于表空间的概念来的, 各种数据的以及存储数据的优化, 实际上也是通过优化表空间来实现的

表空间分类:

永久表空间

用来存放表的数据, 视图, 存储过程或者函数等需要永久保存的对象的空间

临时表空间

用来存放查询结果等临时数据的空间

UNDO表空间

用于存放回滚数据, 已经删除数据等对象的表空间

用户:

sys: 超级管理员

system: 次超级管理员

scott: 普通用户

oracle基础数据类型:

4类:

字符型:字符串

char(最大2000)--->固定长度,

nchar(最大1000, 支持unicode)--->固定长度

varchar2(最大4000),

nvarchar2(最大2000, 支持unicode)--->可变长度

oracle中字符串的表示使用单引号-->'字符串'

数字类型

包括整数和小数

number(有效数字, 总位数)---最大11;

number

number(8)

number(5,2)---总位数5位, 小数点后2位

?float--->存储二进制类型的数据, 1-126位0.30103

日期类型:时间

date:取值范围:公元前4712年1月1号---公元9999年12月31号, 可以直接精确到秒

timestamp(时间戳: 更精确的数据, 可以精确到毫秒)

其它类型:大文本, 文件

blob: 最大4g, 以二进制的形式来存放数据

clob: 最大4g, 以字符串的形式存放

oracle运算符和表达式

表达式类似于java, 可以是常量, 可以是变量, 也可以是表中的一个字段

算术运算符(+  -  *  /       注意这个地方没有取余的运算符, 取余使用mod函数)

比较运算符(>  >=  <  <=  =  <>/!=)

逻辑运算符(and  or  not)

字符串连接符(||)

sql语句四种类型:

数据定义语言(ddl)、

数据操作语言(dml)、

数据控制语言(dcl)和事务控制语言(tcl)。

data definition language(ddl)

ddl使我们有能力创建或删除表格。也可以定义索引(键),规定表之间的链接,以及施加表间的约束。

create database - 创建新数据库

alter database - 修改数据库

create table - 创建新表

alter table - 变更(改变)数据库表

drop table - 删除表

create index - 创建索引(搜索键)

drop index - 删除索引

data manipulation language(dml)

供用户实现对数据的追加、删除、更新、查询等操作。

select - 从数据库表中获取数据

update - 更新数据库表中的数据

delete - 从数据库表中删除数据

insert into - 向数据库表中插入数据

data control language(dcl)

grant - 授权

revoke - 撤销授权

deny - 拒绝授权

transaction control language(tcl)

savepoint - 设置保存点

rollback - 回滚

commit - 提交

oracle数据库约束:

定义规则

定义要输入的这个值是一个什么样的值, 或者是哪个范围内的值

作用: 确保完整性, 确保精确性

1, 非空约束

记录一条信息的时候如果用户名和密码没有被记录, 那么这条记录是没有实际意义的, 创建表的时候默认是可以为空的

2, 主键约束

确保表中每一行的数据的唯一性

非空, 唯一

一个表中只能有一个主键, 但是这个主键可以由多个字段(联合主键, 复合主键)来构成

可以在建表的时候写上设置为主键的关键字, primary key

或者写个表前约束设置

constraint 主键名称 primary key(字段名1, 字段名2)

3, 外键约束

唯一一个涉及两个表中的字段约束

插入数据的时候, 从表中的关联关系的字段, 要么是一个主表主键的关联, 要么是一个空值

4, 唯一约束(unique)

保证字段值的唯一性

与主键的区别: 唯一约束可以为空值, 唯一约束可以有多个

使用语句创建唯一约束只能写多条语句, 类似于insert into

5, 检查约束

作用: 使表当中的值更具有实际意义

比如定义一个值的范围

checks(sno>0 and sno<1000)

常用关键字

insert into---插入数据

delete---删除数据

update---更新一条数据

select---实际工作中尽量不要写*

where---给执行的语句加限制条件

in---在某个范围内

like(%, _)---模糊查询, %表示任意个字符, _表示单个字符

order by---(列名或者写索引:1, 2)

group by---按照某几列分组

having---分组之后的过滤

case...when...---类似于分支

set---设置某些属性

distinct---去除重复

between...and(闭合区间, 即包括前面的数, 也包括后面的数)

all---表示一个集合中所有的元素

any/some---表示一个集合中任意一个元素

常用函数

to_char---转换成字符型数据

to_date---转换成日期型数据

分组函数:

mod---取余函数

avg---平均数函数

sum---求和函数

count---计数函数

decode---类似于分支语句的函数

substr---分割字符串

max---取最大值函数

min---取最小值函数

trunc---取整函数

ceil---向上取整函数

floor---向下取整

nvl---过滤空值函数

nvl2---过滤空值函数2

lower---将字母全部改为小写

upper---改为大写

concat---连接两个字符串

? wm_concat---列转行函数(也属于分组函数)

复制表

create table 表名 as select * from 表名

删除表中数据

delete 表名;

truncate 表名;

(truncate 关键字 慎用(楷体 加粗 大写 下划线 红色 爆闪 抖动效果)!!!!!!!!!!)

将excel的表贴到oracle

在excel中选中一部分数据, 记住第一列前面多选中一列

将查询结果导出excel

对查询结果全部选中, 右键有 copy to excel

序列的创建

序列的作用: 一般用来作为一个自增长的主键

oracle查询, 高级查询

简单查询

order by 1,2

group by 增强版

语法: select p.toma, p.ptype, sum(p.lastcou) from product p group by rollup(p.toma, p.ptype)

高级查询(多表连接查询)

笛卡尔积的概念

分类:

等值连接

不等值连接

     外连接(啥也不写就是内连接, 直接写两个表名)---左外连接, 右外连接

(+)修饰符的使用

数据字典的使用

        自连接(自己骗一下自己)

层次查询

connect by prior 连接条件 start with 开始条件

伪列:

level

rownum

使用rownum分页

Oracle基础了解的更多相关文章

  1. oracle基础教程(8)oracle修改字符集

    oracle基础教程(8)oracle修改字符集 1.用dba连接数据库 -->sqlplus / as sysdba 2.查看字符集 -->SELECT parameter, value ...

  2. 图说Oracle基础知识(一)

    本文主要对Oralce数据库操作的基础知识进行一下梳理,以便进行归纳总结.适用于未使用过Oracle数据库的读者,或需要学习Oracle数据库方面的基础知识.如有不足之处,还请指正. 关于SQL介绍的 ...

  3. oracle基础教程oracle客户端详解

    oracle基础教程oracle客户端工具详解 参考网址:http://www.oraclejsq.com/article/010100114.html 该教程介绍了oracle自带客户端sqlplu ...

  4. Oracle基础 表分区

    Oracle基础 表分区 一.表分区 (一)表分区的分类 1.范围分区(range) 2.散列分区(hash) 3.列表分区(list) 4.复合分区:范围-哈希(range-hash).范围-列表( ...

  5. Oracle基础篇--00引言

    今天开始,复习oracle基础.主要是以前培训的时候的文档作为结构来梳理知识点,主要目的是把Oracle基础打的扎实点.后面要转做后台开发,或者工作中需要用到数据库知识时也不至于临时抱佛脚. 一直以来 ...

  6. Oracle基础学习笔记

    Oracle基础学习笔记 最近找到一份实习工作,有点头疼的是,有阶段性考核,这...,实际想想看,大学期间只学过数据库原理,并没有针对某一数据库管理系统而系统的学习,这正好是一个机会,于是乎用了三天时 ...

  7. Oracle基础数据类型与运算符

    Oracle基础数据类型: 1. 字符型:字符串 char(最大2000), nchar(最大1000, 支持                           Unicode)--->固定长 ...

  8. ORACLE| ORACLE基础语法汇总

    创 ORACLE| ORACLE基础语法汇总 2018-07-18 16:47:34 YvesHe 阅读数 9141更多 分类专栏: [数据库]   版权声明:本文为博主原创文章,遵循CC 4.0 B ...

  9. Oracle基础之保留字和关键字

    Oracle基础之保留字和关键字 在Oracle之中,有分为保留字和关键字,所谓关键字就是Oracle中有实际意义的,而保留字(比如DESC.ORDER等等)是Oracle中不能随便使用的,比如不能随 ...

随机推荐

  1. UVA 1649 Binomial coefficients

    https://vjudge.net/problem/UVA-1649 题意: 输入m,求所有的C(n,k)=m m<=1e15 如果枚举n,那么C(n,k)先递增后递减 如果枚举k,那么C(n ...

  2. asp.net RDLC报表入门

    Asp.net RDLC 报表入门 这几天帮给同事讲解Asp.net RDLC 报表方面的知识,顺便做个简单教程,在这里分享给大家. 由于图片多又大,写了一半,光上传图片就把我累个半死,所以我教把程放 ...

  3. Robot Framework Chrome

    1. 下载对应版本的chromedriver, 好像都是windows32位的,不过没关系,可以用即可. 2. 将chromedriver放入到chrome的安装路径下,然后将chromrdriver ...

  4. 【BZOJ2287】消失之物 [分治][DP]

    消失之物 Time Limit: 10 Sec  Memory Limit: 128 MB[Submit][Status][Discuss] Description ftiasch 有 N 个物品, ...

  5. 浅谈游戏中BUFF的设计要点

    其实这类帖子并没有多少的设计理论,对于策划的提升和帮助也并不大,原因其实在于其适用性太窄,当我要设计XX象棋的时候,它就滚一边去了. 废话不多说切入正题: 游戏中的BUFF/DEBUFF我们见过很多, ...

  6. rabbitmq之队列性能测试及优化方法(六)

    前言 下面关注一下rabbitmq实际使用时的性能问题和怎么进行一些优化. 性能测试 针对每个需要生产/消费者与rabbitmq进行通讯的方法进行测试 测试环境 排除网络IO的干扰,采用生产者和消费者 ...

  7. Linux内核空间内存申请函数kmalloc、kzalloc、vmalloc的区别【转】

    转自:http://www.th7.cn/system/lin/201606/167750.shtml 我们都知道在用户空间动态申请内存用的函数是 malloc(),这个函数在各种操作系统上的使用是一 ...

  8. python基础===一道小学奥数题的解法

    今早在博客园和大家分享了一道昨晚微博中看到的小学奥数题,后来有朋友给出了答案.然后我尝试用python解答它. 原题是这样的: 数学题:好事好 + 要做好 = 要做好事,求 “好.事.做.要”的值分别 ...

  9. python近期遇到的一些面试问题(二)

    1. 解释什么是栈溢出,在什么情况下可能出现. 栈溢出是由于C语言系列没有内置检查机制来确保复制到缓冲区的数据不得大于缓冲区的大小,因此当这个数据足够大的时候,将会溢出缓冲区的范围.在Python中, ...

  10. python设计模式之单例模式(二)

    上次我们简单了解了一下什么是单例模式,今天我们继续探究.上次的内容点这 python设计模式之单例模式(一) 上次们讨论的是GoF的单例设计模式,该模式是指:一个类有且只有一个对象.通常我们需要的是让 ...