`
chengxianju
  • 浏览: 261703 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

sqlplus用法

阅读更多

【转载网上】

一、DataBase

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

  Structur query language 
  结构化查询语言,是操作关系型数据库中的对象。  
 
  DDL(Data definition language 数据定义语言),用于建表或删表操作,以及对表约束进行修


     create table , alter table , drop table 对表结构的增删操作。
  DML(Data manipulation language 数据操作语言),向表中插入纪录,修改纪录
     insert , update , delete , merge
  transaction ,事务控制语言,由DML语句组成的,commit; ,rollback;
  select 查询语句
  dcl 授权语句 grant
 
三、Oracle

  DBMS 数据库管理系统
  有Oracle提供,还提供AS,应用服务器
  DBA 数据库管理员

四、相关操作
1、sqlplus 访问数据库命令(本地访问/远程访问),和数据库建立连接的命令,是数据库操作的

环境
  sqlplus 用户名/密码
2、show user 显示当前用户的用户名
  改变身份可以直接connect 用户名/密码   --- 这个是sqlplus命令
  在sqlplus中可以使用 ! 可以在shell和sqlplus间切换,!shell命令 可以在sqlplus中使用shell

命令。
  实际上是sqlplus开了子进程来执行shell命令。
3、Oracle数据库中的表分两类:用户表(用户使用操作的表),系统表(数据库系统维护的表,也

叫数据字典)
  对用户表的DDL操作出发了对系统表的DML操作!

五、基本语法

1、select查询语句

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

投影操作,只查看选择的字段的信息。
选择操作,查看字段中的特定某些信息。
联接操作,多表查询,通过表间连接,查寻出多表中的信息

(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 表名;
    运算的优先级的先乘除后加减,同级自左向右运算,括号改变优先级。

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

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

2、处理错误

(1)!oerr ora [错误号] ,系统可以显示错误的原因和如何修改。如果命令错误输入可以使用

edit或ed来修改输入错误。
    实际上是在编辑缓存文件中的最后一条sql语句。
    也可以使用 (change) c /错误字段/正确字段,来进行替换操作进行修改。
    只有在Linux平台使用
    ! 相当于 host ,没有断连接,只是切换了一下,执行shell命令
(2)edit命令来编辑最后一条sql语句。

3、sqlplus设置

set pause on 回车响应,分屏显示,只在本会话中有效
set pause off 关闭分屏显示。
set pause "..."  设置分屏显示的提示信息。
set pause on 先输出提示信息,回车响应,分屏显示
set head off 提头输出关闭
set feed off 结尾输出关闭
set echo off 回写关闭
spool 文件名.sql 写入指定文件
spool off 关闭写入。  

4、sql脚本

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

本)
  在脚本中最后一行写上“exit”,则运行完脚本以后,回到shell上

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

Oracle中控制处理函数 NVL(字段名,值),这个字段中的空值替换为指定值,如果不为空,则会返

回其原值。
例:select (salary*12)*(NVL(commission_pct,0)/100+1) salary,first_name from s_emp;

distinct关键字,去掉重复行(这个关键字会触发排序操作)
例: select distinct dept_id,title from s_emp;
       dept_id与title的联合不唯一
注意:distinct,关键字之后会对from之前的字段进行排重操作。

6、column命令 --- sqlplus命令

   column命令 列格式的定义

   column 目标列名 查看这个类是否定义了格式

   column 目标列名 format a.. 设置列宽。
   column last_name heading 'Employee|Name'  formAT A15
   设置题头
   这其中的'|'是换行符

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

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

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


六、选择操作

1、order by

  排序子句 ASC(默认,升序) DESC(降序)
  order by 目标列名(别名) 排序顺序(不写排序顺序,会默认为升序排序)

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

  注意:升序空值在结果的末尾,降序空值在结果的最前面。
 
2、where 子句

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

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

between ... and ... ,表示结果在这之间,between and是一个闭区间,
也就相当于... <= ... and ... >= ... 。
!=,<>,^=,这三个都标识不等于,& lt;=,>=,=,这些运算符都可以使用。
... in (va1,val2,...) 判断结果是否在这个枚举中存在
like '...' 字符串通配查询,'%'表示多个字符,'_',表示一个字符。
注意:转义的用法:like ‘S\_%’ escape ‘\’
... and ... 表示只有两个条件同时满足
... or ... 表示条件只要满足其中只一就可以
all ... 是要求都满足条件。
not .....,则是可以与以上的条件产生反效果。
空值会对not in造成影响,也就是不等于任何值,但是空值例外。
... is null 使用来判断值是否为空。
  
注意:Oracle中的字符串是严格区分大小写的。

(1)注意数据类型,数字类型直接写,字符用'......' ,缺省格式的Date可以用'......',只有

别名
 才用" "包含。se
(2)选择合适的运算符

七、单行函数

1.字符函数

  字符是大小写敏感的
  转小写 lower(字段名)      ---  其中的参数可以是一个字符串常量或是一个字段名
  转大写 upper(字段名)
  首字母大写 initcap(字段名)
  字符串拼接 concat(字段1, 字段2)
  截取子串 substr(字段名, 起始位置,取字符个数)
  dual表,是专门用于函数测试和运算的,他只有一条记录
  字符串拼接 concat(...,....)
  求指定子串 substr(...,起始位置,取字符个数)
  可以使用"-"表示从右向左取,取的时候可以从左往友取。
   例:select substr(first_name,-2,2) sub from s_emp;(取后两个)
     select substr(first_name,2,2) sub from s_emp;(取前两个)
   
2.数值函数

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

)。
  例:select round(15.36,1) from dual;
  截取数字函数 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';

  返回当前日期 sysdate
  例:select sysdate from dual;
      select sysdate+1 from dual;  获得明天的日期,加1,单位是天
 
  日期是格式敏感的
  求两个日期间相隔了多少个月 months_between(date1,date2)
  加减指定数量的月份 add_months(date,月数),月数可以为负,负值就是减去相应的月数。
  从date日期开始的第一个星期五 next_day(date,FriDay)
  返回月末的日期 last_day(date)
  截取日期 trunc(date,'年或月或日或时分秒')
  例:select next_day(sysdate,2) from dual;
  例:select trunc(add_months(sysdate,1),'month') from dual; 
  ROUND('25-MAY-95','MONTH')01-JUN-95
  ROUND('25-MAY-95 ','YEAR')01-JAN-95
  TRUNC('25-MAY-95 ','MONTH')01-MAY-95
  TRUNC('25-MAY-95 ','YEAR')01-JAN-95
 
  练习:
  返回下个月的第一天的日期
  select round(last_day(sysdate),'MONTH') from dual;
  select add_months(trunc(sysdate,'MONTH'),1);
 
4. 不同数据类型间转换函数

  将日期转成字符 to_char(date,'日期格式')
  日期格式要用有效格式,格式大小写敏感 'yyyy mm dd hh24:mi:ss',
  'year'(全拼的年),'mm'(数字表示的月) 'month'(全拼的月),'day'(星期的全拼),'ddspth' (

日期的全拼) 'yy mm dd'
  例:select to_char(sysdate,'yyyy mm dd hh24:mi:ss')from dual;

  将字符转换成数字 to_number('...')
 
  将数字转字符to_char(number,'fmt') fmt是数字格式

  将字符串转成日期 to_date('...','日期格式')
  例:select to_char(to_date('2006 11 03','yyyy mm dd'),'dd-month-yy') from dual;

分享到:
评论

相关推荐

    受激拉曼散射计量【Stimulated-Raman-Scattering Metrology】 附Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    MMC整流器技术解析:基于Matlab的双闭环控制策略与环流抑制性能研究,Matlab下的MMC整流器技术文档:18个子模块,双闭环控制稳定直流电压,环流抑制与最近电平逼近调制,优化桥臂电流波形,高效

    MMC整流器技术解析:基于Matlab的双闭环控制策略与环流抑制性能研究,Matlab下的MMC整流器技术文档:18个子模块,双闭环控制稳定直流电压,环流抑制与最近电平逼近调制,优化桥臂电流波形,高效并网运行。,MMC整流器(Matlab),技术文档 1.MMC工作在整流侧,子模块个数N=18,直流侧电压Udc=25.2kV,交流侧电压6.6kV 2.控制器采用双闭环控制,外环控制直流电压,采用PI调节器,电流内环采用PI+前馈解耦; 3.环流抑制采用PI控制,能够抑制环流二倍频分量; 4.采用最近电平逼近调制(NLM), 5.均压排序:电容电压排序采用冒泡排序,判断桥臂电流方向确定投入切除; 结果: 1.输出的直流电压能够稳定在25.2kV; 2.有功功率,无功功率稳态时波形稳定,有功功率为3.2MW,无功稳定在0Var; 3.网侧电压电流波形均为对称的三相电压和三相电流波形,网侧电流THD=1.47%<2%,符合并网要求; 4.环流抑制后桥臂电流的波形得到改善,桥臂电流THD由9.57%降至1.93%,环流波形也可以看到得到抑制; 5.电容电压能够稳定变化 ,工作点关键词:MMC

    Boost二级升压光伏并网结构的Simulink建模与MPPT最大功率点追踪:基于功率反馈的扰动观察法调整电压方向研究,Boost二级升压光伏并网结构的Simulink建模与MPPT最大功率点追踪:基

    Boost二级升压光伏并网结构的Simulink建模与MPPT最大功率点追踪:基于功率反馈的扰动观察法调整电压方向研究,Boost二级升压光伏并网结构的Simulink建模与MPPT最大功率点追踪:基于功率反馈的扰动观察法调整电压方向研究,Boost二级升压光伏并网结构,Simulink建模,MPPT最大功率点追踪,扰动观察法采用功率反馈方式,若ΔP>0,说明电压调整的方向正确,可以继续按原方向进行“干扰”;若ΔP<0,说明电压调整的方向错误,需要对“干扰”的方向进行改变。 ,Boost升压;光伏并网结构;Simulink建模;MPPT最大功率点追踪;扰动观察法;功率反馈;电压调整方向。,光伏并网结构中Boost升压MPPT控制策略的Simulink建模与功率反馈扰动观察法

    STM32F103C8T6 USB寄存器开发详解(12)-键盘设备

    STM32F103C8T6 USB寄存器开发详解(12)-键盘设备

    2011-2020广东21市科技活动人员数

    科技活动人员数专指直接从事科技活动以及专门从事科技活动管理和为科技活动提供直接服务的人员数量

    Matlab Simulink仿真探究Flyback反激式开关电源性能表现与优化策略,Matlab Simulink仿真探究Flyback反激式开关电源的工作机制,Matlab Simulimk仿真

    Matlab Simulink仿真探究Flyback反激式开关电源性能表现与优化策略,Matlab Simulink仿真探究Flyback反激式开关电源的工作机制,Matlab Simulimk仿真,Flyback反激式开关电源仿真 ,Matlab; Simulink仿真; Flyback反激式; 开关电源仿真,Matlab Simulink在Flyback反激式开关电源仿真中的应用

    基于Comsol的埋地电缆电磁加热计算模型:深度解析温度场与电磁场分布学习资料与服务,COMSOL埋地电缆电磁加热计算模型:温度场与电磁场分布的解析与学习资源,comsol 埋地电缆电磁加热计算模型

    基于Comsol的埋地电缆电磁加热计算模型:深度解析温度场与电磁场分布学习资料与服务,COMSOL埋地电缆电磁加热计算模型:温度场与电磁场分布的解析与学习资源,comsol 埋地电缆电磁加热计算模型,可以得到埋地电缆温度场及电磁场分布,提供学习资料和服务, ,comsol;埋地电缆电磁加热计算模型;温度场分布;电磁场分布;学习资料;服务,Comsol埋地电缆电磁加热模型:温度场与电磁场分布学习资料及服务

    ibus-table-chinese-yong-1.4.6-3.el7.x64-86.rpm.tar.gz

    1、文件内容:ibus-table-chinese-yong-1.4.6-3.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/ibus-table-chinese-yong-1.4.6-3.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、更多资源/技术支持:公众号禅静编程坊

    基于51单片机protues仿真的汽车智能灯光控制系统设计(仿真图、源代码)

    基于51单片机protues仿真的汽车智能灯光控制系统设计(仿真图、源代码) 一、设计项目 根据本次设计的要求,设计出一款基于51单片机的自动切换远近光灯的设计。 技术条件与说明: 1. 设计硬件部分,中央处理器采用了STC89C51RC单片机; 2. 使用两个灯珠代表远近光灯,感光部分采用了光敏电阻,因为光敏电阻输出的是电压模拟信号,单片机不能直接处理模拟信号,所以经过ADC0832进行转化成数字信号; 3. 显示部分采用了LCD1602液晶,还增加按键部分电路,可以选择手自动切换远近光灯; 4. 用超声模块进行检测距离;

    altermanager的企业微信告警服务

    altermanager的企业微信告警服务

    MyAgent测试版本在线下载

    MyAgent测试版本在线下载

    Comsol技术:可调BIC应用的二氧化钒VO2材料探索,Comsol模拟二氧化钒VO2的可调BIC特性研究,Comsol二氧化钒VO2可调BIC ,Comsol; 二氧化钒VO2; 可调BIC

    Comsol技术:可调BIC应用的二氧化钒VO2材料探索,Comsol模拟二氧化钒VO2的可调BIC特性研究,Comsol二氧化钒VO2可调BIC。 ,Comsol; 二氧化钒VO2; 可调BIC,Comsol二氧化钒VO2材料:可调BIC技术的关键应用

    C++学生成绩管理系统源码.zip

    C++学生成绩管理系统源码

    基于Matlab与Cplex的激励型需求响应模式:负荷转移与电价响应的差异化目标函数解析,基于Matlab与CPLEX的激励型需求响应负荷转移策略探索,激励型需求响应 matlab +cplex 激励

    基于Matlab与Cplex的激励型需求响应模式:负荷转移与电价响应的差异化目标函数解析,基于Matlab与CPLEX的激励型需求响应负荷转移策略探索,激励型需求响应 matlab +cplex 激励型需求响应采用激励型需求响应方式对负荷进行转移,和电价响应模式不同,具体的目标函数如下 ,激励型需求响应; matlab + cplex; 负荷转移; 目标函数。,Matlab与Cplex结合的激励型需求响应模型及其负荷转移策略

    scratch介绍(scratch说明).zip

    scratch介绍(scratch说明).zip

    深度学习模型的发展历程及其关键技术在人工智能领域的应用

    内容概要:本文全面介绍了深度学习模型的概念、工作机制和发展历程,详细探讨了神经网络的构建和训练过程,包括反向传播算法和梯度下降方法。文中还列举了深度学习在图像识别、自然语言处理、医疗和金融等多个领域的应用实例,并讨论了当前面临的挑战,如数据依赖、计算资源需求、可解释性和对抗攻击等问题。最后,文章展望了未来的发展趋势,如与量子计算和区块链的融合,以及在更多领域的应用前景。 适合人群:对该领域有兴趣的技术人员、研究人员和学者,尤其适合那些希望深入了解深度学习原理和技术细节的读者。 使用场景及目标:①理解深度学习模型的基本原理和结构;②了解深度学习模型的具体应用案例;③掌握应对当前技术挑战的方向。 阅读建议:文章内容详尽丰富,读者应在阅读过程中注意理解各个关键技术的概念和原理,尤其是神经网络的构成及训练过程。同时也建议对比不同模型的特点及其在具体应用中的表现。

    day02供应链管理系统-补充.zip

    该文档提供了一个关于供应链管理系统开发的详细指南,重点介绍了项目安排、技术实现和框架搭建的相关内容。 文档分为以下几个关键部分: 项目安排:主要步骤包括搭建框架(1天),基础数据模块和权限管理(4天),以及应收应付和销售管理(5天)。 供应链概念:供应链系统的核心流程是通过采购商品放入仓库,并在销售时从仓库提取商品,涉及三个主要订单:采购订单、销售订单和调拨订单。 大数据的应用:介绍了数据挖掘、ETL(数据抽取)和BI(商业智能)在供应链管理中的应用。 技术实现:讲述了DAO(数据访问对象)的重用、服务层的重用、以及前端JS的继承机制、jQuery插件开发等技术细节。 系统框架搭建:包括Maven环境的配置、Web工程的创建、持久化类和映射文件的编写,以及Spring配置文件的实现。 DAO的需求和功能:供应链管理系统的各个模块都涉及分页查询、条件查询、删除、增加、修改操作等需求。 泛型的应用:通过示例说明了在Java语言中如何使用泛型来实现模块化和可扩展性。 文档非常技术导向,适合开发人员参考,用于构建供应链管理系统的架构和功能模块。

    清华大学104页《Deepseek:从入门到精通》

    这份长达104页的手册由清华大学新闻与传播学院新媒体研究中心元宇宙文化实验室的余梦珑博士后及其团队精心编撰,内容详尽,覆盖了从基础概念、技术原理到实战案例的全方位指导。它不仅适合初学者快速了解DeepSeek的基本操作,也为有经验的用户提供了高级技巧和优化策略。

    MXTU MAX仿毒舌自适应主题源码 苹果CMSv10模板.zip

    主题说明: 1、将mxtheme目录放置根目录 | 将mxpro目录放置template文件夹中 2、苹果cms后台-系统-网站参数配置-网站模板-选择mxpro 模板目录填写html 3、网站模板选择好之后一定要先访问前台,然后再进入后台设置 4、主题后台地址: MXTU MAX图图主题,/admin.php/admin/mxpro/mxproset admin.php改成你登录后台的xxx.php 5、首页幻灯片设置视频推荐9,自行后台设置 6、追剧周表在视频数据中,节目周期添加周一至周日自行添加,格式:一,二,三,四,五,六,日

    基于matlab平台的数字信号处理GUI设计.zip

    运行GUI版本,可二开

Global site tag (gtag.js) - Google Analytics