- 浏览: 515109 次
- 性别:
- 来自: 南京
最新评论
-
usenrong:
转载 http://www.ijiandao.com/safe ...
DDOS及CC攻击防护经验 -
usenrong:
/sbin/iptables -I INPUT -p tcp ...
CentOS_6.5配置iptables防火墙策略 -
usenrong:
http://maven.aliyun.com/nexus/
aliyun阿里云Maven仓库镜像地址——加速你的maven构建 -
buxin_2008:
qkjava 写道安装了 boot2dockerhttps:/ ...
Docker介绍以及其相关术语、底层原理和技术 -
usenrong:
1.查找文件find / -name filename.txt ...
Java 开发必会的 Linux 命令
尚学堂Oracle课堂笔记(一)
1.desc(描述) emp 描述emp这张表
2.desc dept 部门表
3.desc salgrade 薪水等级
4.select *from table 查找表中的元素
5.dual 是系统中的一张空表
6.select *from dual
7.select sysdate from dual 取出系统时间
8.select ename,sal*12 "annul sal"(取的别名) from emp; 查找用户姓名和用户的年薪
9.任何含有空值的数学表达式的值都是空值
select ename,sal*12+comm from emp;
10.select ename||sal from emp 其中的||相当于将sal全部转化为字符串
11.表示字符串的方法
select ename ||'ajjf' from emp;
12.如果其中有一个单引号就用2个单引号来代替他
select ename||'sakj' 'lds'from emp;
13.select distinct deptno from emp (去除部门字段中重复的部分,关键字distinct)
14.select distinct deptno,job from emp;(去除这2个字段中重复的组合)
15.select *from dept where deptno=10; 取出条件(取出部门编号为10的记录)
16.select * from emp where ename='CLIRK'; 取出部门中姓名为clirk的记录(注意取出过程中ename用单引号隔开)
17.select ename,sal from emp where sal>1500; 取出部门中薪水大于1500的人的姓名
18.select ename,sal,deptno from emp where deptno<> 10 取出部门中的部门号不等于10的
19.select ename,sal,deptno from emp where ename>'CBA' 取出部门中员工名字大于CBA的员工(实际比较的是ACIIS码)
20.select ename,sal from emp where sal between 800 and 1500
select ename,sal from emp where sal>=800 and sal<=1500; (取出800和1500之间的数)
21.select ename,sal,comm from emp where comm is null (选出其中的空值)
select enmae,sal,comm from emp where comm is not null(选出其中的非空值)
22.select ename,sal,comm from emp where sal in (800,1500,2000);取出这3者之中的
select ename,sal,comm from emp where ename in('simth');
23.select ename,sal,hiredate from emp where hiredata>'3-04月-81';宣传符合条件的日期
24.select ename,sal,from emp where sal>1000 or deptno=10; 找出工资薪水大于1000或者部门号等于10的员工
25.select ename,sal from emp where sal not in(500,1000); 查找薪水不在500到1000的员工姓名和月薪
26.select ename,sal from emp where ename like '%ALL%';
select ename,sal from emp where ename like '_%A%'; 查找姓名中含有ALL的客户信息,一个横线代表一个通配符
27.select ename,sal from emp where ename like '_%$%%' escape '$'; 自己指定转易字符
select ename,sal from emp where ename like '_%\%%'; 查找中间含有%相匹配的客户信息,运用转易字符
28.select * from dept order by deptno 对表中元素按部门号排序
select *from dept order by deptno desc 默认为升序,可以用desc按降序
29.select ename,sal from emp where sal <>1000 order by sal desc 按照查询条件来查询,并排序(asc升序排列)
30.select ename,sal*12 from emp where ename not like '_%A%' and sal>800 order by sal desc
31.select lower(ename) from emp 将ename都转化为小写 lower是函数能将字母转化为小写
32.select ename from emp where lower(ename) like '_%a%'; 找出ename 中所有的含有a的字符
33.select substr(ename,2,3) form emp 从第2个字符开始截取3个字符
34.select chr(65) from dual; 将65转化为字符
35.select ascii('A') from dual 将ACSII码转化为字符串
36.select round(23.565)from dual 四舍五入
36.select round(23,4565,2)from dual 四舍五入到第二位
37.select to_char(sal,'$99.999.9999') from emp 按指定格式输出
select to_char(sal,'L99,999,9999') form emp L代表本地字符
38.select hiredate from emp
select to_char(hiredate,'YYYY-MM-DD HH:MI:SS) from emp; 时间格式的显示
select to_char(sysdate,'YYYY-MM-DD HH:MI:ss) from dual; 十二小时制显示系统时间
select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS) from dual 二四小时制显示系统时间
39.select ename,hiredate from emp where hiredate > to_date('2005-2-3 12:32:23','YYYY-MM-DD HH:MI:SS');
40 select sal from emp where sal>to_number('$1,250.00','$9,999.99'); 取出比它大的一切字符串(把特定格式的数字转化成字符)
41 select ename,sal+nvl(comm,0) from emp; 讲comm值为空的用0来替换,单行函数(以一条记录为条件)一条对一条
42.select Max(sal) from emp;
select Min(sal) from emp;
select avg(sal) from emp;
select sum(sal) from emp;
select count(*) from emp; 查看表中一共有多少条记录
select count(*) from emp where deptno=10; 查找部门10一共有多少人;
43.select avg(sal),deptno from emp group by deptno; 按部门号进行分组
select deptno,job,max(sal) from emp group by job,deptno; 按工作和部门号进行分组;
44.select ename from emp where sal=(select max(sal) from emp); 子查询,查找部门中薪水最高的员工姓名
45.group by 注意:出现在select列表中的字段,如果没有出现在组函数中必须出现在group by子句中
46.select avg(sal),deptno from emp group by deptno having avg(sal)>2000; 选出部门中平均薪水大于2000的部门,
47.select * from emp where sal>100 group by deptno having ..........order by........
先取数据--过滤数据------分组----对分组限制-------排序
48.select avg(sal) from emp where sal>2000 group by deptno having avg(sal)>1500 order by avg(sal) desc;
查找部门中平均薪水打印2000的员工并按部门号进行排序,查询分组后的平均薪水必须大于1500,查询结果按平均薪水从低到高排列
49.select ename from emp where sal>(select avg(sal) from emp);
查找出员工中薪水位于部门平均薪水之上的所有员工
50.select ename,sal from emp join(select max(sal) max_sal from emp group by deptno) t on(emp.sal=t,max_sal and emp.deptno=t.deptno);
查找每个部门中薪水最高的
51.select e1.ename,e2.ename from emp e1,emp e2 where e1.mgr=e2.empno; 表的自连接
52.select dname,ename from emp cross join dept 交叉连接,笛卡尔
SQL99中的新语法
53.select ename,dname from emp join dept on(emp.deptno=dept.deptno);
54.select ename,dname from emp join dept using(deptno); 查找emp和dept表中deptno相同的部分。
55.select ename,dname,grade from emp e join dept d on(e.deptno=d.depno)
join salgrade s(e.sal between s.losal and s.hisal) (三表查找)
where ename not like '_%A%';
56.select e1.ename,e2.ename from emp e1 join emp e2 on(e1.mgr=e2.deptno); 表的自连接
57.select e1.ename,e2.ename from emp e1 left join emp e2 on(e1.mgr=e2.deptno) 左外表连接
select ename,dname from emp e right join dept d on(e.deptno=d.deptno)右外连接
select ename,dname from emp e full join dept d on(e.deptno=d.deptno)全连接
58.求部门中薪水最高的
select ename,sal from emp join (select max(sal) max_sal, deptno from emp group by deptno) t
on (emp.sal=t.max_sal and emp.deptno=t.deptno);
59.求部门中薪水等级的平均值
select deptno,avg(grade) from(select deptno,ename,grade,from emp join salgrade s on(emp.sal between s.losal and s.hisal))t group by deptno;
60.查找雇员中哪些是经理人
select ename from emp where empno in(select mgr from emp);
61.select distinct e1.sal from emp e1 join emp e2 on(e1.sal<e2.sal); 自连接(不用组函数求出最高薪水)
select distinct sal from emp where not in (select ename from e1.sal from emp e1 join emp e2 on(e1.sal<e2.sal));
62.select deptno from (select avg(sal) max_sal deptno from emp group by deptno) where max_sal=(select max(avg_sal) from (select
avg(sal) avg_sal deptno from emp group by deptno)); 查找部门中部门薪水最大的部门号
63.求平均薪水最大的部门的部门编号
select deptno,avg_sal from(select avg(sal) avg_sal,deptno from emp group by
deptno)where avg_sal=(select max(avg(sal)) from emp group by deptno);
DML语句:更、删、改、查
创建权限, conn sys/admin as sysdba
grant create table,create view to scott;
首先在C:下面建个文件夹备份文件
1.createNewUser方法
1.--backup scott
exp
2.create user(创建用户)用超级管理员模式进入
create user yun identified by kang1234 default tablespace users quota 10M on users;
grant create session,create table,create view to kafei(给kafei这个用户授予权限)
3.import the data(导入备份数据)
imp
2.insert
insert into dept values (50,'game','bj') 插入一条记录
insert into dept2 (deptno,dname) values (78,'games'); 插入指定的几条记录
insert into dept2 select *from dept 插入指定的表(表结构要一样)
rollback; 回退
create table emp2 as select * from emp; 创建数据库表2来备份emp这张表
3.update emp2 set sal=sal*12 where deptno=10; update的用法
4.delete from dept2 where deptno<25 ; 删除语句的用法
DDL语言
1.创建表:create table t(a varchar2(10));
2.drop table t 删除表
3.commit 所有的提交,所有修改都结束了。对于rollback无效,一个事务开始于第1条DML语句
碰到执行DDL DCL语句事务自动提交 对于rollback无效
建表语句
建学生信息表:
create table stu
(id number(6),
name varchar2(20) constraint stu_name_nn not null,
sex number(1),
age number(3),
sdate date,
grade number(2) default 1,
class number(4),
email varchar2(50) unique (唯一约束)
);
非空 唯一 主键 外键 chick
create table stu
(id number(6) primary key,(主键约束)
name varchar2(20) constraint stu_name_nn not null,(非空约束)
sex number(1),
age number(3),
sdate date,
grade number(2) default 1,
class number(4),
email varchar2(50),
constraint stu_name_uui unique(email,name) 组合性约束
);
主键约束方法二
create table stu
(id number(6),
name varchar2(20) constraint stu_name_nn not null,(非空约束)
sex number(1),
age number(3),
sdate date,
grade number(2) default 1,
class number(4) references class(id),(参考class 这张表,参考字段)
email varchar2(50),
constraint stu_id_pk primary key(id),
constraint stu_name_uui unique(email,name) 组合性约束
);
外键约束
create table class
(id number(4) primary key,(id为被参考字段,被参考的字段必须是主键)
name varchar2(20) not null
)
create table stu
(
id number(6),
name varchar2(20) constraint stu_name_nn not null,(非空约束)
sex number(1),
age number(3),
sdate date,
grade number(2) default 1,
class number(4)
email varchar2(50),
constraint stu_class_fk foreign key(class) references class(id),
constraint stu_id_pk primary key(id),
constraint stu_name_uui unique(email,name) 组合性约束
);
像外键中插入关键字,
1.insert into class values(1000,'c1');
2.insert into stu(id,name,class,email) values(1,'a',1000,'a');
3.alter table stu add(addr varchar(20));添加表的结构
4.alter table stu drop(addr); 删除表结构
5.alter table stu modify(addr varchar2(150));修改精度
6.alter table stu drop constraint stu_class_fk; 删除约束条件
7.alter table stu add constraint stu_class_fk forengn key(class) references class(id),添加约束条件
查找当前用户下有哪些表和哪些视图及哪些约束
8.select table_name from user_names
9.select view_name from view_names
10.select constraint_name,table_name from user_constraints;
desc dictionary数据字典表
desc user_tables当前用户下面有多少张表
select table_name from user_tables; 查找当前用户有多少张表
索引:
创建索引
create index idx_stu_email on stu(email);
drop index idx_stu_email;
查找索引
select index_name from user_indexes;
索引读的速度快了,插入速度变慢
view 视图
视图赠加了维护的量
序列:
create table arcticle
(id number,
title varchar2(1024),
cont long
);
序列的创建sequence产生独一无二的序列,而且是oracle独有的
create sequence seq;
select seq.nextval from dual; 查找序列号
insert into arcticle values(seq.nextval,'a','b');往表中插入序列
数据库设计的3范式
第一范式: 设计任何表都要有主键,列不可分
第二范式: 如果有2个主键的话,不能存在部分依赖
第三范式, 不能存在传递依赖
发表评论
-
对Java意义重大的7个性能指标
2015-11-17 15:05 4997个最有影响的衡量标 ... -
使用四种框架分别实现1百万websocket常连接的服务器
2015-07-11 22:06 1502目录 [−] 服务器的参数调优 -
微观SOA:服务设计原则及其实践方式(上篇)
2015-06-05 08:46 846大量互联网公司都 ... -
分布式RPC框架
2015-05-25 20:25 1237分布式RPC框架:Polaris 在长期的业务发展过程中,对 ... -
关于Java集合
2015-04-22 16:59 711在尽可能短的篇幅里, ... -
微信卡券卡包支付及红包发放系统HTTPS双向认证
2015-03-11 17:18 2880现在邮件发出的文件有四个,分别是apiclient_ ... -
tomcat基于域名的多应用部署及共享jar资源
2015-02-13 15:21 1048最近帮公司开 ... -
Hibernate Search 的常用注解
2015-02-10 19:05 7131. @Indexed -> index 指定索引名 ... -
如何构建高性能服务端程序
2014-12-01 10:52 926接触过很多编程语言, ... -
如何构建高性能服务端程序
2014-12-01 10:52 2接触过很多编程语言, ... -
如何构建高性能服务端程序
2014-12-01 10:50 2接触过很多编程语言, ... -
如何构建高性能服务端程序
2014-12-01 10:47 2接触过很多编程语言, ... -
Java应用的负载均衡、集群、高可用(HA)解决方案
2014-11-24 16:47 32191、熟悉几个组件1.1、apache —— ... -
Criteria 和 DetachedCriteria的区别与使用
2014-08-26 20:14 883Criteria 和 DetachedCriteria ... -
IntelliJ IDEA常用 快捷键
2013-10-08 10:17 1458代码提示 KEYMAP->Main m ... -
Intellij IDEA快捷键及其使用技巧
2013-08-27 14:09 11681. IDEA内存优化 先看看你机器本身的配置而配置. \I ... -
CKFinder 2.3 for java 破解使用
2013-06-26 14:39 1878CKFinder 2.3整合 for java 破解篇ckf ... -
SSH网上商城 基于Struts2 Hibernate Spring J2EE框架结构的电子商务网站
2013-01-31 11:15 2952一个基于Struts2 Hibernate Spring框架 ... -
. System.exit(0)和System.exit(1) 和return 区别
2013-01-30 08:38 30261、System.exit(0)和System.exit(1 ... -
解决MySQL错误reading initial communication packet
2013-01-06 15:51 3715使用navicat远程访问VPS云主机 出现如题rea ...
相关推荐
### Oracle学习笔记知识点总结 #### 第一课:客户端工具介绍 - **SQL Plus**:作为Oracle最基础的客户端工具,SQL Plus支持通过命令行或图形界面进行数据库操作。 - **命令行方式**:直接在命令行输入`sqlplus`,...
【Oracle笔记(基于尚学堂马士兵)】 Oracle是一款全球广泛使用的大型关系型数据库管理系统,由美国Oracle公司开发。本笔记主要基于尚学堂马士兵老师的教学内容,深入浅出地介绍了Oracle的基本概念、安装配置、SQL...
本人自己总结的尚学堂oracle笔记,希望能派上用场,本资源不收资源分,大家可以随意下载
### Oracle学习笔记(尚学堂版) #### 知识点概览 本篇Oracle学习笔记主要由尚学堂马士兵老师的教学内容整理而成,旨在为初学者提供一个系统的学习框架与实践指南。通过以下知识点的梳理,我们可以更好地理解...
"第一天ORACLE笔记.txt"可能是对Oracle基础知识的快速入门,包括如何创建用户、权限管理、数据查询以及基本的DML操作(INSERT, UPDATE, DELETE)。第一天的笔记往往注重基础,为后续深入学习打下坚实的基础。 在...
在尚学堂马世兵的Oracle课堂笔记中,我们能看到一系列基础的SQL查询语句,这些都是学习Oracle数据库不可或缺的部分。 首先,`DESC`命令用于获取表的结构信息,例如`DESC emp`、`DESC dept`和`DESC salgrade`分别...
25.尚学堂SQL简单讲解 70 Oracle常用函数 73 (1)trunc(for date) 73 (2)trunc(number) 73 (3)to_char 73 (4)to_date 74 (5)to_number 74 (6)instr 74 (7)substr 74 (8)trim 75 (9)translate 75 (10)replace 76 (11)...
本笔记将详细讲解Oracle的基本操作和SQL查询语法,旨在帮助初学者快速掌握Oracle数据库的基础知识。 第一课介绍了Oracle客户端的接入方式。在DOS命令行下,你可以使用`sqlplus 用户名/密码`来登录,例如`sqlplus ...
SQL语句集锦 oracle尚学堂笔记 sql+2005宝典, SQLS SQL语句专题训练 oracle+sql培训讲义。
Oracle数据库系统是企业级广泛应用的关系型数据库管理系统,由马士兵老师在尚学堂进行讲解的课程中涵盖了基础操作和核心概念。以下是基于讲义内容的详细知识点解析: 1. **客户端工具**: - `Sql Plus`:Oracle...
【hibernate-学习笔记】 ...以上是对“hibernate-学习笔记”的简要介绍,尚学堂hibernate笔记.doc和Hibernate_3.2.0_Reference_zh_CN.chm两个文档将提供更详细的信息和实例,帮助你深入学习和实践Hibernate。
尚学堂的Oracle笔记(一)和(二)很可能是对Oracle数据库的详细讲解,包括其基本概念、数据类型、SQL语法、表的创建、索引、视图、存储过程以及事务管理等内容。通过这些笔记,学习者可以了解到如何在Oracle环境中创建...
Java编程语言是面向对象的、类为基础的编程语言,它由James Gosling在Sun Microsystems公司开发,后来被Oracle公司收购。Java的特点包括平台独立性、安全性、可移植性以及高性能,这使得它广泛应用于服务器端开发、...
在【JAVA基础培训】部分,课程包括了尚学堂的最新JAVA系列培训,共计18辑300小讲,内容涵盖源代码和PPT笔记。此外,还有IBM Software Institute的Java认证实录,以及张孝祥的JAVA就业培训,这些课程不仅讲解基础概念...