Oracle 学习(1)

  1. Oracle简介 

Oracle是殷墟(yīn Xu)出土的甲骨文(oracle bone inscriptions)的英文翻译的第一个单词,在英语里是“神谕”的意思。Oracle公司成立于1977年,总部位于美国加州,是世界领先的信息管理软件开发商,因其复杂的关系数据库产品而闻名。Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了Oracle系统。

Oracle数据库是Oracle(中文名称叫甲骨文)公司的核心产品,Oracle数据库是一个适合于大中型企业的数据库管理系统。在所有的数据库管理系统中(比如:微软的SQL Server,IBM的DB2等),Oracle的主要用户涉及面非常广,包括:银行、电信、移动通信、航空、保险、金融、电子商务和跨国公司等。

Oracle公司成立以来,从最初的数据库版本到Oracle7、Oracle8i、Oracle9i,Oracle10g到Oracle11g,Oracle12c 虽然每一个版本之间的操作都存在一定的差别,但是Oracle对数据的操作基本上都遵循SQL标准。因此对Oracle开发来说各版本之间的差别不大。

WebLogic是美国bea公司出品的一个application server确切的说是一个基于Javaee架构的中间件,BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。2008116,全球最大的数据库软件公司甲骨文(Oracle)宣布已经同BEA达成协议,以85亿美元收购BEA。

2008116,Sun宣布已经与MySQL AB达成协议,以大约10亿美元收购MySQL AB。

20090420,甲骨文宣布,该公司将以每股9.5美元的价格收购Sun。该交易价值约为74亿美元。

    1. Oracle 体系结构

Oracle服务器 :是一个数据管理系统(RDBMS),它提供开放的, 全面的, 近乎完整的信息管理。由1个数据库和一个(或多个)实例组成。数据库位于硬盘上,实例位于内存中。

    1. 表空间(users)和数据文件

逻辑概念:表空间,表空间由多个数据文件组成。位于实例上,在内存中。

物理概念:数据文件,位于硬盘之上。(C:\app\Administrator\oradata\orcl目录内后缀为.DBF的文件)

  一个表空间可以包含一个或者是多个数据文件。1:n(表空间:数据文件)

    1. 、区、块

 

段存在于表空间中;  段是区的集合;  区是数据块的集合;  数据块会被映射到磁盘块。 

 

    1. DBA的时间开销

 

    1. 数据库的启动设置

控制面板 → 管理工具  → 服务  → OracleServiceORCL → 自动(手动)

控制面板 → 管理工具  → 服务  → …home1TNSListener → 自动(手动)

  1. sqlplus 登录
  2. sqlplus  ↙ 用户名 ↙ 密码 ↙
  3. sqlplus scott/11  ↙   或   sqlplus hr/11  ↙
  4. 以管理员身份登陆:sqlplus  /  as  sysdba  (在Oracle数据库安装时指定了登陆密码)
  5. 解锁用户:SQL> alter user scott account unlock   (管理员身份登陆,给scott用户解锁。用户默认锁定)
  6. 修改用户密码:SQL> alter user scott identified by 新密码    (管理员身份登陆,给scott用户修改密码)
  7. 查看当前语言环境:SQL> select userenv('language') from dual  
    1. 贯穿这门课程的方案

scott方案:

 

hr方案: 

  1. 基本的SQL select语句
    1. sqlplus的基本操作

显示当前用户: SQL> show user;

查看当前用户下的表: SQL> select * from tab;

tab: 数据字典(记录数据库和应用程序源数据的目录),包含当前用户下的表。

查看员工表的结构: SQL> desc emp; (desc  →  description 描述)

设置行宽:set linesize 120;

设置页面:set pagesize 100;

  或者将上述两行写入如下两个配置文件,可永久设置:

C:\app\Administrator\product\11.2.0\client_1\sqlplus\admin\glogin.sql

C:\app\Administrator\product\11.2.0\dbhome_1\sqlplus\admin\glogin.sql

设置员工名列宽:col ename for a20 (a表示字符串)

