• Oracle数据库基础


    1.数据库系统和数据库的管理系统
    数据库系统=数据库的管理系统+oper操作员+硬件
    2.Oracle的版本
    8i/ 9i 10g/11g 12c(cloud)
    3.实例和数据库的关系
    实例:数据库服务启动后,在内存中的单元。
    数据库:硬盘上的文件,物理介质硬盘
    4.数据库的核心部件
    PGA:
    SGA:
    DBWR(数据的读取和写入)
    LGWR(日志文件的读取写入)
    SMON (清理临时表空间)
    PMON (异常中断之后的清理,处理和释放资源)
    CKPT (检查点,保证数据库的一致性,这是指将脏数据写入到硬盘,保证内存和硬盘上的数据是一样的;)
    5.监听文件的位置
    app----->Happy(用户名)----->product--->NETWORK----》ADMIN -----》listener.ora
    6.服务的开启顺序
    先监听,再数据库服务
    @echo
    net start OracleOraDb11g_home1TNSListener
    net start OracleServiceORCL
    @pause
    7.数据库用户
    sys:超级管理员 管理普通的管理员和普通用户

    System:普通管理员

    scott:没有解锁
    8.数据类型
    字符串 Nvarchar2

    数字 nubmer

    日期和时间:Date

    大二进制类型:BLOB

    大文本类型 :CLOB 类型SQL SErver中的Text或者是nvarchar(max)

    9.Oracle中是根据用户来隔离表的
    默认情况下,当前登录的用户只能看到自己创建的表
    --创建一个用户
    create user happyy2165 identified by happyy2165

    --权限
    --身份:新员工 100
    grant connect to happyy2165
    grant RESOURCE to happyy2165
    --建立一张数据表
    create table userinfo
    (id number primary key not null)

    ##如何查看该用户管理着的所有表
    select * from all_tables where owner='HAPPYY2165'

    10.伪列 rowid rownum

    11.如何查询stuInfo表中自然排序的第3条记录?
    -----------------------------
    1.服务器开启的顺序
    先监听,再数据库服务
    2.核心组件
    PGA:
    SGA:
    3.数据类型
    4.Oracle伪列
    rownum rowid
    5.实例和数据库的关系
    实例:内存级别
    数据库:硬盘上文件
    6.数据库系统和数据库的管理系统
    数据库系统=数据库的管理系统+oper操作员+硬件
    7.数据库三个用户
    超级管理员 sys orcl
    普通管理员 system orcl
    没有解锁:scott tiger
    8.监听文件的位置
    apphappyyproduct--->NETWORK----》ADMIN---》listener.ora tnsname.ora(连接文件的位置)
    9.版本
    8i/9i 10g/11g 12c
    10.查当前用户管理的表
    select * from all_tables where owner='HAPPYY2165'

    select * from TAB

    ---------------------------
    1.用户和模式是等价的
    2.创建了一个用户
    create table 用户名 identified by 密码
    grant connect,resource to 用户名
    用户名登陆后。创建表
    Create table student
    (stuno number primary key not null)
    创建一张表,必须隶属于一个表空间,如果不指定隶属于哪个表空间,他默认隶属于users表空间
    Create table student
    (stuno number primary key not null)TABLESPACE example
    STORAGE (INITIAL 8M);

    3.表空间
    逻辑概念
    一个database 下有1个或者 N个表空间

    1个表空间有1个或者多个数据文件

    如果创建了一张表,不指定表空间,默认使用users表空间

    4. 查询用scott 登录后 emp表中的第三条记录


    rownum注意事项:
    rownum=1可以 ,rownum<N,大于 m没有结果集。如何规避,使用子查询形成别名列。然后再外层查询该列。
    rownum=3

    5. 用户A(Scott)去访问用户B(happyy2165) 里面的student包
    Oracle三大系统角色
    connect
    resource
    dba

    方案一:直接授权法
    1.用happyy2165登录,之后,授权
    grant select on HAPPYY2165.STUDENT to scott
    2.用scott登录,用如下代码去访问Student表
    select * from HAPPYY2165.student

    方式二:通过角色去控制
    1.自定义角色 role_testy2165 create role role_testy2165
    2.将查询表的权限和角色绑定

    GRANT select on HAPPYY2165.STUDENT to role_testy2165
    3.给用户分配角色
    grant role_testy2165 to SCOTT

    revoke select on HAPPYY2165.student from SCOTT 回收权限

    6.解锁用户
    alter user hr account unlock

    7.删除stuName、stuAge列重复的行(保留一行) 保留学号最大的

    8.SQL操作符
    算术 +/-
    连接|| 连接两个字符串
    比较
    逻辑 And or
    集合
    union 合并记录
    连接查询:合并列
    union all

    intersect

    select 1+1 from dual
    --|| 明天放假但是作业很多
    select '明天放假'||'但是作业很多' from dual
    select '您的运算结果是'||5 from dual

    SELECT deptno
    FROM dept
    INTERSECT --交集(共有内容)
    SELECT DISTINCT deptno FROM emp


    SELECT deptno
    FROM dept
    minus --减集(第一个查询减去第二个后的剩余记录)
    SELECT DISTINCT deptno FROM emp

    9.SQL函数

    单行函数
    SELECT LOWER('MR. SCOTT MCMILLAN') "Lowercase"
    FROM DUAL;

    SELECT UPPER('last_name')
    FROM dual;


    SELECT initcap('username')
    FROM dual;


    SELECT CONCAT('begin', 'last') "Job"
    FROM dual


    SELECT SUBSTR('ABCDEFG',3,4) "Substring"
    FROM DUAL;

    --CDEF

  • 相关阅读:
    MySQL 连接的使用:语法及案例剖析、INNER JOIN、LEFT JOIN、RIGHT JOIN
    MySQL GROUP BY 分组语句:语法及案例剖析、使用 WITH ROLLUP
    MySQL 排序:语法及案例剖析、在命令提示符中使用 ORDER BY 子句
    MySQL UNION 操作符:语法及案例剖析
    MySQL LIKE 子句:语法及案例剖析、在命令提示符中使用 LIKE 子句
    maven仓库
    maven安装配置
    Jedis
    Redis下载安装以及String类型
    Redis介绍
  • 原文地址:https://www.cnblogs.com/dongyuhan/p/7521951.html
Copyright © 2020-2023  润新知