Oracle 简介
关系型(二维表)数据库 用来存储海量数据
在大数据量的并发检索的情况下,性能要高于其他同类数据库产品
一般运行环境是Linux和Unix
Oracle版本中的
I(Internet) G(Grid) C(Cloud)

E(自己安装在E盘)--> app --> Sword
(Oracle安装目录)
E:\app\Sword\product\11.2.0\dbhome_1\NETWORK\ADMIN
listener.ora 监听的配置文件
tnsnames.ora 客户端的配置文件

监听:计算机的IP和Port(端口号1521)
SqlServer默认端口号 1433
Mysql 3306
Oracle 1521

2.连接Oracle必须保证启动:
监听程序 OracleOraDb11g_home1TNSListener
数据库服务 OracleServiceORCL

sys超级管理员 (不能用normal登录 应用sysdba)
可以添加和删除其他管理员和普通用户

system 管理员
可以添加普通用户

4.创建一个用户
create user 用户名 identified by 密码
分配两个角色
grant Connect(连接数据库),Resource(基础操作) to 用户名

5.
Oracle没有int类型 只有number类型(数字)
Sequences 序列(和table是平级的)

使用序列插入记录
insert into Student values(序列名.Nextval,'xxx')

--数据库的隔离级别 Oracle数据库事务默认不会自动提交
需要commit

登录sql plus (cmd)sqlplus 用户名/密码
在sqlplus中 单个"/"代表执行上一条sql

alter user 用户名 account lock 锁定用户不能登录
alter user 用户名 account unlock 解锁

Oracle数据库本质上是socket服务器
sqlplus和PL/SQL developer等都是客户端

用客户端连接Oracle服务的四种方式
1.Sqlplus
2.PL/SQL Developer
System或者sys用DBA登录 无论密码是否正确都可以登录
3.SQL Developer 自带客户端
需要关联java.exe文件
4.em方式 需要开启DBConsole服务 端口1158

SGA 全局缓冲区(实例中的全局共享区)
SGA只能有一个, PGA(私有/进程全局区)

SGA(System Global Area)一个实例只能有一个SGA
PGA(Process Global Area)

--表空间
一个数据库下可以开多个表空间,一个表空间可以包含多个数据文件,表空间是逻辑概念

--全局数据库名
全局数据库名=数据库域名+数据库名全局数据库名是为了保证数据库系统中每个数据库名都是唯一的

查询某个用户下的所有表
select * from all_tables where owner='SCOTT'
(用户名大写)

lacks 缺少

revoke 权限名 from 用户名 --收回权限

--对用户解锁
alter user 用户名 account unlock

--伪表 dual
select 1+1 from dual

--双竖杠||
select '哈哈哈'||'呵呵呵' as str from dual
(相当于连接 因为Oracle中'+'号不能拼接)

--表名或者列名如果与关键字冲突,建表时用双引号引起来

百度脑图

数据库:
数据文件
日期文件
控制文件
参数文件
口令文件
归档日志文件

--函数
--靠后的日期和靠前的日期的月份差
select Months_Between(
to_date('2010-7-1','yyyy-MM-dd'),
to_date('2000-8-1','yyyy-MM-dd'))
from dual

--给日期追加多少个月后的日期
select Add_Months(
to_date('2010-7-1','yyyy-MM-dd'),
15)
from dual

--按格式对日期四舍五入
select Round(
to_date('2017-1-7','yyyy-MM-dd'),
'Day')
from dual

--通用函数

--滤空函数
nvl(可能为空的列,替换值)
select sal*12工资,comm 奖金,sal*12+nvl(comm,0) from emp

nvl2(可能为空的列,不为空返回的是,为空返回的是)
select sal*12工资,comm 奖金,nvl2(comm,1,12.5) from emp

--decode函数
select product_id,decode(warehouse_id,1,'a',2,'b') from exp...

IntelliJ idea 16

SQL中的常用函数

  1.字符函数

    initcap(char) 首字母大写  select initcap('heLLO') from dual  结果 Hello

    lower(cahr) 全部小写

    upper(char) 全部大写

    instr(char,substr[,pos]) 查找字符串位置1

                  select instr('ORdhORhjskOR','OR') from dual      结果 1

                  select instr('ORdhORhjskOR','OR',3) from dual     结果 5

                  select instr('ORdhORhjskOR','OR',0,3) from dual    结果 11

    substr(char,pos,len) 取子字符串

          select substr('abcdef',2) from dual   结果 bcdef

          select substr('abcdef',2,3) from dual  结果 bcd

  2.数字函数

    round(m,n) 四舍五入

        select round(5.25,1)    结果 5.3

        select round(5.252,2)    结果 5.25

    sqrt(n) 平方根

    cell(n) 向上取证

    floor(n) 向下取整

  3.日期函数

    --靠后的日期和靠前的日期的月份差
      select Months_Between(
      to_date('2010-7-1','yyyy-MM-dd'),
      to_date('2000-8-1','yyyy-MM-dd'))
      from dual

    --给日期追加多少个月后的日期
      select Add_Months(
      to_date('2010-7-1','yyyy-MM-dd'),
      15)
      from dual

    --按格式对日期四舍五入
      select Round(
      to_date('2017-1-7','yyyy-MM-dd'),
      'Day')
      from dual

  4.转换函数

    to_char(num) 将数字转化成字符串

          select to_char(123)    结果:'123'

          select to_char('123.23','$999.9')  结果:'$123.2'  

  5.通用函数

  滤空函数
    nvl(可能为空的列,替换值)
      select sal*12工资,comm 奖金,sal*12+nvl(comm,0) from emp

    nvl2(可能为空的列,不为空返回的是,为空返回的是)
      select sal*12工资,comm 奖金,nvl2(comm,1,12.5) from emp

  decode函数
    select product_id,decode(warehouse_id,1,'a',2,'b') from exp...

