Oracle笔记 Day-1

Oracle 数据库之中基本的分类:

xxxI:表示是“internate”,代表 Oracle 8i,Oracle 9i

xxxg: 表示网格计算,指的是进行更加高效的数据查询处理

xxxc: 表示进行云计算,使用了云计算的形式实现了数据库的处理高效

Oracle 11g ,里面所提供的数据库的存储结构相对简单(大部分都简单)。

SQLPlus基础命令

Oracle数据库安装完成之后实际上现在获得了两项内容:

Oracle数据库管理平台;

Oracle实例数据库的安装(MLDB数据库).

1.登陆数据库

sqlplus scott/tiger

2.只输入用户名会提示输入密码

sqlplus scott

3.进入到sqlplus 环境里面那么将连接当前仅有的一个数据库“mldn”,那么这个时候可以利用以下的命令查看数据库之中的数据表信息(命令使用“;”完结):

SElECT * FROM tab ;

4.如果现在在的进行浏览的时候发现结构显示的混乱,主要是由于格式化的处理问题,可以采用如下的两个命令进行配置

设置每行显示的数据长度:SET LINESIZE 100

设置每页显示的数据行数:SET PAGESIZE 30

在每次启动完成sqlplus工具之后都需要重复进行设置。

数据库组成

此时发现显示的数据表的信息是按照一个“行列结构”(表)的形式进行显示的,其中“TNAME”太长了,所以可以针对与某一个列上进行格式化的调整。

5.针对tname的列进行格式化显示控制

COL tname FOR A20

6.此时可以发现mldn数据库下的scott用户里面有四张表。

模式

当前使用的是scott用户进行的sqlplus登录,则意味着,当前就会列出全部的scott用户的数据表,如果想要查看数据表的详细内容,则可以:

SELECT * FROM 表名称;

查看dept表中的全部内容:

SELECT * FROM dept;

7.一个数据库下会有多个同时存在的用户,也可以使用如下语法结构进行用户的切换:

CONN[ECT] 用户名/密码 [AS SYSDBA | SYSUSER]

此时表示要是使用特定的用户名和面膜进行登陆,如果现在登陆的是超级管理员则应该在登陆后面追加“AS SYSDBA”选项。

8.使用sys(超级管理员)账户进行登陆:

CONN sys/change_on_install AS SYSDBA

此时如果使用的是system登陆就可以不需要使用“as sysdba”(它只是一个普通的管理员)

CONN sys/manager

不同的用户拥有不同的数据表信息,所以现在可以查看sys账户下的所有的数据表信息;

9. 在不同用户模式下如果想要访问其他用户定义的数据表信息,则需要在数据表前追加上“用户名”(模式名)。

当前是在system账户中,那么如果进行数据表查询,则查询的一定是用户的表,但是system没有detp表信息,如果不确定测可以使用如下的命令进行验证:

SHOW USER

范例: 使用表的完成名称进行查询(scott.deqt)

SELECT * FROM scott.dept;

10.为了解决在非桌面操作系统的代码复制问题,在Oracle里面提供本机默认记事本调用的程序“ED”,

定义一个执行文件:ed mldn(默认的文件后缀就是“*.sql”)

定义要执行的命令:SELECT * FROM scott.dept;

执行sql文件:@mldn(默认使用的是“*.sql”后缀)

11.在使用sqlplus的时候还有一点比较方便,就是可以直接调用本机操作系统的命令。

在dos中有一个copy命令,语法:

copy 源文件目录 目标文件目录

这个命令可以直接在sqlplus中调用,但是在调用命令前需要编写一个“HOST ”标记。

HOST copy d:\hellp.jpg d:\info.jpg

好处:利用此操作对于一些数据库的管理人员会非常的方便。

清屏:clear src

SQL标准

由IBM推出,为解决数据库操作不统一,最早由Oracle数据库支持SQL标准的关系型数据库。

SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常用于数据库的通讯。

sql语法一共分为几类:

1.DML数据操作语言: 数据查询(SELECT * FROM dept)、数据更新处理(增加、修改、删除)、事务管理问题

2.DDL数据定义语言: 数据表结构定义,进行数据库对象定义(用户、数据表、模式名称)

3.DCL数据控制语言: 授权管理。

在scott用户下有四张数据表

查看每一张数据表的组成可以使用“DESC 表名称”的语法形式

例:查看的dept表结构    DESC dept;

1.部门信息表

部门信息表之中一共保存有三列的数据信息

2.雇员信息表

一个部门会有多位雇员,在雇员表里面需要记录好对应的部门信息(deptno)。

Oracle 之中的Date数据类型可以保存日期时间两个单元结构,但很多其他的数据库中的日期只能保存日期时间就是时间结构。

3.工资登记表

给定一共等级的范围,那么只要在此范围内的数值就是此等级信息。

4.工资表

工资表是在所有表中没有数据存在的信息表。

SELECT * FROM bonus;

查询

分类:简单查询,限定查询,查询排序,多表查询,统计查询,分组查询,这些查询统一作为DML的一部分。

简单查询的本质是通过一张数据表获取相对应的信息,以及对这些信息进行一些简单的处理操作,简单查询基本语法:

SELECT [DISTINCT] * | 列 [别名],列 [别名],列 [别名],...

FROM 数据表[别名]

作用:

FROM子句:是定义要查询的数据资源,位置可能是数据表也可能是某些查询(行列集合);

SELECT子句:确定要显示的查询列。

简单查询操作的最大特点在于,会将指定数据表中全部的数据行进行列出,但是可以自己控制数据列,SELECT子句实现显示数据列的控制,如果使用通配符“*”表示将查询所有列的内容。

例:查询emp表中的全部数据SELECT * FROM emp;

默认的简单查询会返回全部的数据行信息,但是如果有需要可以只查询几列的信息

例:查询每个雇员的编号(empo),姓名(ename),职位(job),基本工资(sal)

SELECT empno ,ename,job,sal

FROM emp ;

在进行简单查询的操作过程之中,也可以进行列内容的数学计算.

例:查询每个雇员的编号,姓名,职位,基本年收入*12.

SELECT empno , ename , job, sal*12 income

FROM emp ;

income(代表别名)

在编写别名的时候尽量不要去使用中文进行别名的标.

SQL标准的语法结构,所有的别名需要"as"关键字来进行设置,但是Oracle由于内部的设计比较方便,所有可以简化 as.

在使用四则运算的过程中,可以使用"()"修改运算的优先级.

DISTINCT关键字可以取消重复信息(只要在所有的内容全部重复的时候才会进行重复数据的消除)

例:查询所有雇员的职位(job)信息

SELECT DISTINCT job

FROM emp;

在使用查询的司会除了输出数据列的信息之外,也可以输出一些常量的内容,在数据库操作中给出两类常量:

字符串:所有的字符串必须使用"'"(单引号)声明;

数字:可以直接定义数字内容.

SELECT '雇员信息' ,  ename ,18 FROM emp;

但是在定义常量定义的时候,别名和常量的作用不同.

在使用简单查询的时候,可以使用"||"实现数据连接,最终会变成一列内容返回.

例:实现数据的连接显示(格式:"雇员姓名:xxx,雇员工资:xxx")

SELECT '雇员姓名:'  || ename || '雇员工资:'  || sal 信息

FROM emp;

限定查询


主要作用是通过一些条件的筛选,选择出部分内容进行显示.在之前使用的简单查询最大的特点是只能够控制数据列的显示,如果想要进行数据行的显示控制,就必须利用限定查询来完成,此时只有满足条件的数据行才可以进行展示:

你可能感兴趣的:(Oracle笔记 Day-1)