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
版权声明:本文博主原创文章。博客,未经同意不得转载。
相关文章
- ubuntu下设置开机自启动项
- 如何记录每月第一个工作日干什么?用工作待办APP设置提醒
- 到期如何设置自动提醒?如何设置便签到期自动提醒功能?
- 安卓手机便签上怎么设置显示倒计时天数?
- CentOS7设置为X11显示图片(终端)
- js 通过html()及text()方法获取并设置p标签的显示值
- 管理屏幕保护设置
- listview--记录ListView滚动停止位置与设置显示位置
- Fiddler 4设置代理后无法上网的问题解决办法(亲测有效)
- java JDK环境变量设置
- Windows10系统电脑怎样设置默认的视频播放器【图文教程】
- 代码设置访问统计国家
- Android设置控件背景颜色
- android 11.0 12.0Settings主页动态显示和隐藏设置项(一级菜单显示和隐藏)
- xml文件的根节点layout_width或者layout_height设置无效果的原因分析
- 华为防火墙在NAT安全策略设置的解释
- 【CSS】通过定位修改 display 显示模式 ( Display 显示模式转换 | inline-block 改块元素为行内块元素示例 | 为块元素设置浮动 | 为块元素设置定位 )
- linux 设置java 环境
- 155:vue+openlayers 设置地图的反转色、复古色、灰度图、原始图
- 深入浅出matplotlib(34):设置坐标轴显示位置
- elasticsearch的store属性跟_source字段——如果你的文档长度很长,存储了_source,从_source中获取field的代价很大,你可以显式的将某些field的store属性设置为yes,否则设置为no