设置薪水列为4位数子:col sal for 9999 (一个9表示一位数字)

    1. 基本 SELECT 语句

其语法格式为:

SELECT *|{[DISTINCT] column|expression [alias],...}

FROM table;

查询所有员工的所有记录: SQL> select * from emp; (效果等同于:)

SQL> select empno, ename, job, mgr, hiredate, sal, comm, deptno from emp;

※SQL优化: 尽量使用列名代替 * (Oracle 9i之前不同, 之后一样)

查询员工号、姓名、薪水: SQL> select empno, ename, sal from emp;

增加年薪: SQL>  select empno, ename, sal, sal * 12

   from emp;   

“/”执行上一条成功执行的SQL语句。

修改上一条SQL语句:

  1. 用c命令来修改(c 即 change)

默认,光标闪烁位置指向上一条SQL语句的第一行。输入 2 则定位到第二行

c  /错误关键字/正确关键字 ↙

使用“/”来执行修改过的SQL语句

例如:错误输入了:SQL> select empno, ename, sal, sal * 12 

   from emp;   (“from”书写错误,该错误位于整条SQL语句的第二行)

  1. 输入:2↙  终端提示:2* from emp
  2. 输入:c  /form/from ↙ 终端提示:2* from emp  (意为改正后的sql语句样子)
  3. 输入:/↙
  1. 使用ed命令来修改   edit

ed ↙弹出系统默认的文本编辑器,(如记事本)

修改、保存、退出、执行“/”。

别名:as     SQL> select empno as “员工号”, ename “姓名”, sal 月薪, sal * 12 年薪

     from  emp;  

关键字as写与不写没有区别; “”有与没有取决于别名中是否有空格或者关键字

“DISTINCT” 关键字。重复记录只取一次

SQL> select deptno from emp; → SQL> select DISTINCT deptno from emp;

SQL> select job from emp;  →   SQL> select distinct job from emp;

SQL> select distinct deptno, job from emp;  会发现没有行减少,因为deptno不重复。

因此得出,DISTINCT的作用范围 distinct作用于后面所有列

    1. SQL语句使用注意事项
  • SQL 语言大小写不敏感。 
  • SQL 可以写在一行或者多行
  • 关键字不能被缩写也不能分行
  • 各子句一般要分行写。
  • 使用缩进提高语句的可读性。
    1. 算数运算 + - * /
  • 乘除的优先级高于加减
  • 优先级相同时,按照从左至右运算
  • 可以使用括号改变优先级

查询: 员工号、姓名、月薪、年薪、奖金、年收入。

SQL> select deptno, ename, sal, sal * 12, comm, comm+sal*12 from emp;

结果不正确。没有奖金的员工,年收入不正确。

需注意在程序开发过程中数据是核心程序再正确也没有用,必须保证数据不能丢,且正确。对于上面的结果,有对有错的情况是最危险的。

    1. NULL值

☆NULL值问题:1. 包含NULL值的表达式都为空。2. NULL != NULL

解决:滤空函数:nvl(a, b)  如果a为NULL, 函数返回b。所以:sal * 12 + nvl(comm, 0) 年收入。

NULL != NULL举例:

查询奖金为NULL的员工信息: SQL> select * from emp where comm = NULL; (SQL中不使用==)

在SQL中判断一值是否等于NULL不用“=” 和“!=”而使用is和is not

SQL> select * from emp where comm is NULL; (is not)

空值是无效的,未指定的,未知的或不可预知的值

空值不是空格或者0。(特别强调)

    1. 连接符

Oracle中定义了一个连接符 ’||’ 用来连接字符串。

显示“xxx 是一个 xxx”怎么显示呢?

SQL> select ename || ‘ is a ’ || ‘job’ from emp  

但是如果显示一个“hello world”应该怎么显示呢?

  1. 使用concat函数来实现: SQL> select concat(‘hello’, ‘ world’) from ????

这两个字符串不是任何一个表的内容,在Oracle中,定义一张“伪表”dual用来满足SQL99语法(ANSI)。

