Oracle

数据库基本知识

 

【训练1】 显示DEPT表的指定字段的查询。

              输入并执行查询:

              SELECTdeptno,dname FROM dept;

 

 

显示结果如下:        

DEPTNODNAME

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

                 10  ACCOUNTING

                 20  RESEARCH

                      30  SALES

                   40  OPERATIONS

 说明:结果只包含2列deptno和dname。在语句中给出要显示的列名,列名之间用“,”分隔。表头的显示默认为全部大写。对于日期和数值型数据,右对齐显示,如deptno列。对于字符型数据,左对齐显示,如dname列。

 

 

4.判断空值NULL

              在表中,字段值可以是空,表示该字段没有内容。如果不填写,或设置为空则我们说该字段的内容为NULL。NULL没有数据类型,也没有具体的值,但是使用特定运算可以判断出来。这个运算就是:

              IS  [NOT] NULL

 

【训练5】 显示经理编号没有填写的雇员。

              输入并执行查询:

              SELECT  ename, mgr FROM emp WHERE mgr IS NULL;

       执行结果为:

              ENAME     MGR

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

              KING

              注意:以下用法是错误的。

              SELECT  ename, mgr FROM emp WHERE mgr=NULL;

Oracle基本查询

--创建表空间

createtablespace java001

datafile'E:\oracle\product\10.2.0\oradata\orcl\java001.dbf'

m;

--删除表空间

droptablespace java001

--创建临时表空间

createtemporarytablespace java001_temp

tempfile'E:\oracle\product\10.2.0\oradata\orcl\java001_temp.dbf'

m;

-- 创建用户账户

createuser lu

identifiedby lu

defaulttablespace JAVA001

temporarytablespace JAVA001_TEMP

profileDEFAULT;

--授予权限的时候,切换到管理员的身份,不能为自己授权

--为用户授予权限,链接数据的权限以及创建数据库对象的权限

grantconnectto lu

--为用户授予访问数据库资源的权限

grantresourceto lu

--将管理员的权限授予用户lu

grantdbato lu

--修改用户密码为lu

alteruser lu identifiedby lu

--锁定和解锁

alteruser lu accountlock;

alteruser lu accountunlock;

--删除用户

drop user lu

-- 创建序列IDSEQENCE

createsequence IDSEQENCE

;

--dual数据中万能的表,很多信息可以在里面获取

SELECT IDSEQENCE.NEXTVAL from dual;

大类

--DDL:数据库定义语言--create table 创建数据

--DML:数据库管理语言--insert ,delete

--DCL:数据库控制语言--对于权限进行操作的grant

--数据类型

--字符型:varchar2(varchar),存储可变长度的字符

-- char,存储固定长度

--nvarchar 用于国际编码,多用来存储中文

--数字型:number(),float

--日期类型:

selectsysdatefrom dual

--创建表

createtable user_tb(

userid number,

),

)

)

altertable user_tb addconstraint pk_id primarykey(userid)

);

);

);

);

);

--***级联删除有外键约束可以一起删除

foreignkey(class_no) references tb_class(class_no) ondeletecascade

--给表重命名

rename student to tb_stu;

select * from user_tb

--采用||进行合并查询,as后面是查询结果列名

select userid||'/'||username as ID和用户名from user_tb

selectdistinct(username) from user_tb

;

--对表进行更新操作的设置

select * from user_tb forupdate

--字符串的拼接

select concat('027-','88888888') from user_tb

--改成大小写

select Upper('abc') from user_tb

delete user_tb where userid='6'

--首字母大写

--函数

--instr(str1,str2):返回str2在str1中出现的位置,如果不存在返回0

--相当于java中的str1.indexOf(str2);

begin

dbms_output.put_line(instr('abcde','b'));

end;

select * from scott.emp;

select * from scott.dept;

号之后的员工

--to_date转换成日期格式,yyyy-MM_dd日期标准形式

select ename,hiredate from scott.emp  where    hiredate > to_date('1982-1-1','yyyy-MM-dd');

--查询销售部的所有员工

select ename from scott.emp where deptno=(

select deptno from scott.dept where dname = 'SALES'

)

--查询comm字段不为空,不等于不能用"!=",等于不能用"=="

select * from scott.emp where comm isnotnull;

select * from scott.emp where comm isnull;

--between and

--查询工资在某范围内的员工

--rownum表中自带的虚拟列,用来指示结果的记录行数

selectrownum,ename from scott.emp

--采用运算符,即+,-,*,/查询结果会出现多的一列,此为计算后形成的,成为计算列

as计算列from scott.emp;

--as作为列名与别名的连接,as也可以省略,如果遇到特殊字符或空格,需要将别名用引号包起来

select ename  员工,sal  工资from scott.emp

select ename as "Name",sal*1.5as "员工工资(加年终奖)" from scott.emp;

--使用||做连接两个字符串

select ename||job as员工和职位from scott.emp

select ename || ' is ' ||job as员工和职位from scott.emp;

--消除重复的行

selectdistinct job from scott.emp

selectdistinct deptno from scott.emp

--排序,order by 默认采用升序,如果要采用降序,必须制定

select ename,sal from scott.emp orderby sal desc

--多列排序,先按照第一列,然后依次往下

select ename,sal,hiredate from scott.emp orderby sal,hiredate

