数据库

一、数据库的意义和常用的数据库

(一)数据库的意义和发展

随着互联网时代的到来,需要持久化数据呈现井喷式发展,常规的 io 操作虽然可以满足持久化的需求,但是,对于持久化的目的,对数据的操纵,显然力不从心,且操作的复杂度很大,不利于大规模的发展,审时度势,数据库应运而生。

数据库(Database)是按照数据结构来组织、存储和管理数据的 仓库 ;随着信息技术和市场的发展,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的 表格 到能够进行海量数据存储的 大型数据库系统 都在各个方面得到了广泛的应用。
数据库现在已经成为数据管理的重要技术,也是计算机的重要分支。由于数据库具有数据结构化,最低冗余度、较高的程序与数据独立性,易于扩展、易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。数据库的运用从一般管理扩大到计算机辅助技术、人工智能以及科技计算等领域。
随着数据库技术的发展,计算机技术也随着得到了很大的发展,数据库为我们提供了可以快速存储以及检索的便利,它也为近几年软件可以如此普及贡献不小的力量。

(二)常用的数据库

分类 产品 特点
小型 access、foxbase 负载量小,用户大概 100 人以内 (留言板、信息管理系统) ;成本在千元之内 ,对安全性要求不高
中型 sqlservler、mysql 负载量,日访问在 5000~10000 ;成本在万元以内(商务网站) ;满足日常安全需求
大型 sybase、db2、oracle 海量负载,可以处理海量数据( sybase<oracle<db2海量处理能力);安全性高,相对贵

二、SQL语言的介绍和分类

SQL(Structured Query Language)为数据库的语言,在1974 年由Boyce【博伊斯】和Chamberlin【钱伯林】提出的一种介于关系代数与关系演算之间的结构化查询语言,是一个通用的、功能极强的关系型数据库语言。

SQL语言的分类:

DDL:数据定义语言

DML:数据管理语言

DCL:数据库控制语言

命令分类操作:

分类 命令
DDL create:创建;drop:删除;alter:修改;rename: 重命名; truncate:截断
DML insert:插入;delete:删除;update:更新;select:查询
DCL grant:授权;revoke:回收权利;commit:提交事务;rollback:回滚事务

三、SELECT

(一)注意事项

在oracle命令中是不区分大小写的(SELECT和select是一样的),存储数据或者内容是需要区分大小写的

(二)解析步骤

from–>where–>select–>order by

(三)查询列(字段)

1、注释

–单行注释

/*

多行注释

*/

--以下例子均使用的是SCOTT用户表
/*
dept:部门表
emp:雇员表
salgrade:工资等级表
bonus:奖金表
*/

2、查询|检索|获取

--这是查询所有信息的方式
--查询数据:查询所有信息用*
--数据的来源:emp员工表
--条件:无
select * from emp;--查询员工名字
select ename from emp;--查询所有的员工的编号和名称以及上级编号
select empno,ename,mgr from emp;

输出结果:


3、去重:对结果集中完全相同的多条数据只显示一条

--输出所有员工的部门编号
select deptno from emp;--输出所有部门编号
select distinct deptno from emp;

输出结果:

4、取别名:取代替的名字
注意事项:

(1)是否用as 表的别名不可以使用as,列的别名可以使用as也可以不使用

select ename 员共姓名 from emp e;
select ename as 员工姓名 from emp e;

输出结果:
(输出结果一样)

(2)是否使用“ ”
“ ”中的内容原封不动,需要空格的时候,要放在“ ”中,当别名为英文的时候默认大写,如果需要小写的话也需要“ ”。

select ename 员工姓名 from emp;
select ename "员工   姓名" from emp;
select ename name from emp;
select ename "name" from emp;




5、字符串‘ ’
作为伪列(下文将解释)存在时,默认字段名字段值都为当前字符串

select deptno,dname,'xixihaha' from dept;
select deptno,dname,'xixihaha' "nonono" from emp;

输出结果:

6、字符串拼接||
字符串拼接使用的时||

select 'xixi'||'haha' from emp;
select 'XIXI'||ename 员工姓名 from emp;
select ename||sal from emp;

输出结果:


7、伪列
数据源中不存在的字段,可以在select后面查询,假设存在
伪列可以是表达式、整数、字符串

select '2*3' from emp;
select 2*3 from emp;

输出结果:

8、虚表
虚表:dual既是虚拟的表

select * from dual;
select 123*321 from dual;
select 2*3 from dual;
select 2*3 "df" from dual;

输出结果:



9、null值的处理
null表示的是空,空和0的意义是不一样的

--null值与数字进行运算得到的结果仍是null
select comm+1 from emp;--null值与字符串拼接,结果为字符串,数值与字符串拼接为相加
select ename,sal,comm,comm||'1' from emp;--处理null值 : nvl(值1,值2) 当值1为null,nvl函数的结果为值2,当值1不为null,nvl函数的结果为值1
select ename,sal,comm,nvl(comm,0)+1 from emp;

输出结果:


10、小练习:
查询所有员工的姓名、工种、年薪(不带奖金)
查询所有员工的姓名、工种、年薪(带12个月的奖金)
查询所有员工的姓名、工种、年薪(带一次奖金)

select ename,job,sal*12 from emp;
select ename,job,(sal+nvl(comm,0))*12 from emp;
select ename,job,sal*12+nvl(comm,0) from emp;