【学习笔记】Y2-1-1 Oracle数据库基础的更多相关文章

  1. Oracle学习笔记--第2章 oracle 数据库体系结构

    第2章 oracle 数据库体系结构 目录: ————————————— 2.1物理存储结构 2.1.1数据文件 2.2.2控制文件 2.1.3重做日志文件 2.1.4其他文件 2.2逻辑存储结构 2 ...

  2. 第一章 oracle数据库基础

    第一章   oracle数据库基础 1.oracle简介-->数据库管理系统    1.1:数据库    1.2:全局数据库名    1.3:数据库实例    1.4:表空间    1.5:数据 ...

  3. Oracle数据库基础入门《二》Oracle内存结构

    Oracle数据库基础入门<二>Oracle内存结构 Oracle 的内存由系统全局区(System Global Area,简称 SGA)和程序全局区(Program Global Ar ...

  4. Oracle数据库基础入门《一》Oracle服务器的构成

    Oracle数据库基础入门<一>Oracle服务器的构成 Oracle 服务器是一个具有高性能和高可靠性面向对象关系型数据库管理系统,也是一 个高效的 SQL 语句执行环境. Oracle ...

  5. Android:日常学习笔记(10)———使用LitePal操作数据库

    Android:日常学习笔记(10)———使用LitePal操作数据库 引入LitePal 什么是LitePal LitePal是一款开源的Android数据库框架,采用了对象关系映射(ORM)的模式 ...

  6. MongoDB学习笔记(2):数据库操作及CURD初步

    MongoDB学习笔记(2):数据库操作及CURD 数据库操作 创建数据库 首先MongoDB中数据库的创建和数据库的切换都是使用命令,USE DATABASE,如果要切换的数据库不存在则会进行创建, ...

  7. Oracle 数据库 基础学习 (一) SQL基本知识

    Oracle 从零开始,不知所措.要掌握一种技能,最好的方式是先学会怎么使用它,然后再深入学习,先有样子,再有技术.   一,什么是数据库? 为什么需要数据库? 数据库实质上是一个信息的列表,或者是一 ...

  8. Oracle数据库基础知识

    oracle数据库plsql developer   目录(?)[-] 一     SQL基础知识 创建删除数据库 创建删除修改表 添加修改删除列 oracle cascade用法 添加删除约束主键外 ...

  9. Oracle数据库基础(一)

    当今主流数据库有瑞典MySQL公司的MySQL数据库,微软的SqlServer数据库,IBM公司的DB2,Oracle公司的Oracle数据库以及美国Sybase的Sybaseshujuku .数据库 ...

随机推荐

  1. linux命令-ssh {远程登录}

    一 命令解释 命令: ssh ssh [-l login_name] [-p port] [user@]hostname

  2. Create a geoprocessing tool to buffer a layer and retrieve messages____sync

    using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.InteropSer ...

  3. Access restriction错误解决办法

    Access restriction错误, XX方法 is not accessible due to restriction on required library XXlib 解决方案: Ecli ...

  4. 慕课网-Java入门第一季-7-2 Java 中无参无返回值方法的使用

    来源:http://www.imooc.com/code/1578 如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法. 方法的使用分两步: 第一步,定义方法 例如:下面代码定义了一个方法名 ...

  5. Node.js 自学之旅

    学习基础,JQuery 原生JS有一定基础,有自己一定技术认知(ps:原型链依然迷糊中.闭包6不起来!哎!) 当然最好有语言基础,C#,java,PHP等等.. 最初学习这个东西的原因很简单,在园子里 ...

  6. LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

    连接器LNK是通过调用cvtres.exe完成文件向coff格式的转换的,所以出现这种错误的原因就是cvtres.exe出现了问题. 在电脑里面搜索一下cvtres.exe,发现存在多个文件,使用最新 ...

  7. oozie调用shell

    <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agree ...

  8. 软件调试——IA-32 保护模式下寄存器一览

    最近在看张银奎先生的<调试软件>一书,想将关键的技术记录下来,以便日后查阅,也分享给想看之人吧. 1 通用寄存器 EAX,EBX,ECX,EDX:用于运算的通用寄存器,可以使用AX,BX等 ...

  9. VMware中装Win2012并配置Hyper-v

    VMware中装配Win2012再配置Hyper-v,解决虚拟机监控程序已经在运行中的方法 找到虚拟机存放的位置,用记事本打开Windows Server 2012.vmx,在最后添加两行并保存: h ...

  10. 数据库的NULL值讨论

    有许多关于数据库设计中NULL的讨论,我个人的设计习惯是,不使用NULL值. 我所设计所有表都是Not Null的字段的,尤其是我主要做数据仓库的表设计.刚开始使用数据库时,就栽了一次.一个Group ...