2016-12-01 Oracle数据库基本查询(1)
一.Oracle简介
1.安装注意的一些问题,简单见文档.
二.SQLPlus命令
1.格式化指令
--设置每行显示的数据长度
SET LINESIE 300;
--设置每页显示的行数
SET PAGESIZE 30;
2.ed文件编辑命令,然后使用/执行修改之后的SQL指令;
3.了解什么叫阻塞状态:打开ed编辑不能再SQL命令窗口输入指令;
4.切换用户:
CONN 用户/密码 [AS SYSDBA];--如果是sys用户需要增加[AS SYSDBA]指令;
5.清屏指令:host cls;
三.SQL简介与数据表分析
1.SQL分类:
1>.DML:主要是指的是数据库的查找与更新操作.
2>.DDL:主要是指的数据库对象的创建表.
3>.DCL:主要是指进行权限管理操作的指令.
2.一些基本的操作:
--查询一个表下的所有数据
SELECT * FROM emp;
--查询一个表的结构
DESC 表名称;
--根据每一个列设置固定的长度
COL ename FOR A10;
五.简单查询
1.简单查询就查询一个表中的所有数据
2.语法格式:
② SELECT [DISTINCT]*| 列名称 [别名],列名称[别名],...
① FROM 表名称[别名];
3.定义别名的情况:SELECT empno,job,sal*12 income FROM emp;--不建议使用中文的形式
4.设置一些常量:
1>.常量是字符串的情况:使用单引号进行声明,例如:'hello';
2>.如果常量是数字:直接进行编写:例如:10;
3>.如果常量是日期,则按照日期的格式编写:使用"XX日-XX月-XX年",例如:'17-12月-80';
4>.使用'||'连接查询结果;
六.SQL限定查询
1.通过WHERE字句来限定查询的行数;
2.语法格式:
③ SELECT [DISTINCT]*| 列名称 [别名],列名称[别名],...
① 确定数据来源:FROM 表名称[别名];
② 确定满足条件的数据行:[WHERE 过滤条件(s)];
3.限定查询的一些查询符号
1>.关系运算符号:>,<,>=,<=,<>,!=;
2>.逻辑运算符号:AND,OR,NOT;
3>.范围运算符号:BETWEEN...AND;
4>.谓词范围:IN,NOT IN;
5>.空判断:IS NULL,IS NOT NULL;
6>.模糊查询:LIKE.
4.IN操作符:NOT IN 与 null的问题:在使用NOT IN的时候,如果返回的结果之中包含null,那么不会有任何的返回结果.
5.模糊查询:
1>."_"代表任意一位字符;
2>."%"匹配任意的零位,一位或者多位字符;
七.插叙排序
1.针对指定的列进行排序;
2.语法格式:
③ SELECT [DISTINCT]*| 列名称 [别名],列名称[别名],...
① 确定数据来源:FROM 表名称[别名];
② 确定满足条件的数据行:[WHERE 过滤条件(s)];
④ 针对查询结果进行排序:[ORDER BY 字段[ASC|DESC],字段[ASC|DESC]...];--默认情况选择是的升序排列:ASC;
3.举例:查询所有雇员信息,按照工资的高低进行降序排列
SELECT * FROM emp WHERE sal ORDER BY sal DESC;
4.由语法格式:ORDER BY 字句是在SELECT字句后面执行,因此可以使用别名:
SELECT empno,ename,sal*12 income ORDER BY income;
5.ORDER BY字句可以设置多个排序字段.
SELECT * FROM emp ORDER BY sal DESC,hirdate ASC;
八.综合实战
九.单行函数
1.SQL语句+单行函数
2.字符串函数
1>.字符串 UPPER(列|字符串):将传入的字符串变为大写字母形式;
2>.字符串 LOWER(列|字符串):将传入的字符串变为小写字母形式;
3>.字符串 INITCAP(列|字符串):将首字母大写,其他的字母全部变为小写;
4>.数字 LENGTH(列|字符串):取得指定字符串的长度;
5>.字符串 SUBSTR(列|字符串,开始索引,[长度]):进行字符串截取,如果没有设置长度表示从开始索引一直索引一直截取到结尾.
6>.字符串 REPLACE(列|字符串,旧内容,新内容):将指定字符串的数据以新数据替换旧数据内容.
3.Oracle实现数据的输入操作,可以使用替代变量的形式完成;
SELECT * FROM emp WHERE ename = UPPER('&inputname');
4.数值函数
1>.数字 ROUND(列|数字 [,小数位]):实现数据的四舍五入,可以设置保留小数位;
2>.数字 TRUNC(列|数字 [,小数位]):实现数据的截取,即:不进位;
3>.数字 MOD(列|数字,列|数字):求模(计算余数);
5.日期函数
1>.伪列:SYSDATE:--表示日期;
2>.日期处理函数:
① 日期 ADD_MONTHS(列|日期,月数):在指定的日期上增加若干个月之后的日期;
② 数字 MONTHS_BETWEEN(列|日期,列|日期):返回两个日期之间的所经历的月数;
③ 日期 LAST_DAY(列|日期):取得指定日期所在月的最后一天;
④ 日期 NEXT_DAY(列|日期,星期X):返回下一个指定的一周时间数对应的日期;
6.转换函数
1>.字符串 TO_CHAR(列|日期|数字,转换格式):将日期或数字格式化为指定的结构的字符串;
2>.日期 TO_DATE(列|字符串,转换格式):按照指定的转换格式编写字符串后将其变为日期型数据;
3>.数字 TO_NUMBER(列|字符串):将字符串变为数字;
7.通用函数
1>.数字 NVL(列|NULL,默认值):将传入的内容是null,则使用默认数值处理,如果不是空则使用原始数值处理;
2>.数据类型 DECODE(列|字符串|数值,比较内容1,显示内容1,比较内容2,显示内容2...,
[,默认显示内容])
浙公网安备 33010602011771号