zoukankan      html  css  js  c++  java
  • Orecle基本概述(1)

    Orecle
    1.什么是orecle及体系结构?
    * 全局数据库,指物理磁盘数据库,一个真实存在的磁盘目录.
    *用户: 用户在oracle里面是用来隔离数据的
    *表空间: 逻辑结构,不可视的,虚拟的,用户的数据存在表空间上
    *数据结构: 存放数据的文件,物理结构,真实存在的磁盘文件
    一个数据库下可以建立N表空间,一个表空间可以建立N个用户,一个用户可以建立N个表!!
    2.oracle的sql语句命令分类
    (1).DDL: 数据定义语言,create创建/drop销毁
    (2).DCL:数据库控制语言,grant授权/revoke撤销
    (3).DML:数据库操纵语言,insert/update/delet等..
    (4).DQL: 数据查询,select等..
    3.创建表空间
    创建语法:
    create tablespace 表空间的名字
    datafile '磁盘数据文件地址' size 数据文件大小
    autoextend on next 自动增长的大小
    注意:磁盘数据文件要写虚拟机的地址!
    4.用户
    4.1 创建用户
    语法:
    create user 用户名 identified by 密码
    default tablespace 表空间名字
    4.2 用户授权
    DBA角色: 拥有全部权限,是系统最高权限.
    授予权限语法:
    格式一: grant 权限一 , 权限二, to 用户
    格式二 : grant 角色 to 用户 (推荐使用)
    注意: 授权必须在system 用户下,否者无法正常登陆
    5.Oracle数据类型
    (1).varchar2: 字符串类型,
    (2). number :整数类型,有效范围1~38
    (3).date: 日期类
    (4).long : 小数型
    (5).CLOB : 大对象,表示大文本数据类型,可存4G
    (6).DLOB: 大对象,表示二进制数据,可存4G,适合储存视频/文档等数据
    6.表的管理
    6.1 建表
    语法:
    create table 表名(
    字段1 数据类型 [default默认值]
    字段1 数据类型 [default默认值]
    .........
    );
    6.2 表删除
    语法:
    (1).完全销毁表
    drop table 表的名字
    (2).删除表里全部数据
    delete from 表名字
    6.3 表修改
    添加语法: alter table 表名称 add(列名字 类型 [ default 默认值 ].......);
    修改语法:alter table 表名称 modify(列名字 类型 [default 默认值].....);
    修改列名: alter table 表名称 rename column 旧列名 to 新列名;
    6.3.1 数据库表数据的更新
    语法:
    语法一: insert into 表名 [(列名 1, 列名2,...)] values(值1,值2,....);
    语法二: insert into 表名字 values(值1,值2.....)
    6.3.2 序列
    介绍: oracle中自增长的功能
    语法:
    CREATE SEQUENCE 序列名
    [INCREMENT BY n] [START WITH n]
    [{MAXVALUE/ MINVALUE n|NOMAXVALUE}] [{CYCLE|NOCYCLE}]
    [{CACHE n|NOCACHE}];

    例子:
    create sequence seqpersonid
    maxvalue 9999999999999999999999999999
    start with 1
    increment by 1
    cache 5
    cycle;
    nextval :取得序列的下一个内容
    currval :取得序列的当前内容
    insert into person values(seqpersonid.nextval,'李四 ',1,to_date('2018-8-18','yyyy-MM-dd'),'广州');
    6.3.3 update(修改)
    语法:
    全局修改: update 表名 set 列名 1 =值1,列名 2 =值2........
    局部修改(带条件) : update 表名 set 列名 1 = 值 1 ,列名 2= 值2,...where 修改条件
    7.单行函数
    7.1 字符函数
    *把小写的字符转换成大写的字符
    select upper('abc') from dual;
    *把大写字符变成小写字符
    select lower('ABC') from dual;
    *字符串替换函数
    select replace('abc hello world','hello','world') from dual;
    7.2 数值函数
    *四舍五入函数,round(数字,n),n代表保留数字的几位小数,n不写保留整数
    select round(123.456) from dual 结果: --123
    select round(123.456,2) from dual 结果: --123.46
    7.3 日期函数
    *关键字:sysdate,获取系统当前时间
    select sysdate from dual;
    公式:
    日期+数字=日期,数字单位是天
    日期-数字=日期,数字单位是天
    日期-日期=数字,单位是天
    7.4 转换函数
    *时间格式:fmyyyy-MM-dd HH:mi:ss
    *yyyy/YYYY,年
    *mm/MM,月
    *DD/dd,日
    *hh/HH,代表12小时制
    *hh24/HH24,代表24小时制
    *mi,分钟
    *ss,秒
    *fm,去掉补0数字
    *TO_CHAR:日期转换字符串函数
    select to_char(hiredate,'fmyyyy-MM-dd hh24:mi:ss') from emp;
    * TO_DATE:字符串转日期函数
    select to_date('2018-01-01','yyyy-mm-dd hh24:mi:ss') from dual;
    7.5 通用函数
    * 空值处理nvl
    语法:nvl(字段 , 当前字段为空null返回的值)
    * Decode 函数,用于条件判断(可以用于将职位转换为中午)
    语法:decode(字段,'aa','当字段值为aa时返回的值','bb','当字段值为bb时返回的值',...,'以上都不符合返回的值')
    * case when,用于调节判断
    语法:case 字段
    when 值1 then 当字段值为值1时返回的值
    when 值2 then 当字段值为值2时返回的值
    ...
    else 以上都不符合返回的值
    end
    8.多行函数
    8.1 查询总记录数(可带条件)
    语法: select count(*) from 表名字;
    8.2 查询最低值(可带条件)
    语法: select min(字段名字) from 表名字;
    8.3 查询最大值
    语法:select max(字段名字) from 表名字;
    8.4 查询平均值
    语法:select avg(字段名字) from 表名字;
    8.5 查询总和/求和
    语法:select sum(字段名字) from 表名字 where 条件;
    9.分组统计
    语法:
    SELECT * |列名 FROM 表名 {WEHRE 查询条件} {GROUP BY 分组字段} ORDER BY 列名 1 ASC|DESC,列名 2...ASC|DESC

  • 相关阅读:
    Android “swipe” vs “fling”
    Parcel
    ViewConfiguration 和 ViewConfigurationCompat
    Hive记录-配置支持事务管理hive-site.xml
    SQL记录-资源正忙online或nowait
    SQL记录-解锁和dbms_job操作
    Java记录-SpringMVC整合Echarts画地图加散点图
    Hive记录-impala常用命令
    Hive记录-Sqoop常用命令
    Linux记录-shell一行代码杀死进程(收藏)
  • 原文地址:https://www.cnblogs.com/flzidea/p/10183381.html
Copyright © 2011-2022 走看看