语法规定:select 后 必须接 from。

再如: SQL> select concat('hello', ' world') as "你好" from dual  

  注意:SQL双引号“”表示别名,使用‘’来表示字符串。

但是: SQL> select concat('hello', ' world', ' Oracle') as "你好" from dual 可以吗?

可以这样:SQL> select concat('aa', concat('bb', 'cc')) from dual;  

  1. 使用连接符 || 来实现: SQL> select 'hello' || ' world' || ' Oracle' as "你好" from dual  

再如: SQL> select 3 + 2 from dual;

‘||’就是用来代替concat函数的。SQL> select ename || ‘ is a ’ job “员工描述” from emp  

    1. SQL和sqlplus

我们已经学习使用了select,应该知道还有update、delete、insert、create…

同时,我们学习了ed、c、set、col、desc….

SQL → 语言,关键字不能缩写。

sqlplus → Oracle提供的工具,可在里面执行SQL语句,它配有自己的命令(ed、c、set、col) 特点是缩写关键字。

SQL

    • 一种语言
    • ANSI 标准
    • 关键字不能缩写
    • 使用语句控制数据库中的表的定义信息和表中的数据

SQL*Plus

    • 一种环境
    • Oracle 的特性之一
    • 关键字可以缩写
    • 命令不能改变数据库中的数据的值
    • 集中运行

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/484023.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

未来教育 · 软件破解

1、点击右侧链接,下载百度网盘 未来教育压缩包 [未来教育(提取码:hwx8)] 2、解压压缩包,安装软件 计算机等级考试模拟软件.exe (安装前务必打开网络)。 3、安装完成后,点击添加课程,选择自己需要的课程等级&#xff0…

网络攻防技术

1.网络攻防 2.DDos具体攻击过程:拒绝服务攻击; 3.防护体系 防火墙:是位于两个(或多个)网络间,实施网间访问控制的一组组件的集合;IDS/IPS:VDS/VPS: 网络病毒检测系统VDS 是用于实时监测网络环境中病毒疫…

科普:不要对移动机器人有误解

来源:Allians联汇智造 作者:CSDN博主一、移动机器人介绍区别于AGV(AutomaticGuided Vehicle,自动导引车,指装备有电磁或光学等自动引导设备,能按规定路径行走的自动运输车)等自动化运输车&#…

Linux命令整理 —— 目录结构

二 、vi 和 vim 编辑器 【写在前面】 云计算与分布式这门课程的实验都是在Linux下完成的,虽然之前也一直也学习过Linux,但是一直没有系统的过一遍。这周花了两天的时间看完了尚硅谷的Linux教程,在这里记录一下学习过程,也方便自己…

这应该是史上最强的物理学科普(雄文)

图文来源:微信公众号:财经小报告本文素材主要摘录自加来道雄的《Hypersapce》和丘成桐的《The Shape of Inner Space》。作者希望凭籍本文,回顾一下两百年来的科学史,看看那些代表着人类最高心智的数学家、物理学家们前仆后继探究…

《动手学深度学习》第一天 (2.1+2.2)

2.1 获取和运行本书的代码 2.1.1获取代码并安装运行环境 第一步: 安装Miniconda ,由于我的电脑已经安装过Anaconda,所以就没有再安装Miniconda了。 第二步:下载代码,地址 https://zh.d2l.ai/d2l-zh-1.0.zip 第三步…

从技术到科学,中国AI向何处去?

来源: 科学网编辑:宗华排版:华园作者:金榕(阿里巴巴达摩院副院长、原密歇根州立大学终身教授)● AI时代序幕刚拉开,AI目前还处于初级阶段,犹如法拉第刚刚发现了交流电,还…

QT高级编程之基本函数用法

1.QString类函数介绍 toInt()函数,可以将整型按照不同进制转换为QString对象;number()函数,可以将QString对象转换为不同进制的数字; 2.文档查询方法:通过Qt Creator编辑器通过帮助->索引->QString查看QString…

