zoukankan      html  css  js  c++  java
  • 1.oracle学习笔记

    2018-07-27

    ---------------------------------------------------------数据库的基础知识-------------------------------------------------------------------------

    数据库
    什么是数据库?

    • 按照一定规则存储数据的仓库。
    • 磁盘上存储的数据的集合

    • 在物理上表现为数据文件、日志文件和控制文件等(物理结构)

      • 数据文件

        • 扩展名是.DBF,用于存储数据库数据的文件

        • 数据库表和数据文件不存在一对一对应关系

      • 控制文件
        • 扩展名是.CTL,是数据库启动及运行所必需的文件
        • 默认包含3个控制文件,各个控制文件内容相同

      • 日志文件
        • 扩展名是.LOG,它记录了对数据的所有更改信息

        • 多个日志文件组之间循环使用

    • 在逻辑上以表空间形式存在(逻辑结构)

      必须首先创建数据库,然后才能使用Oracle
      • 每个Oracle数据库都是由若干个表空间构成,用户在数据库中建立的所有内容都被存储到表空间中

      • 创建数据库时会自动创建若干表空间

    数据库实例:

    • 每个启动的数据库都对应一个数据库实例,由这个实例来访问和控制数据库
    • 为了运行数据库,Oracle系统所运行的所有进程和分配的内存结构的组合体

    备注:

    • 数据库: 永久的,硬盘上
    • 数据库实例:临时的,内存中


    数据库中常用名词:

    • DB: Datebase
    • DBA: Datebase Administrator 数据库管理员
    • DBMS: Datebase Management System 数据库管理系统


    常用数据库;

    • 大型数据库:
      • Oracle:甲骨文公司 大型关系数据库管理系统oracle 商品化的数据库
      • DB2: IBM(eclipse(日食)) 从掌上到大型系统的关系数据库管理系统
      • Sysbase:美国Sysbase公司开发
    • 中小型数据库:
      • Sqlserve:微软
      • MySql:瑞典公司 关系数据库管理系统oracle
      • mysql 2008被sun公司收购 2009被oracle收购
    • 小型数据库:
      • Access:微软

    SQL : 数据库结构化查询语言

    • DQL: Datebase Query Language 数据库查询语言 (select)
    • DML: Datebase Monitor Language 数据库操作语言 增删改(update insert delete)
    • DDL: Datebase Difined Language 数据库定义语言 表的创建和删除(create drop)
    • DCL: Datebase Control Language 数据库的控制语言(权限管理)

    table(表) :二维结构  横向row record(记录)  纵向 column field(字段)

    ---------------------------------------------------------oracle数据库简介---------------------------------------------------------------------------

    oracle数据库安装后只有一个数据库,(多个用户操作一个数据库)

    oracle默认的的数据库监听端口:1521 、HTTP的监听程序端口:8080、Microsoft transaction server 的oracle 服务端口:2030

     

    --------------------------------------------------------oracle数据库的数据类型--------------------------------------------------------------------

    字符(包括字符串)型(char)

    • char类型 char(10) : 如果存储的字符小于10个长度,也会占用数据库10个长度,可能造成空间浪费
    • varchar2 varchar2(256): 如果存储小于定义的长度,自动存储原本数据的长度,不会造成空间浪费,最大长度4000(计算存入数据的大小,缩小空间,因此性能会降低)

    日期类型: Date 
    数字类型: number  

         100 number(3) 整型的数据
         123.15 number(5,2) 前面是精度,后面为小数位 123.145-->123.15
    大类型数据:
         blob:存储大类型非文本文件 视频 音频 4G
         clob:存储文本类型文件

    --------------------------------------------------------oracle10g学习版的安装-------------------------------------------------------------------------

    1.准备:oracle10g学习版,安装。

    每个数据库都有SYS和SYSTEM两个默认用户,都具有创建用户权限

    SYS和SYSTEM用户都是Oracle 的系统用户,它们都使用SYSTEM表空间,SYS拥有更大的权限

    通过CREATE TABLESPACE命令为每个用户创建自己的表空间

    通过CREATE USER命令来创建用户epet

    通过GRANT命令给用户epet赋予相应权限

    2.进入cmd命令行

    3.输入sqlplus进入sql命令

    4.输入账号:System

    5.密码:安装oracle时设置的口令

    6.现在已经进入数据库了。

    ----------------------------------------------------------分割线-----数据库的基本命令:-------------------------------------------------

    显示当前数据库用户:show user;

    断开连接:disconn  (disconnect:断开连接)

    连接用户:conn username/password (connect 连接)

    查询数据库中所有的表:select * from tab;

    创建表:

    create table t_student(
    id number(10),
    name varchar2(20),
    sex varchar2(4),
    hiredate Date
    );

    设置

    设置每行的宽度:set linesize 长度
    设置每个字段的宽度 :

    • 数字类型: column 字段名 for 9999; 用9占位
    • 字符类型: column  字段名  for  a6; 用a占位 后面表示长度



    注意:设置操作只在当前窗口有效

    清除当前屏幕:clear scr;  (scr--screen--屏幕);

    退出登录:exit;

    查询表中的所有记录:select * from table;

    删除表:drop table tablename;

    分组查询 :select  sex,count(*) from student group by sex;

    排序:asc(升序),desc(降序)

    虚表:dual

    常用伪列:rowid,rownum(可用来分页)

    去重复:distinct

    修改:update

    插入:insert into    values

    增删改查(即curd,是Create、Update、Read和Delete)

    回滚:rollback

    授予权限:grant

    撤销权限:

    比较操作符:

    逻辑操作符

    连接操作符:|| 

    模糊查询:like---‘_’:表示占位符、‘%’:表示

    提交:commit

    注意:插入的数据一定要进行提交(commit)操作才会存到数据库中。

     

    ----------------------------------------------------------------------------

     

  • 相关阅读:
    设计模式学习之工厂方法(Factory Method,创建型模式)(2)
    设计模式学习之简单工厂(Simple Factory,创建型模式)(1)
    JAVA基础学习之 Map集合、集合框架工具类Collections,Arrays、可变参数、List和Set集合框架什么时候使用等(4)
    JS图片延迟加载分析及简单的demo
    SVN服务器搭建和使用(三)(转载)
    SVN服务器搭建和使用(二)(转载)
    SVN服务器搭建和使用(一)(转载)
    JAVA基础学习之String、StringBuffer、StringBuilder、基本数据类型的使用、整形进制转换、集合Collection、Vector、ArrayList、LinkedList、HashSet、TreeSet等(3)
    Entity FrameWork 中使用Expression<Func<T,true>>访问数据库性能优化
    JAVA基础学习之throws和throw的区别、Java中的四种权限、多线程的使用等(2)
  • 原文地址:https://www.cnblogs.com/xyblogs/p/9379273.html
Copyright © 2011-2022 走看看