PLUS命令的使用大全永利澳门游戏网址304:

         oracle day02 总结
  
1、where子句(选择操作)

(1)select table_name from user_tables;(查询系统表)
    以上的查询语句就是查询本用户下所拥有的所有表的表名。
  
(2)sqlplus的buffer中会缓存最后一条sql语句,可以使用”/”来执行这最后一条sql语句,也可以使用
    edit命令来编辑最后一条sql语句。
    l命令(list)(sqlplus命令)可以显示buffer中最后一条命令。 
  
    sqlplus命令可以缩写
  
(3)desc [表名]
   
这是一条sqlplus命令,注意他不是sql语句,这条命令用于查看表的结构。descript的缩写
    [字段名] [字段的类型],这是使用完desc命令后显示的表结构。     
  
(4)select [表的字段名1],[表的字段名2], … from 表名;
    select * from 表名; 查寻表中所有字段的信息   
  
(5)关键字不等拆分,sql语句,以及表名,字段名是大小写不敏感的。
   
sql语句要以”;”结尾,来表示sql语句结束,如果不加”;”系统不会执行此条sql语句,并提示。   
    在Oracle中字符显示是左对齐,数值右对齐。
  
(6)在select 语句中可以使用数学表达式。
    select [表达式(必须包含本表字段名)],[…],…. from 表名;
    运算的优先级的先乘除后加减,同级自左向右运算,括号改变优先级。

    可以使用”-“表示从右向左取,取的时候可以从左往右取。
     例:select substr(first_name,-2,2) sub from s_emp;(取后两个)
       select substr(first_name,2,2) sub from s_emp;(取前两个)

   column salary justify left format $99,990.00
   定义数字显示格式
   注意:如果不满足显示的格式,就会把数据显示为”#”
 
   column salary justify left format $00,000.00
   会出现$00,928.00 ,用0补齐

 between … and … ,表示结果在这之间,between
and是一个闭区间,也就相当于… <= … and … >= … 。

5、
Oracle中的空值
空值会当无穷大处理,其实空值根本就不会存储,只是看作是无穷大。

 nvl是一般函数,支持任何数据类型
      
 2.数值函数

    注意:在Oracle中的字符串要用’..’包含
    别名中需要使用空格,或是大小写敏感时需要用”..”包含。   
  
练习:
自己写一条SQL语句,执行的结果是select * from …;
其中…是每张系统表的表名
即在每张系统表的表名前加 “select * from”  ,后加“;”
select ‘select * from ‘||table_name||’;’ from user_tables;

 (1)注意数据类型,数字类型直接写,字符用’……’
,缺省格式的Date可以用’……’,只有别名才用” “包含。
 (2)选择合适的运算符  

4、sql脚本

 
 where后面跟的是表达式 也就是 XXX=XXX, XXX between X and X  ,XXX
in(X,X,X)
 like ‘…’ 通配查询

1、order by

    截取数字函数 trunc(数据,保留的位数(小数点后位数))
截取个位之后补0
    例:select trunc(123.456,1) from dual; 
  
 3.日期函数
 
    日期格式,
    全日期格式 世纪信息,年月日,时分秒。
    缺省日期格式,日-月-年 dd-mon-rr
    修改当前会话的日期格式,会按照指定的格式输出日期
    alter session set nls_date_format=’yyyy mm dd hh24:mi:ss’;

  保存数据,以表的形式表现数据
 
二、SQL

 1.字符函数

2、处理错误

2、单行函数(一个输入,一个输出)
       多行函数又叫组函数(多个输入,一个输出)例平均值

   column 列名 clear (清除列格式定义)

 where子句使用在 select … from …
后面,用来选择所需(符合条件的)的记录

(1)注意数据类型,数字类型直接写,字符用’……’
,缺省格式的Date可以用’……’,只有别名
 才用” “包含。
(2)选择合适的运算符

    四舍五入 round(数据,保留小数点后几位)
  
 可以用负数表示小数点前,0,表示小数点后第一位,也就是保留个位,-1表示个位(保留到十位)。
    例:select round(15.36,1) from dual;

   column命令 列格式的定义

 … is null 使用来判断值是否为空。is not null 判断值不为空
 例:查看哪些人没有提成
     select first_name from s_emp where commission_pct is null;

Oracle中控制处理函数
NVL(字段名,值),这个字段中的空值替换为指定值,如果不为空,则会返回其原值。
例:select (salary*12)*(NVL(commission_pct,0)/100+1)
salary,first_name from s_emp;

    dual表,是专门用于函数测试和运算的,他只有一条记录 

  例:select first_name from s_emp order by first_name;
      select first_name from s_emp order by first_name desc;

 注意:Oracle中的字符串是严格区分大小写的。

where子句使用在 select … from …
后面,用来选择所需(符合条件的)的记录

 !=,<>,^=,这三个都标识不等于,<=,>=,=,这些运算符都可以使用。

3、sqlplus设置

 like ‘…’
字符串通配查询,’%’表示0或任意多个字符,’_’,表示任意一个字符。
 注意:转义的用法:like ‘S_%’ escape ‘’
 
 例:找出表名是以s_开头的表
  select table_name from user_tables where table_name like ‘S_%’
escape ”;  把定义为转义字符

(7)别名
    select [字段名或表达式] [“别名”],[…] [“…”],…. from
表名;
   
可以通过在字段名或表达式后加空格”别名”,可以给列,或者表达式结果其别名。   
    表达别名必须加双引号。
  
(8)字符串拼接使用||符号
    select 目标字段名||” “||目标字段名 from 表名;

      … and … 表示只有两个条件同时满足
 … or … 表示条件只要满足其中只一就可以
 all … 是要求都满足条件。

  也就是在文件中写有sql语句的文件,可以在sqlplus中运行。
  引入sql脚本
  sqlplus 用户名/密码 @sql脚本
(注意:在用户名密码输入结束后一定要加空格然后再写@sql脚本)
  在脚本中最后一行写上“exit”,则运行完脚本以后,回到shell上

 例:查询George的工资
     select first_name,salary from s_emp where first_name=’George’;

select table_name from user_tables;(查询系统表)
以上的查询语句就是查询本用户下所拥有的所有表的表名。

    返回当前日期 sys

1、select查询语句

    字符是大小写敏感的
    转小写 lower(字段名)      — 
其中的参数可以是一个字符串常量或是一个字段名
    转大写 upper(字段名)
    首字母大写 initcap(字段名)
    字符串拼接 concat(字段1, 字段2)
    截取子串 substr(字段名, 起始位置,取字符个数)
 返回字符串长度length(字符串)

一、DataBase

 … in (va1,val2,…)
判断结果是否在这个集合中存在,等于其中随变一个就行了,可以说in=any
 in中集合的数据是有顺序的,概率高的数据放在前面可提高效率
 
 not in<>all 没有顺序
 空值会对not in造成影响,也就是不等于任何值,但是空值例外。

  
注意:只有sqlplus命令才有简写,并且在使用sqlplus命令时结尾也不能加分号。

发表评论

电子邮件地址不会被公开。 必填项已用*标注