1 sqlplus登录方式:

普通用户登录:

登录eg:C:\>sqlplusscott/11 
(格式:sqlplus
username/password)

退出eg:quit退出

超级用户登录

C:\>sqlplus/nolog

SQL*Plus:Release 10.1.0.2.0 - Pr

Copyright(c) 1982, 2004, Oracle.

SQL>connect /as sysdba   //操作用户登录方式

已连接。

2
查看用户下有什么表,命令:

SQL>select * from tab;

tab是oracle中的一个keyword。


关于数据字典:

tab是数据字典:oracle超级管理员分配给普通用的资源....,tabkeyword....


SQL>select * from dept; --查询表的全部记录

DEPTNO(部门编号) DNAME
部门名称       
LOC 位置

------------------------ -------------

10 ACCOUNTING     NEW YORK

20 RESEARCH       DALLAS

30 SALES          CHICAGO

40 OPERATIONS     BOSTON

5 SQL> desc dept; 
--查询表结构

名称                                     
是否为空?
类型

------------------------------------------------- ----------------------------

DEPTNO                                    NOT NULLNUMBER(2)

DNAME                                            VARCHAR2(14)

LOC                                               VARCHAR2(13)


基本命令

A  set linesize 150  设置行宽

B  set pagesize 140 设置页大小


设置列宽

SQL> col empno for 99999999999999999999

D  给字符方式设置列宽:

SQL> col ename for a20


window下清屏

SQL>host cls


Linux下清贫

SQL>host clear


select语句(能够检索全部列、部分列、表达式、别名)

select * from emp;

---显示员工姓名
员工编号
工作 
月薪
年薪

select ename, empno, job, sal , sal*12from emp;

8  
别名

--1别名:
能够省掉""和as

--2有空格时,
不能省掉""

SQL> select ename as "员工姓名"
, empno"编号", job
工作, sal "月薪"
, sal*12  年薪 from emp

员工姓名        
编号
工作          

薪      
年薪

-------------------- --------- ---------- ----------

SMITH            7369 CLERK           
800       9600

ALLEN            7499 SALESMAN       
1600      19200

WARD             7521 SALESMAN       
1250      15000

JONES            7566 MANAGER        
2975      35700

MARTIN           7654 SALESMAN       
1250      15000

BLAKE            7698 MANAGER        
2850      34200

CLARK            7782 MANAGER        
2450      29400

SCOTT            7788 ANALYST        
3000     36000

KING             7839 PRESIDENT      
5000     60000

TURNER           7844 SALESMAN       
1500      18000

ADAMS            7876 CLERK          
1100      13200

JAMES            7900 CLERK           
950      11400

FORD             7902 ANALYST        
3000      36000

MILLER           7934 CLERK          
1300      15600

---显示员工姓名
员工编号
工作 
月薪
年收入(月薪*12+comm)

9
空值问题:

selectename, empno, job, sal , sal*12+comm from emp ; (有问题,由于comm有null的)

空值问题注意:

1NULL空值不论什么数和null运算都为null   
(null无穷大)

2空值不是空 
null != null

解决的方法:

null滤空函数 nvl (a,b) --
当a是空的时候,返回b(
当中 b能够是数字/字符串)

---字符串和日期在sql语言用单引號扩起来...

案例说明:

A  
select ename, empno, job,sal , sal*12+ nvl(comm,0) 年收入from emp;

ENAME                     EMPNO JOB 
            SAL     年收入

------------------------------ --------- ---------- ----------

SMITH                      7369 CLERK           
800       9600

ALLEN                      7499 SALESMAN       
1600      19500

WARD                       7521 SALESMAN       
1250      15500

JONES                      7566 MANAGER        
2975      35700

MARTIN                     7654 SALESMAN       
1250      16400

BLAKE                      7698 MANAGER        
2850      34200

CLARK                      7782 MANAGER        
2450      29400

SCOTT                      7788 ANALYST        
3000      36000

KING                       7839 PRESIDENT      
5000     60000

TURNER                     7844 SALESMAN       
1500      18000

ADAMS                      7876 CLERK          
1100      13200

JAMES                      7900 CLERK           
950      11400

FORD                       7902 ANALYST        
3000      36000

MILLER                     7934 CLERK          
1300      15600

B   查询奖金为空的员工

select* from emp where comm is null;

结果:

EMPNOENAME      JOB             
MGR HIREDATE              SAL       COMM    DEPTNO

-------------------- --------- ---------- -------------- ---------- ---------- ----------

7369 SMITH      CLERK          
7902 17-12月-80           
800                    20

7566 JONES      MANAGER        
7839 02-4月 -81          
2975                    20

7698 BLAKE      MANAGER        
7839 01-5月 -81       
   2850                    30

7782 CLARK      MANAGER        
7839 09-6月 -81          
2450                    10

7788 SCOTT      ANALYST        
7566 19-4月 -87          
3000                    20

7839 KING       PRESIDENT     
      17-11月-81          
5000                    10

7876 ADAMS      CLERK          
7788 23-5月 -87          
1100                    20

7900 JAMES      CLERK          
7698 03-12月-81           
950                    30

7902 FORD       ANALYST        
7566 03-12月-81          
3000                    20

7934 MILLER     CLERK          
7782 23-1月 -82          
1300                    10

C  查询奖金不为空的员工

select * from emp where comm is not null

结果:

EMPNO ENAME      JOB             
MGR HIREDATE              SAL      
COMM    DEPTNO

------------------ --------- ---------- -------------- ---------- ---------- ----------

7499 ALLEN      SALESMAN       
7698 20-2月 -81          
1600        300        30

7521 WARD       SALESMAN       
7698 22-2月 -81          
1250        500         30