Linux命令整理 —— vi 和 vim 编辑器

一、目录结构 二 、vim 和 vim 编辑器 2.1【基本介绍】 所有的 Linux 系统都会内建 vi 文本编辑器。 vim 具有程序编辑的能力,可以看做是 vi 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方…

网络版ATM项目的实现——客户端

网络版的ATM实现思路 客户端 1 #include "customer.h"2 3 static int sockfd;4 5 /*int create_msg_queue_c(int key)6 {7 //创建消息队列8 int msgid msgget(key,IPC_CREAT|0644);9 if(0 > msgid)10 {11 perror("msgget");12…

为什么航空发动机那么难造?看看3D工作原理

来源:网络目前大部分航空发动机都是属于燃气涡轮型,民用客机的发动机突出的安全性和可靠性,而军用发动机在这个基础上还追求更大的推力,以及开加力时的最大推力。由此可见,航空发动机领域中最强者必然是军用航发&#…

OSGB格式解析

主要介绍倾斜摄影数据OSGB二进制数据的解析,首先简单介绍一下OpenSceneGraph相关技术,并介绍倾斜摄影数据的组织结构,着重分析OSGB格式的相关字段,最后逐字节对OSGB数据进行解析并通过OpenSceneGraph对数据进行可视化,…

《动手学深度学习》 第二天 (自动求梯度)

2.3、自动求梯度 MXNet提供的autograd模块可以用来自动求梯度。 2.3.1 一个简单的栗子 这里我们要求对函数 y 2xTx (2乘以x的转秩乘以X)求关于列向量 x 的梯度。(使用jupyter notebook) 1、 创建变量x,并赋初值 x nd.arange(4).reshape((4,1)) #…

Gartner发布2021年新兴技术成熟度曲线

来源:Gartner中国8月24日,Gartner 公司最新发布了“2021年新兴技术成熟度曲线”(Hype Cycle for Emerging Technologies,2021)。其中,建立信任,加速增长以及塑造变革将是三大主要趋势&#xff0…

Vue语法学习第一课——插值

学习关于Vue的插值语法 ① 文本值 &#xff1a; "Mustache"语法&#xff0c;即双大括号 1 <span>Message:{{msg}}</span> 注&#xff1a;双大括号中的msg值改变&#xff0c;插入的内容也会随之改变&#xff0c;可通过v-once指令限制&#xff0c;但会影响…

人工智能“上位”会让程序员消失吗?

大脑以及二进制代码&#xff08;图&#xff1a;Canva&#xff09;来源&#xff1a;Forbes作者&#xff1a;Nisha Talagala编译整理&#xff1a;科技行者写代码已经成了许多工作的一项关键技能。一些国家和学校甚至认为&#xff0c;编程语言是一种可以接受的外语。而在各种熙熙攘…

分类的IP地址

现有物理地址再有IP地址IP地址的表示方法为点分十进制法IP地址的设计思想&#xff1a;网络部分 主机部分 分类的IP地址 特征&#xff1a;根据不同特征的IP地址&#xff0c;事先约定好网络号所占的位数和主机号所占的位数。 A类地址 全球一共有27-2 个A类网络&#xff0c;每…

卫星对于物联网来说是一个非常好的选择

ALAMY来源&#xff1a;IEEE电气电子工程师对许多人来说&#xff0c;“物联网”一词可能会让人想起智能城市的努力&#xff0c;比如配备交通摄像头和空气质量传感器的路灯&#xff0c;或者在自己家里连接设备。一个很自然的问题是&#xff0c;为什么你从没想使用卫星连接任何这些…

利用子网掩码划分子网

分类IP地址的弊端 一个物理网络不能过大&#xff0c;否则网络性能很差&#xff0c;某个B类或A类IP网络无法全部用于单个物理网络分类IP地址分配不合理&#xff0c;利用率低分类IP地址设计的弊端 —— 不灵活&#xff0c;IP地址利用率不高 划分子网的思路 网络管理员将本应属于…