Oracle个人自学笔记
SET LINESIZE 300;//设置每一行的长度
SET PAGESIZE 100;//设置每一列的长度
CONN 用户名/密码 [AS SYSDBA],如果是sys用户一定要加上SYSDBA
当登录的用户是sys/system等其他用户时,如果想要查询scott用户下的数据库内容,可以加上全限定名进行查询:SELECT * FROM scott.emp;
windows下:each 命令,copy命令等等DOS命令,在sqlplus下都可以使用HOST +相应的DOS命令 来完成调用。
show user;//显示当前用户。
select * from tab;//显示一个用户下的所有数据表
desc 表名称;//查询一个表的结构
调整一个表中的数据长度;COL 属性名 FOR A10;A后面跟是长度
COL ENAME FOR A10;
简单查询格式:SELECT [DISTINCT] * | 列名称 [别名],列名称 [别名].... FROM 表名称 [别名 ];
SELECT子句可以直接输出敞亮内容,但是对于字符串使用“‘”(单引号),数字直接编写,日期使用日期格式。
"||"负责进行输出的内容连接,但是需要注意的是,一般此类的操作很少直接在查询中出现
SELECT '雇员编号:'||empno||',姓名:'||ename||',收入:’||sal info(info为sal的别名) FROM emp;
限定查询格式:
SELECT [DISTINCT] * | 列名称 [别名],列名称 [别名].... FROM 表名称 [别称 ] [WHERE 过滤条件(可以有多个过滤条件)];
SELECT * FROM emp WHERE sal>=1500 AND sal<=3000;
BWETWEEN 最小值(最小值、日期)AND 最大值(时间、日期);
3、select ...
1、from ...
2、where ...
4、ORDER by
首先执行的是from语句,在执行where语句,最后,在执行select语句
所以,select语句上定义的别名,在where中不起作用
where子句控制显示的数据行的操作,而select子句控制着显示数据列的操作。
关系运算符:>、<、>=、<=、<> (!=);
逻辑运算符: AND、OR、NOT ;
范围运算符:BETWEEN...AND;
谓词范围:IN、NOT IN;
空判断:IS NULL、IS NOT NULL;
模糊查询:LIKE
使用NOT IN查询时,查询范围里面不允许出现NULL,否则不会返回数据。
针对查询到的结果进行排序:
在查询语句的最后加上ORDER BY 字段 [ASC|DESC],字段 [ASC|DESC],...;
ORDER BY在select语句之后执行,即可以使用select中设置的别名,order by是唯一一个可以使用select子句定义别名的子句。
四个子句:select、from、where、ORDER BY;