7654 MARTIN     SALESMAN       
7698 28-9月 -81          
1250       1400         30

7844 TURNER     SALESMAN       
7698 08-9月 -81          
1500          0         30

10
连接符
||

select 'hello' || 'world' from emp;

select 'hello' || 'world' from dual; 
--伪表

dual是数据字典 (oracle超级管理员分配给普通用的资源....,tabkeyword....)

SQL> select sysdate from dual;

SYSDATE

--------------

07-10月-14

SQL>

11:DISTINCT


作用去除反复的行

select DISTINCT deptno from emp;

DEPTNO

----------

30

20

10

B  DISTINCT修饰多个字段的时,
当部门编号和工种都一样的时候,觉得是反复的...

否则
不同行.

====DISTINCT2个字段

selectDISTINCT deptno, job from emp

版权声明:本文博主原创文章。博客,未经同意不得转载。

sqlplus登录信息,列出所有表,列在表结构,sqlplus行和列显示设置,别名,Null值问题,细木工,DISTINCT的更多相关文章

  1. pandas.DataFrame对行和列求和及添加新行和列

    导入模块: from pandas import DataFrame import pandas as pd import numpy as np 生成DataFrame数据 df = DataFra ...

  2. Java-->IO流模拟实现用户登录以及登录信息

    --> Test 测试类 package com.dragon.java.hwlogin; import java.io.FileNotFoundException; import java.u ...

  3. jquery获取td所在的行和列

    今天在做项目时.遇到一个须要获取第几行第几列的问题. 后来.网上找了找资料,整理了此文.(使用jquery的preAll()获取列) 代码例如以下: <!DOCTYPE html PUBLIC ...

  4. PyQt(Python+Qt)学习随笔:QStandardItemModel指定行和列创建模型后的数据项初始化的两种方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QStandardItemModel通过构造方法 QStandardItemModel(int ro ...

  5. Linux查看用户登录信息-last

    last命令: last命令用于显示用户最近登录信息.单独执行last命令,将读取 /var/log/wtmp 文件,并将给该文件的内容记录的登入系统的用户名单全部显示出来. 语法: last (选项 ...

  6. mysql 清空或删除表数据后,控制表自增列值的方法

    http://blog.sina.com.cn/s/blog_68431a3b0100y04v.html 方法1: truncate table 你的表名 //这样不但将数据全部删除,而且重新定位自增 ...

  7. last---显示用户最近登录信息

    last命令用于显示用户最近登录信息.单独执行last命令,它会读取/var/log/wtmp的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来. 语法 last(选项)(参数) 选项 - ...

  8. 查询登录信息 w, who*, id, tty, last, finger

    查询登录信息 w, who*, id, tty, last, finger Wavky2016.12.14 16:19:37字数 813阅读 85w [options] [user...]显示所有已登 ...

  9. Oracle 中记录用户登录信息

    我们可以使用 Oracle Audit 函数来记录用户登录信息,但是如果开放了 Audit 函数将会使 Oracle 性能下降,甚至导致 Oracle 崩溃.那我们如何才能记录用户登录信息呢?其实我们 ...

随机推荐

  1. ZOJ 1489 2^x mod n = 1 数论

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=489 题目大意: 给你正整数n,求最小的x使得2^x mod n = 1. 思路 ...

  2. js进阶 12-5 jquery中表单事件如何使用

    js进阶 12-5 jquery中表单事件如何使用 一.总结 一句话总结:表单事件如何使用:可元素添加事件监听,然后监听元素,和javase里面一样. 1.表单获取焦点和失去焦点事件有哪两组? 注意是 ...

  3. OpenGL_ES-纹理

    OpenGL_ES2.0 -纹理 一:纹理基础: 1: 纹素的概念: 一个二维纹理在OpenGLES2.0中是非经常见的,二维纹理就是一个二维数组,每一个数据元素称为纹素,详细格式例如以下: GL_R ...

  4. mha && 脚本拉起

    ip分布:  vip 192.168.238.222 mha_manager 192.168.238.131 监控服务器 master 192.168.238.128 主库GTID复制模式 slave ...

  5. 关于JavaScript对象概念的总结

    原文 https://www.jianshu.com/p/88213b499c4b 大纲 前言 1.对象的相关概念 2.对象的创建(简单创建) 3.对象的属性 3.1.数据属性 3.2.访问器属性 4 ...

  6. 命令行运行python模块时提示包找不到的问题

    庄稼人不是专职python开发的道友.尽管与python相识已多年,可惜相识不相知,仅仅是偶尔借助pydev写一些简单的小工具. 多年来.一直困惑于这样一个问题:相同的project.相同的代码,使用 ...

  7. WordPress通过插件发送邮件

    原文发表自我的个人站点,欢迎大家訪问~转载请保留本段,或注明原文链接:http://www.hainter.com/wordpress-send-email-via-plugins WordPress ...

  8. ios开发runtime学习二:runtime交换方法

    #import "ViewController.h" /* Runtime(交换方法):主要想修改系统的方法实现 需求: 比如说有一个项目,已经开发了2年,忽然项目负责人添加一个功 ...

  9. 如何解决安卓SDK无法下载Package的问题 分类: H1_ANDROID 2013-09-09 10:26 1199人阅读 评论(0) 收藏

    转载自:http://jingyan.baidu.com/article/8275fc86dbe84046a03cf69d.html 有些用户在安装好Android SDK后,打开Android SD ...

  10. Android自定义组件系列【6】——进阶实践(3)

    上一篇<Android自定义组件系列[5]--进阶实践(2)>继续对任老师的<可下拉的PinnedHeaderExpandableListView的实现>进行了分析,这一篇计划 ...