java 从零开始,学习笔记之基础入门<Oracle_基础>(三十三)
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_基础>(三十三)的更多相关文章
- python学习笔记一 python入门(基础篇)
简单介绍一下python2.x和3.5的区别 print 在python3.5中print 变为print() Old: print * New: print( * ) 如果想要不换行,之前的 ...
- tensorflow学习笔记二:入门基础 好教程 可用
http://www.cnblogs.com/denny402/p/5852083.html tensorflow学习笔记二:入门基础 TensorFlow用张量这种数据结构来表示所有的数据.用一 ...
- Java IO学习笔记四:Socket基础
作者:Grey 原文地址:Java IO学习笔记四:Socket基础 准备两个Linux实例(安装好jdk1.8),我准备的两个实例的ip地址分别为: io1实例:192.168.205.138 io ...
- Java IO学习笔记八:Netty入门
作者:Grey 原文地址:Java IO学习笔记八:Netty入门 多路复用多线程方式还是有点麻烦,Netty帮我们做了封装,大大简化了编码的复杂度,接下来熟悉一下netty的基本使用. Netty+ ...
- Hadoop学习笔记(1) ——菜鸟入门
Hadoop学习笔记(1) ——菜鸟入门 Hadoop是什么?先问一下百度吧: [百度百科]一个分布式系统基础架构,由Apache基金会所开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序. ...
- 20145213《Java程序设计学习笔记》第六周学习总结
20145213<Java程序设计学习笔记>第六周学习总结 说在前面的话 上篇博客中娄老师指出我因为数据结构基础薄弱,才导致对第九章内容浅尝遏止地认知.在这里我还要自我批评一下,其实我事后 ...
- java JDK8 学习笔记——助教学习博客汇总
java JDK8 学习笔记——助教学习博客汇总 1-6章 (by肖昱) Java学习笔记第一章——Java平台概论 Java学习笔记第二章——从JDK到IDEJava学习笔记第三章——基础语法Jav ...
- java JDK8 学习笔记——第16章 整合数据库
第十六章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API中的接口会有数据库厂商操作,称为JDBC驱动程 ...
- java多线程学习笔记——详细
一.线程类 1.新建状态(New):新创建了一个线程对象. 2.就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法.该状态的线程位于可运行线程池中, ...
随机推荐
- delegate-使用笔记
public class testclass { public class ProductImages : Page { protected Repeater rptSmallUrls; protec ...
- group by应用
注意: having是对分组后的数据进行第二次筛选或者过滤,也就是说没有group by就没having where之后不能有聚合函数 查询每个年级的总学时数,并按照升序排列select GradeI ...
- cas的url中去掉jsessionid
Servlet3.0规范中的<tracking-mode>允许你定义JSESSIONID是存储在cookie中还是URL参数中.如果会话ID存储在URL中,那么它可能会被无意的存储 在多个 ...
- PHP框架_ThinkPHP基础
目录 1.ThinkPHP项目结构 2.ThinkPHP运行流程 3.ThinkPHP配置文件 4.ThinkPHP四种URL模式 5.ThinkPHP用户自定义函数 6.ThinkPHP模板展示及变 ...
- 我和CPP的第二次约会
1.变量之间的运算形式依赖于变量的数据类型,如i = i + j;当 i 和 j 是整型或者浮点型,则代表两个数的相加,如果是第一章所说的Sales_item类型,那么就是这两个变量的成分相加(如果书 ...
- uboot移植参考资料
参考文档:移植u-boot-1.1.6到TQ2440文档.pdf 参考网页:uboot在S3C2440上移植<出自超哥(相广超)>
- uitextfield动态限制输入的字数-b
1.定义一个事件: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ...
- go语言细节
1 数组与字符串为值类型,切片.映射.通道为值类型,赋值需注意. package main import ( "fmt" ) func main() { //数组 a1 := [] ...
- 工作总结:检查字符串合法性(C++)
BOOL CLiftCtrlModbusConfigDlg::CheckValid(const CString &str) { ASSERT(str.GetLength() > ); ] ...
- Android 5.0 技术新趋势
由于 Android 的版本分裂比较严重,整个新系统升级可能需要一两年甚至更长时间.所以目前使用 Android 5.0 的大部分是喜欢尝鲜的用户,同时现在市场上能够很好支持 Android 5.0 ...