创建查询总结 第1篇

在缺省情况下创建的索引均不是唯一索引。下面的示例将创建唯一索引,如:

如果再次插入userid重复的文档时,MongoDB将报错,以提示插入重复键,如:

如果插入的文档中不包含userid键,那么该文档中该键的值为null,如果多次插入类似的文档,MongoDB将会报出同样的错误,如:

如果在创建唯一索引时已经存在了重复项,我们可以通过下面的命令帮助我们在创建唯一索引时消除重复文档,仅保留发现的第一个文档,如:

--先删除刚刚创建的唯一索引。

--插入测试数据,以保证集合中有重复键存在。

--创建唯一索引,并消除重复数据。

--查询结果确认,重复的键确实在创建索引时已经被删除。

我们同样可以创建复合唯一索引,即保证复合键值唯一即可。如:

创建查询总结 第2篇

在MongoDB中,我们同样可以创建复合索引,如下:

该索引被创建后,基于username和age的查询将会用到该索引,或者是基于username的查询也会用到该索引,但是只是基于age的查询将不会用到该复合索引。因此可以说,如果想用到复合索引,必须在查询条件中包含复合索引中的前N个索引列。然而如果查询条件中的键值顺序和复合索引中的创建顺序不一致的话,MongoDB可以智能的帮助我们调整该顺序,以便使复合索引可以为查询所用。如:

对于上面示例中的查询条件,MongoDB在检索之前将会动态的调整查询条件文档的顺序,以使该查询可以用到刚刚创建的复合索引。

创建查询总结 第3篇

查询出每个部门的平均工资

–聚合函数有一个条件,可以把多行记录变成一个值

–查询平均工资高于2000的工资 –所有条件都不能使用别名

(有的条件优先于servlet,条件不满足不会servlet) 比如下面 –查询出每个部门工资高于800的员工的平均工资

--where和having区别: –where是过滤分组前的数据,having是过滤分组后的数据 –表现形式:where必须在group by之前,having在group by之后 –例:查询每个部门工资高于800的员工的平均工资 –然后再查询出平均工资高于2000的部门 select () from emp e where ;800 group by having avg()>2000;

创建查询总结 第4篇

表空间操作 –1. 创建表空间 create tablespace studentspace datafile ‘D:\Oracle\fanzhe\oradata\MYOWNER\studentdata01’ size 200m autoextend on maxsize 500m; –2 修改表空间 alter tablespace studentspace add datafile ‘D:\Oracle\fanzhe\oradata\MYOWNER\studentdata02’ size 200m autoextend on maxsize 500m; –关闭表空间 alter tablespace studentspace offline; –开启表空间 alter tablespace studentspace online; –3 删除表空间 drop tablespace studentspace including contents and datafiles; 用户操作 –1创建用户 Creat user 用户名 Identified by 密码 Default tablespace 指定表空间 –2为用户授权 Grant dba(权限:connect(连接角色,基本角色) resource:开发者角色 dba:超级管理员角色) to 用户名

以下表在scott表下操作,其中四张是我自己建立的表(course、score、sdept、student),其余表全是scott用户下自带表。

1)、–Insert遇到问题: 主键问题:唯一、非空 检查约束:不能违反 数据类型不匹配问题 缺失、过剩字段值。 例四个字段输入三个或者字段过多 2)、Update: 修改人文学院的王艳年龄改为17

将c语言这门课课程学分修改为4

修改计算机的电话为88885555

修改学号为06010120212学生所在的院系为计算机学院

3)、Select: –基本查询 1、查询与xxx在同一院系的所有学生姓名 方一:

方二:自身查询

2、查询选修了c语言的所有学生的姓名、学号、院系名称和成绩

3、查询了选修了C语言的所有学生的学号、姓名

4、查询选修了课程号为B002且成绩低于安然的所有学生的成绩

5、使用内连接查询每个人的选修课成绩情况,要求显示学生姓名、课程号、成绩

6、使用union查询自动化和人文学院的所有学生

聚合函数 –count(*)和count(1)推荐使用 底层一样,都是查询第一列数量 select count(1) from emp;–查询总数量 select sum(sal) from emp;–工资总和 select max(sal) from emp;–最大工资 select min(sal) from emp;–最低工资 select avg(sal) from emp;–平均工资

单行函数 作用于一行,返回一个值

多行函数 作用于多行,返回一个值

字符函数

–日期转字符串

–字符串转日期