--对计算列进行排序,对其指定别名

select empno,ename,sal*Months_between(sysdate,hiredate) as total from

scott.emp orderby total;

--条件查询,条件格式是放在where 关键字后面

--中文日期格式为"DD-MM月-yy"

select ename,hiredate from scott.emp where hiredate >='1-1月-1982';

--多条件查询

;

个或者多个任意的字符,”下划线代表一个任意字符“

select ename from scott.emp where  ename like'A%'

SELECT * FROM SCOTT.EMP WHERE ENAME LIKE'A____'

select * from scott.dept;

java 从零开始,学习笔记之基础入门<Oracle_基础>(三十三)的更多相关文章

  1. python学习笔记一 python入门(基础篇)

    简单介绍一下python2.x和3.5的区别   print   在python3.5中print 变为print() Old: print * New: print( * ) 如果想要不换行,之前的 ...

  2. tensorflow学习笔记二:入门基础 好教程 可用

    http://www.cnblogs.com/denny402/p/5852083.html tensorflow学习笔记二:入门基础   TensorFlow用张量这种数据结构来表示所有的数据.用一 ...

  3. Java IO学习笔记四:Socket基础

    作者:Grey 原文地址:Java IO学习笔记四:Socket基础 准备两个Linux实例(安装好jdk1.8),我准备的两个实例的ip地址分别为: io1实例:192.168.205.138 io ...

  4. Java IO学习笔记八:Netty入门

    作者:Grey 原文地址:Java IO学习笔记八:Netty入门 多路复用多线程方式还是有点麻烦,Netty帮我们做了封装,大大简化了编码的复杂度,接下来熟悉一下netty的基本使用. Netty+ ...

  5. Hadoop学习笔记(1) ——菜鸟入门

    Hadoop学习笔记(1) ——菜鸟入门 Hadoop是什么?先问一下百度吧: [百度百科]一个分布式系统基础架构,由Apache基金会所开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序. ...

  6. 20145213《Java程序设计学习笔记》第六周学习总结

    20145213<Java程序设计学习笔记>第六周学习总结 说在前面的话 上篇博客中娄老师指出我因为数据结构基础薄弱,才导致对第九章内容浅尝遏止地认知.在这里我还要自我批评一下,其实我事后 ...

  7. java JDK8 学习笔记——助教学习博客汇总

    java JDK8 学习笔记——助教学习博客汇总 1-6章 (by肖昱) Java学习笔记第一章——Java平台概论 Java学习笔记第二章——从JDK到IDEJava学习笔记第三章——基础语法Jav ...

  8. java JDK8 学习笔记——第16章 整合数据库

    第十六章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API中的接口会有数据库厂商操作,称为JDBC驱动程 ...

  9. java多线程学习笔记——详细

    一.线程类  1.新建状态(New):新创建了一个线程对象.        2.就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法.该状态的线程位于可运行线程池中, ...

随机推荐

  1. java之两个字符串的比较

    compareTo() 的返回值是int, 它是先比较对应字符的大小(ASCII码顺序)1.如果字符串相等返回值02.如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值 ...

  2. Oracle通过主键id删除记录很慢

    问题描述: Oracle通过主键id删除2000条记录很慢,需要花费十二分钟. 解决过程: 1.首先查看SQL的执行计划,执行计划正常,cost只有4,用到了主键索引. 2.查看等待事件, selec ...

  3. php之利用递归写无限极分类

    <?php //无限极分类 //parent 的值,是该栏目的父栏目的id 反之是 /*0 安徽 合肥 北京 海淀 中关村 上地 河北 石家庄 */ $area = array( array(' ...

  4. Laravel PHP Web开发框架

    Laravel是一套简洁.优雅的PHP Web开发框架(PHP Web Framework).它可以让你从面条一样杂乱的代码中解脱出来:它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁.富于 ...

  5. Delphi控件的透明与不透明(要挨个解释一下原因),对InvalidateControl的关键理解

    procedure TForm1.Button3Click(Sender: TObject);begin if (csOpaque in ControlStyle) then ShowMessage( ...

  6. struts2接收参数——域模型、DTO

    在开始介绍域模型之前我们要明白一点,为什么通过域模型我们可以把参数这么方便的在后台接收. 那是因为 通过参数拦截器(params interceptor)自动的把前台传过来的参数给域对象(domain ...

  7. 【HDOJ】1247 Hat’s Words

    字典树. #include <cstdio> #include <cstring> #include <cstdlib> #define MAXN 50005 #d ...

  8. centos6.5安装gcc6.1等c++环境

    centos6.5安装gcc6.1等c++环境 1.获取gcc安装包并解压wget http://ftp.gnu.org/gnu/gcc/gcc-6.1.0/gcc-6.1.0.tar.bz2tar ...

  9. Android设备信息、感应器检测

    近日产品已经上线,开始有时间来做自己的事情,于是就开始学习和巩固一些以前用过的或者学过的技术.昨天写了一个检测Android设备的序列号和IMEI以及感应器等等的一个Demo来跟大家分享一下. 在开发 ...

  10. 数据结构(线段树):Educational Codeforces Round 6 620E. New Year Tree

    E. New Year Tree time limit per test 3 seconds memory limit per test 256 megabytes input standard in ...