输出结果:


(四)特殊查询

条件查询:select 要查询的数据 from 数据源 where 行过滤条件 order by 排序字段1,排序字段2…;
执行流程 : from --> where --> select -> order by
条件判断运算符 : = < > <= >= != <>
条件连接符 : and or not
区间判断 : 条件1 and 条件2 | between 值1 and 值2(相当于>=与<=)
where过滤行记录条件,条件有

a)、= 、 >、 <、 >=、 <=、 !=、 <>、 between and
b)、and 、or、 not、 union、 union all、 intersect 、minus
c)、null :is null、 is not null、 --not is null
d)、like :模糊查询 % _ escape('单个字符')
f)、in 、 exists(难点) 及子查询

Oracle查询入门(一)数据库概述和基本查询相关推荐

  1. 实验4mysql查询数据_数据库实验四 复杂查询.doc

    实验四 复杂查询 一.实验目的 掌握两个表以上的连接查询的应用,包括嵌套查询. 二.实验内容 (1)查询比"林红"年纪大的男学生信息. select * from Studentw ...

  2. oracle从入门到精通(4)------运算符,分组查询,函数

    oracle入门到精通(4) --------------------------------------------- 1.运算符 2.分组查询 3.函数 --------------------- ...

  3. 按学号和姓名进行查询c语言,数据库实验4 数据查询(答案)

    数据库技术与应用实验 实验4 数据查询 实验4 数据查询 学号:18103317 专业:电子信息工程 一.实验内容和步骤 1.在studentsdb数据库中,使用下列SQL语句将输出什么?并说明语句中 ...

  4. mysql 5.5 查询_mysql5.5数据库优化--定位慢查询

    什么是慢查询 mysql记录下查询超过指定时间的语句,被称为"慢查询": 启动慢查询日志 1.查询是否把索引的SQL记录到慢查询日志中 SHOW VARIABLES LIKE 'l ...

  5. DB(一):数据库概述、SQL概述、Oracle数据类型

    文章目录 ORACLE SQL 一.数据库概述 1.DB和DBMS 2.Oracle数据库概述 3.DB2数据库概述 4.SQL Server数据库概述 5.MySQL数据库概述 二.SQL概述 1. ...

  6. oracle存储过程入门教程

    oracle存储过程入门教程一. 概述 Oracle存储过程开发的要点是:一. 概述 Oracle存储过程开发的要点是: ?? 使用Notepad文本编辑器,用Oracle PL/SQL编程语言写一个 ...

  7. 【02】Java进阶:18-MySQL基础、数据库概述、数据库的安装/卸载/启动/登录、SQL概述、DDL操作数据库、DDL操作表、DML增删改查、

    day18-MySql基础 今日内容 数据库概述 数据库安装和卸载 SQL语句 DDL-----操作数据库,操作表 DML-----操作记录(增删改) DQL------操作记录(查) 学习目标 能够 ...

  8. 不敢相信,相同 SQL 下 Mybatis 查询结果和数据库竟然不一样!

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | jianshu.com/p/7c569ca68 ...

  9. mysql简单概述_MySQL入门很简单: 1 数据库概述

    1. 数据库概述 1.1 数据存储方式: 1)人工管理阶段 2)文件系统阶段: 文件系统通过文件的存储路径和文件名称访问文件中的数据 3)数据库系统阶段:Oracle, SQL Server, MyS ...

最新文章

  1. 计算机入域时域控用到的端口,AD域控制器使用端口的说明
  2. 信息系统项目管理师优秀论文:论信息系统范围管理
  3. Kotlin 文档 .Google 正式确定将 Kotlin为android 开发语言
  4. 平面内两条线段的位置关系(相交)判定与交点求解
  5. 【bzoj2238】Mst(树链剖分+线段树)
  6. Hibernate检索1
  7. Android跳转WIFI界面的四种方式
  8. 转:Oracle 中union的用法
  9. virtualbox的USB识别
  10. 记LabVIEW宝典
  11. word插入脚注后最后一页多了一个分页符(下一页),导致最后多了一个空白页,删除不掉。
  12. 技术经理成长复盘-聊聊核心骨干
  13. 电子计算机里CE,电子计算机上的ce表示什么意思
  14. 《职场正能量》读后感
  15. 微信公众号最佳实践 ( 7.5 )股票行情及分析
  16. 网络(八)之OSPF协议的原理及配置
  17. pr基本图形模板无法使用_Pr基本图形模板安装教程
  18. Linux scp远程文件/目录传输 用ps和grep命令寻找僵尸进程
  19. 前端关于Recat面试题(九)
  20. 黑马程序员——收集起来的ios笔试题——黑马 ios 技术博客

热门文章

  1. 模板引擎ejs简单介绍
  2. python 类中的那些小技巧,滚雪球第四季收尾篇
  3. linux系统解决磁盘IO使用率很高
  4. Linux 查看磁盘IO并找出占用IO读写很高的进程
  5. 圆的面积c语言函数,关于圆的面积 (C语言代码)
  6. Windows10 从零开始Python 3 - Conda环境安装
  7. 国外问卷调查得益于什么?
  8. 基于SSH水果蔬菜销售系统mysql
  9. 四大车系中,哪个车系性价比更高?比较良心?配置更高?质量更好
  10. 在线文本文档txt编辑器_审查了6位在线文档和文本编辑者