sqlplus登录信息,列出所有表,列在表结构,sqlplus行和列显示设置,别名,Null值问题,细木工,DISTINCT
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。
3
关于数据字典:
tab是数据字典:oracle超级管理员分配给普通用的资源....,tabkeyword....
4
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)
6
基本命令
A set linesize 150 设置行宽
B set pagesize 140 设置页大小
C
设置列宽
SQL> col empno for 99999999999999999999
D 给字符方式设置列宽:
SQL> col ename for a20
E
window下清屏
SQL>host cls
F
Linux下清贫
SQL>host clear
7
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
A
作用去除反复的行
select DISTINCT deptno from emp;
DEPTNO
----------
30
20
10
B DISTINCT修饰多个字段的时,
当部门编号和工种都一样的时候,觉得是反复的...
否则
不同行.
====DISTINCT2个字段
selectDISTINCT deptno, job from emp
版权声明:本文博主原创文章。博客,未经同意不得转载。
sqlplus登录信息,列出所有表,列在表结构,sqlplus行和列显示设置,别名,Null值问题,细木工,DISTINCT的更多相关文章
- pandas.DataFrame对行和列求和及添加新行和列
导入模块: from pandas import DataFrame import pandas as pd import numpy as np 生成DataFrame数据 df = DataFra ...
- Java-->IO流模拟实现用户登录以及登录信息
--> Test 测试类 package com.dragon.java.hwlogin; import java.io.FileNotFoundException; import java.u ...
- jquery获取td所在的行和列
今天在做项目时.遇到一个须要获取第几行第几列的问题. 后来.网上找了找资料,整理了此文.(使用jquery的preAll()获取列) 代码例如以下: <!DOCTYPE html PUBLIC ...
- PyQt(Python+Qt)学习随笔:QStandardItemModel指定行和列创建模型后的数据项初始化的两种方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QStandardItemModel通过构造方法 QStandardItemModel(int ro ...
- Linux查看用户登录信息-last
last命令: last命令用于显示用户最近登录信息.单独执行last命令,将读取 /var/log/wtmp 文件,并将给该文件的内容记录的登入系统的用户名单全部显示出来. 语法: last (选项 ...
- mysql 清空或删除表数据后,控制表自增列值的方法
http://blog.sina.com.cn/s/blog_68431a3b0100y04v.html 方法1: truncate table 你的表名 //这样不但将数据全部删除,而且重新定位自增 ...
- last---显示用户最近登录信息
last命令用于显示用户最近登录信息.单独执行last命令,它会读取/var/log/wtmp的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来. 语法 last(选项)(参数) 选项 - ...
- 查询登录信息 w, who*, id, tty, last, finger
查询登录信息 w, who*, id, tty, last, finger Wavky2016.12.14 16:19:37字数 813阅读 85w [options] [user...]显示所有已登 ...
- Oracle 中记录用户登录信息
我们可以使用 Oracle Audit 函数来记录用户登录信息,但是如果开放了 Audit 函数将会使 Oracle 性能下降,甚至导致 Oracle 崩溃.那我们如何才能记录用户登录信息呢?其实我们 ...
随机推荐
- POJ 3159 Candies 还是差分约束(栈的SPFA)
http://poj.org/problem?id=3159 题目大意: n个小朋友分糖果,你要满足他们的要求(a b x 意思为b不能超过a x个糖果)并且编号1和n的糖果差距要最大. 思路: 嗯, ...
- 【习题 5-11 UVA 12504 】Updating a Dictionary
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 不确定某个map里面是否有某个关键字的时候. 要用find来确定. 如果直接用访问下标的形式去做的话. 会强行给他加一个那个关键字( ...
- storm-kafka编程指南
目录 storm-kafka编程指南 一.原理及关键步骤介绍 (一)使用storm-kafka的关键步骤 1.创建ZkHosts 2.创建KafkaConfig 3.设置MultiScheme 4.创 ...
- Spring Boot应用启动原理分析(转)
在spring boot里,很吸引人的一个特性是可以直接把应用打包成为一个jar/war,然后这个jar/war是可以直接启动的,不需要另外配置一个Web Server. 如果之前没有使用过sprin ...
- ZOJ 1914 Arctic Network (POJ 2349 UVA 10369) MST
ZOJhttp://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1914 POJhttp://poj.org/problem?id=23 ...
- 通过双重for循环来找到JSON中不反复的数据
//通过双重for循环来找到JSON中不反复的数据 var count = 0; for ( i=0; i<json.length; i++) { for ( j=0; j<i; j++) ...
- [Angular2] @Ngrx/store and @Ngrx/effects learning note
Just sharing the learning experience related to @ngrx/store and @ngrx/effects. In my personal opinio ...
- Oracle学习(六):子查询
1.知识点:能够对比以下的录屏进行阅读 SQL> --子查询所要解决的问题:问题不能一步求解 SQL> --查询工资比SCOTT高的员工信息 SQL> --(1)使用普通方法 SQL ...
- ios开发网络学习AFN框架的使用一:get和post请求
#import "ViewController.h" #import "AFNetworking.h" @interface ViewController () ...
- ios开发级联菜单(利用父子控制器--两个菜单封装为两个子控制器来实现)
一:1:级联菜单可以使用两个tableView来实现,也可以利用父子控制器,两个控制器来实现,根视图控制器作为两个控制器的父控制器,来管理两个子控制器.2:将左右菜单分别交给两个控制器去管理,对于一些 ...