当前位置

网站首页> 程序设计 > 开源项目 > 程序开发 > 浏览文章

Oracle之SQL重要以及易忘点

作者:小梦 来源: 网络 时间: 2024-08-26 阅读:

在这里只记录了个人认为重要以及容易忘的知识点。

1.sql脚本创建及运行

可利用下面命令,新建一个sql脚本文件,该脚本文件中的书写方式和在doc下一样,

SQL> edit f:\Oracle\examples\1

运行该脚本。@等同于START命令,它把脚本内容输入SQL缓冲区并执行。

SQL> @f:\Oracle\examples\1

2.SAVE

可利用SAVE命令将SQL缓冲区的SQL语句存入脚本中:

SQL> SAVE f:\Oracle\examples\2

3.INSERT

values子句中的数据一定要和相应的列一一对应,否则会出错。

SQL> insert into salary values ('张无极',1,6000,50);

4.LIKE

LIKE使用两个特殊符号进行匹配检索,%_。前者称为通配符,后者称为位置标记符。“%”相当于DOS命令的“*”通配符,它可以代表相应位置的任意个数的任意字符。“_”相当于DOS命令的“?”通配符,它只能代表相应位置的一个字符。

SQL> select * from emp where bm like '%所';

5.符号

^= 和 <> 都相当于 != 。

6.DESC

不给出DESC(降序),则查询结果将按级别的升序排列。

7.HAVING

HAVING作用类似于WHERE,只不过WHERE针对单行,而HAVING针对统计结果。

SQL> select jb,sum(fbu) from salary group by jb having sum(fbu) >= 300;

8.ALTER TABLE

利用alter table语句增加表中的列

SQL> alter table salary add (jj number);

9.SELECT&运算操作

显示表中的一列与另一列的运算操作(-+*/):

SQL> select xm,gz-fbu from salary;

10.类型转换

TO_CHAR:将任意类型的数据转换成字符类型。
TO_NUMBER:将一个合法的数字字符串转换成数值。
TO_DATE:将适当格式的字符串转换成日期型数据。‘12-6月-04’为合法日期格式,‘12-6-04’在转换时可能出错。

SQL> SELECT TO_NUMBER('327.3') FROM DUAL;

11.从多个表中查询数据

若一个查询涉及两个或多个表,称其为连接查询。分为内连接和外连接。
内连接:合并具有同一列的两个以上的表的行,结果集中不包含一个表与另一个表不相匹配的行。例:

SQL> select e.xm,zc,zw,jb,gz from emp e,salary s where e.xm = s.xm;

其中e和s分别为emp表与salary表的别名。
外连接:合并具有同一列的两个以上的表的行,但结果集中包含一个表不与另一个表相匹配的行,无匹配行时,结果表中相应的列为空。

SQL> select emp.xm,zc,zw,jb,gz from emp,salary 2 where emp.xm = salary.xm (+);

12.视图

视图时一种“虚表”,它建立在已有表的基础之上,视图赖以建立的这些表称为基表。

1). SQL> select e.xm,zc,zw,jb,gz from emp e,salary s where e.xm = s.xm;
2). SQL> create or replace view esview as select e.xm,zc,zw,jb,gz from emp e,salary s where e.xm = s.xm with read only;SQL> select * from esview;

with read only只能对它执行select语句,即使不加with read only,执行insertupdatedelete语句也不一定成功。显示与1)相同。

13.SQL*Plus环境设置

查看各参数的当前设置。

SQL> show all

SPOOL将中间的SQL语句及其结果存储到1.lis中。

SQL> spool f:\Oracle\examples\1.lis............SQL> spool off

控制是否显示执行SQL语句的输出结果,默认为on,即显示SQL语句的输出结果。

SQL> set termout on/off

控制执行SQL脚本时时候回送执行的SQL语句,默认为off,即不回送

SQL> set echo off/on

设置一页显示多少行及每行的长度

SQL> set pagesize 50SQL> set linesize 100

热点阅读

网友最爱