zoukankan      html  css  js  c++  java
  • Oracle常见的语法,以及跟MySQL的区别

     实例、用户、表空间、具体表、他们之间的关系??

    解释:一个用户只能属于一个数据库,但是一个数据库中可以有多个用户。
    扩展:实际上这里面还有表空间的概念,一个数据库可以有多个表空间,一个用户可以默认一个表空间,但是可以操作多个表空间,多个用户可以同时用一个表空间。

    表设计完成之后开始创建表了,但是Oracle按照步骤是是这样的:

    1.创建表空间

    create tablespace waterboss
    datafile 'c:waterboss.dbf'
    size 100m
    autoextend on
    next 10m

    解释:

    waterboss 为表空间名称
    datafile 用于设置物理文件名称
    size 用于设置表空间的初始大小
    autoextend on 用于设置自动增长,如果存储量超过初始大小,则开始自动扩容
    next 用于设置扩容的空间大小

    2.创建用户

    create user wateruser
    identified by itcast
    default tablespace waterboss

    解释:

    wateruser 为创建的用户名
    identified by 用于设置用户的密码
    default tablesapce 用于指定默认表空间名称

    3.用户赋权

    grant dba to wateruser
    
    解释:
    给用户 wateruser 赋予 DBA 权限后即可登陆

    4.表的创建、修改与删除,(从这开始步入正题咯,要注意啦, 我所要知道的就是,sql语句,MySQL与Oracle的区别!!!!)

     sql语句的区别

        实例与创建数据库

      mysql可以创建数据库,而oracle没有这个操作,oracle只能创建实例;
    1.其实实例也就是数据总库
    2.MySQL创建数据库是sql语句,但是Oracle是安装的时候的操作,跟建立用户一样,

     /** create database 数据库名 character set 字符集;*/


    什么是实例?
    实例就是内存结构和一组后台进程.

    实际上,正常的数据库读入内存的过程是,由实例中一组后台进程从磁盘上将数据文件读入到实例的内存中,然后经过在内存中对数据的操作再从实例的内存中经过一组后台进程写到数据库中.

    那实例相对与数据库而言,应该就是数据库的运行环境(随不准确但也很贴切).
      

         创建表异常

    /*
      mysql:
        1、mysql没有number、varchar2()类型;
        2、mysql可以声明自增长:auto_increment;
        3、mysql有double类型;
      oracle:
        1、oracle没有double类型、有int类型但多数会用number来代替int;
        2、oracle不可以声明自增长:auto_increment,主键自带自增长;
        3、oracle小数只有float类型;
    */

    --MySQL:
    create TABLE emp(
      eno INT PRIMARY KEY AUTO_INCREMENT,
      ename VARCHAR(20) NOT NULL UNIQUE,
      job VARCHAR(10) DEFAULT '员工',
      mgr INT(10),
      hiredate  DATE,
      comm DOUBLE 
    );

    --Oracle:
    create table emp(
      empno number(10) primary key ,--主键
      ename varchar2(20) not null unique,--不能为空,唯一
      job varchar2(10) default '匿名',--默认值,用单引号
      mgr number(10),
      hiredate date,--默认格式DD-MM-YY
      sal number(10,2),
      comm float,
      deptno number(10)
    );

     

     

    路漫漫其修远兮,吾将上下而求索
  • 相关阅读:
    深度历险:Redis 内存模型详解
    Redis 的 8 大应用场景!
    Java并发计数器探秘
    更改系统环境设置,让alias永远生效
    GoldenGate中使用FILTER,COMPUTE 和SQLEXEC命令
    数据集成实例
    客户视角:Oracle ETL工具ODI
    OGG-00782
    Oracle过程包加密
    Concurrent Request:Inactive phase,No Manager status
  • 原文地址:https://www.cnblogs.com/lihailong/p/11680299.html
Copyright © 2011-2022 走看看