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. Python:运算符

    #!/usr/bin/python3 #运算符 #算术运算符 print("算术运算符:","+ - * / % **(幂) //(取整)") #比较运算符 p ...

  2. hadoop 分片与分块,map task和reduce task的理解

    分块:Block HDFS存储系统中,引入了文件系统的分块概念(block),块是存储的最小单位,HDFS定义其大小为64MB.与单磁盘文件系统相似,存储在 HDFS上的文件均存储为多个块,不同的是, ...

  3. Chess---->简单命令框象棋(人VS人)

    简单粗暴,直接先上代码: ChessBoard.h:  1 #ifndef CHESBOARD_H  2 #include<iostream>  3 #include<string& ...

  4. python中xrange和range的区别

    这两个基本上都是在循环的时候用. for i in range(0, 100): print i for i in xrange(0, 100): print i 这两个输出的结果都是一样的,实际上有 ...

  5. 永久关闭防火墙和selinux

    临时关闭selinux: setenforce 0    //设置SELinux 成为permissive模式 彻底禁用selinux: 使用root用户,vim /etc/sysconfig/sel ...

  6. visual studio中验证控件的使用

    1.RequiredFieldValidator:验证一个必填字段,如果这个字段没填,那么,将不能提交信息. RequiredFieldValidator控件中,主要设置三个属性: (1)ErrorM ...

  7. ckeditor字数限制

    var maxlength = 200; _editor=CKEDITOR.replace("ckeditor",{height:'130px'}); _editor.on('ke ...

  8. JSP 登录页面

    1. index.jsp来提交请求 2. login.jsp来检查数据库数据 3. 需要注意的是,下载下来的mysql.conection jar包需要放到WEB-INF下面的lib文件夹下 jsp ...

  9. [BZOJ 1801] [Ahoi2009]chess 中国象棋 【DP】

    题目链接:BZOJ - 1801 题目分析 对于50%的数据是可以直接状压 DP 的. 对于100%的数据,使用递推的 DP .(或者这只叫递推不叫 DP ?) 可以发现,每一行和每一列的棋子个数不能 ...

  10. SharePoint2013 Powershell script to get site Title, Site Owner, Site user count and usage

    Powershell script to get site Title, Site Owner, Site user count and usage Add-PSSnapin microsoft.sh ...