3、MySQL的配置 端口号:3306 默认字符集:utf8 将bin目录写入 环境变量 root密码设置 注:utf8:一种Unicode编码,解决国际上字符不统一的多字节编码,通用性强...[字段属性|约束][索引][注释], …… 字段n 数据类型 [字段属性|约束][索引][注释] )[表类型][表字符集][注释]; 例:...赋予某字段默认值 唯一约束 UNIQUE KEY(UK) 设置字段的值是唯一的 允许为空,但只能有一个空值 主键约束 PRIMARY KEY(PK) 设置该字段为表的主键 可唯一标识该表记录...`,`bornDate` FROM `student` WHERE `gradeId` = 1 ORDER BY studentNo; 9、LIMIT子句 MySQL查询语句中使用LIMIT子句限制结果集...13、常用函数——数学函数 CEIL(x)返回大于或等于数值x的最小整数 SELECT CEIL(2.3) 返回:3 FLOOR(x) 返回小于或等于数值x的最大整数 SELECT
; 修改一个表的字段类型 ALTER TABLE 表名 MODIFY 字段名 数据类型; 修改表名 RENAME TABLE 原始表名 TO 要修改的表名; 修改表的字符集为gbk ALTER TABLE...DQL 查询所有列 SELECT * FROM 表名; 结果集 数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端。...通过查询语句查询出来的数据以表的形式展示我们称这个表为虚拟结果集。存放在内存中。 查询返回的结果集是一张虚拟表。 查询指定列的数据 SELECT 列名1,列表2......18 and 30; where name in("张三","李四","王五"); 条件查询运行符及关键字 =(等于)、!...=(不等于)、(不等于)、(大于)、>=(大于等于); BETWEEN…AND;值在什么范围 IN(set);固定的离散范围 IS NULL(为空)、IS NOT NULL
),6,'0'); 日期函数 常用函数: 函数 功能 CURDATE() 返回当前日期 CURTIME() 返回当前时间 NOW() 返回当前日期和时间 YEAR(date) 获取指定date的年份...KEY 约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束。...left join emp e2 on e1.managerid = e2.id; 联合查询 union, union all 把多次查询的结果合并,形成一个新的查询集 语法: SELECT...之后 FROM 之后 SELECT 之后 标量子查询 子查询返回的结果是单个值(数字、字符串、日期等)。...返回的结果是一行(可以是多列)。
返回大于等于该参数的最小整数 3. floor 向下取整,返回小于等于该参数的最大整数 4.truncate 截断----->只保留小数点后几位,不进行四舍五入操作 5.mod 取余 日期函数 1.now...,其他的字段是不能查询的,查了报错 虽然不能单独查询非分组字段,但是可以把聚合函数查询用在非分组字段上 分组查询一般是和聚合查询结合使用,针对每个分组去做聚合(最大值,最小值,计数) 连接查询---多表查询...,除了聚合查询和分组的字段可以查询之外,其他的字段是不能查询的,查了报错 分组查询多数用于统计数据,分组查询一般和聚合查询一起使用 虽然不能单独查询非分组字段,但是可以把聚合函数查询用在非分组字段上 SELECT...仅支持标量子查询 from后面: 支持表子查询 where或者having后面:支持标量,列,行子查询 exists后面(相关子查询):支持表子查询 按结果集的行列数不同: 标量子查询(结果集只有一行一列...) 列子查询(结果集只有一列多行) 行子查询(结果集可以有一行多列) 表子查询(结果集一般为多行多列) ---- where或having后面 标量子查询(单行子查询) 列子查询(多行子查询) 行子查询
函数名 功能 返回值 说明 get 返回表中满足条件的一条且只能是一条数据。 模型类对象 参数为查询条件。1) 如果查到多条数据,则抛异常MultipleObjectsReturned。...QuerySet对象 参数为查询条件。 exclude 返回表中不满足条件的数据。 QuerySet对象 参数为查询条件。 order_by 对查询结果进行排序。...查询集(QuerySet对象) 调用all, filter, exclude, order_by这些函数会返回一个查询集(QuerySet对象),查询集有以下特性: 惰性查询:只有在实际使用查询集中的数据的时候才会发生对数据库的真正查询...缓存: 当使用的是同一个查询集时,第一次使用的时候会发生实际数据库的查询,然后把结果缓存起来,之后再使用这个查询集时,使用的是缓存中的结果。...谓词 Django的查询条件是一种独特的字段查询表达方式,表现形式为: 字段名称__谓词=值 即用‘双下划线连接的字段名称和谓词’来表示查询的条件。
all: 返回全部数据,返回的类型是QuerySet。 filter: 返回符合条件的,和get不同,这个可以返回多条数据。返回的类型是QuerySet。...exclude: 返回不满足此条件的,也是可以返回多条数据,返回类型也是QuerySet。 order_by: 对查询的结果进行排序,返回类型也是QuerySet。...count函数 查询所有人的数目也可以这样写 student.objects.all().count() 注意:当返回值类型为QuerySet类型时,我们称他为一个查询集,可以再次进行以上任何操作。...2、缓存 当我们使用同一个查询集的时候,只有第一次是执行到数据库,然后把结果储存起来,当我们再次使用这个查询集的时候,就会调用我们缓存中的数据。...查询集相当于一个列表,我们取值可以遍历取出,也可以进行下表或者切片取出。 当我们对一个查询集进行切片或下标查询,会返回一个新的查询集。 不同的是我们的切片不允许为负值。 判断一个查询集是否有数据。
过滤器基于所给的参数限制查询的结果,从Sql的角度,查询集和select语句等价,过滤器像where和limit子句。 返回查询集的过滤器如下: all():返回所有数据。...filter():返回满足条件的数据。 exclude():返回满足条件之外的数据,相当于sql语句中where部分的not关键字。 order_by():对结果进行排序。...缓存:使用同一个查询集,第一次使用时会发生数据库的查询,然后把结果缓存下来,再次使用这个查询集时会使用缓存的数据。 查询集的缓存 每个查询集都包含一个缓存来最小化对数据库的访问。...在新建的查询集中,缓存为空,首次对查询集求值时,会发生数据库查询,django会将查询的结果存在查询集的缓存中,并返回请求的结果,接下来对查询集求值将重用缓存中的结果。...hero.hbook 通过模型类执行关联查询- 由多模型类条件查询一模型类数据: 语法如下: 关联模型类名小写__属性名__条件运算符=值 如果没有"__运算符"部分,表示等于,结果和sql中的inner
使用,实现去重的统计 select sum(distinct 字段) from 表; ⑤count函数 count(字段):统计该字段非空值的个数 count(*):统计结果集的行数 案例:查询每个部门的员工个数...1 xx 10 2 dd 20 3 mm 20 4 aa 40 5 hh 40 count(1):统计结果集的行数 效率上: MyISAM存储引擎,count(*)最高 InnoDB存储引擎...行子查询 exists后面: 标量子查询 列子查询 行子查询 表子查询 2、按结果集的行列 标量子查询(单行子查询):结果集为一行一列 列子查询(多行子查询):结果集为多行一列...行子查询:结果集为多行多列 表子查询:结果集为多行多列 三、示例 where或having后面 1、标量子查询 案例:查询最低工资的员工姓名和工资 ①最低工资 select min(salary) from...约束名 foreign key(字段名) references 主表(被引用列)) 注意: 支持类型 可以起约束名 列级约束 除了外键 不可以 表级约束 除了非空和默认 可以,但对主键无效 列级约束可以在一个字段上追加多个
(d) 返回日期d的月份 DATE(d) 返回日期时间d的日期部分,舍弃时间部分 日期函数用于获取当前日期时间的函数多数是空参数函数,虽然参数为空,但是函数名后的括号不能省略不写。...不过,这里要注意的是,在SELECT后使用的子查询语句只能返回单个列,且要保证满足条件时子查询语句只会返回单行结果。企图检索多个列或返回多行结果将引发错误。...这里根据子查询返回的结果数量,分三种情况,即1行1列、N行1列、N行N列。 当返回结果为1行1列时,实际上就是返回了一个具体值,这种子查询又叫标量子查询。...标量子查询的结果,可以直接用比较运算符来进行计算。 当返回结果是N行1列时,实际上就是返回了一个相同类型数值的集合。因此可以使用IN谓词判断,同时也可以配合ANY、SOME、ALL等关键字使用。...当返回结果是N行N列时,实际上就是返回一个临时表,这时就不能进行值的比较了,而是使用EXISTS谓词判断返回的集合是否为空。
空查询 我们以最简单的 search API开始,空查询将会返回索引中所有的文档。...查询与过滤语句非常相似,但是它们由于使用目的不同而稍有差异 一条过滤语句会询问每个文档的字段值是否包含着特定值 created 的日期范围是否在 2013 到 2014 ?...这种评分方式非常适用于一个没有完全配置结果的全文本搜索 性能差异 使用过滤语句得到的结果集--一个简单的文档列表,快速匹配运算并存入内存是十分方便的,每个文档仅需要1个字节。...这些缓存的过滤结果集与后续请求的结合使用是非常高效的 查询语句不仅要查找相匹配的文档,还需要计算每个文档的相关性,所以一般来说查询语句要比过滤语句更耗时,并且查询结果也不可缓存。...条件 { "exists": { "field": "title" } } bool 过滤 bool 过滤可以用来合并多个过滤条件查询结果的布尔逻辑,它包含一下操作符
Django有两种过滤器用于筛选记录: filter:返回符合筛选条件的数据集 exclude :返回不符合筛选条件的数据集 链式调用: 多个filter和exclude可以连接在一起查询 Person.objects.filter...过滤器:过滤器就是一个函数,基于所给的参数限制查询集结果,返回查询集的方法称为过滤器。 查询经过过滤器筛选后返回新的查询集,所以可以写成链式调用。...Person.objects.order_by('id') persons.values() 注意方法的返回值类型 切片 限制查询集,可以使用下标的方法进行限制 左闭右开区间.../缓存集 查询集的缓存:每个查询集都包含一个缓存,来最小化对数据库的访问 在新建的查询集中,缓存首次为空,第一次对查询集求值,会发生数据缓存,django会将查询出来的数据做 一个缓存,并返回查询结果...- 都不会真正的去查询数据库 - 懒查询 - 只有我们在迭代结果集,或者获取单个对象属性的时候,它才会去查询数据 - 为了优化我们结果和查询 获取单个对象:
,保留y位小数 常用的日期函数 CURDATE() 返回当前日期 CURTIME() 返回当前时间 NOW()返回当前日期和时间 YEAR(date)获取指定date的年份 MONTH(date)获取指定...默认值 约束: 概念 约束是作用于表中字段上的规则,用于限制存储在表中的数据。...分类: 非空约束:NOT NULL 限制该字段的数据不能为null 唯一约束: UNIQUE 保证该字段的所有数据都是唯一、不重复的 主键约束:PRRIMARY KEY 主键是一行数据的唯一标识,要求非空且唯一...联合查询-union,union all 对于union查询,就是把多次查询的结果合并起来,形成一个新的查询结果集 语法: SELECT 字段列表 FROM 表A......UNION[ALL] SELECT 字段列表 FROM 表B...; 注意: 对于联合查询的多张表的列数必须保持一致,字段类型也需要保持一致。
语法格式:SELECT 字段1,字段2 FROM 表1 UNION [ALL] SELECT 字段3,字段4 FROM 表2; UNION操作符:返回两个查询的结果集的并集,去除重复的记录。..., 通过LIMIT限制返回的数据量,返回查询的结果集。...子查询的分类 按子查询返回数据条目数分类: 单行子查询:子查询结果集只有一条数据(记录)。...非空约束只能用于列级约束,不能用于表级约束。(只能约束单个字段,不能约束字段组合) 一个表可以有很多非空列。 空字符串不等于NULL,0不等于NULL。...数据安全 MySQL将用户对数据的 访问限制 在某些数据的结果集上,而这些数据的结果集可以使用视图来实现。用 户不必直接查询或操作数据表。这也可以理解为视图具有 隔离性 。
) 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都是报错 values(*field) 返回一个ValueQuerySet...根据日期获取查询集 datetimes() 根据时间获取查询集 none() 创建空的查询集 union() 并集 intersection... 正则表达式 Account.objects.filter(account_name__iregex=val) 正则表达式,忽略大小写 与filter相反exclude用于返回不满足条件的查询结果...__month 日期字段的月份 __day 日期字段的日 4.2双下划线(__)查询 a、双下划线(__)之单表条件查询 例子: table1.objects.filter(id__...__gt=4 九、实例 1、Django的ORM中如何判断查询结果是否为空,判断django中的orm为空 result= Booking.objects.filter() 方法一 .exists()
templateName等于"kl"的记录并分页,乍一看这个代码还过得去哈,其实当查询的条件多一点,这种代码就会变得又臭又长,而且只支持基础的字符串类型的字段查询,如果查询条件有时间筛选的话就不支持了,...,比如日期等。...Querydsl定义了一套和JpaSpecification类似的接口,使用方式上也类似,由于QueryDsl多了一个maven插件,可以在编译期间生成领域对象操作实体,所以在拼接复杂的查询条件时相比较...下面是它的接口定义,可以看到,要么分页查询一步到位但是没有排序,要么排序查询返回List列表自己封装分页。...在使用Jpa的结构化语义构建复杂查询时,经常会因为各种原因导致查询的结果集不是自己想要的,但是又没法排查,因为不知道最终执行的sql是怎么样的。
null,如果是,则返回1,否则返回0 条件查询 一、语法 select 查询列表 from 表名 where 筛选条件 #案例:查询工资<15000的姓名、工资 SELECT last_name,salary...列子查询 行子查询 表子查询 按结果集的行列 标量子查询(单行子查询):结果集为一行一列 列子查询(多行子查询):结果集为多行一列 行子查询:结果集为多行多列 表子查询:结果集为多行多列 代码示例...② 主键不允许为空,唯一可以为空 2.相同点: 都具有唯一性 都支持组合键,但不推荐 外键: ① 用于限制两个表的关系,从表的字段值引用了主表的某个字段值 ② 外键列和主表的被引用列要求类型一致...create table 表名( 字段名 字段类型 not null ,#非空 字段名 字段类型 primary key,#主键 字段名 字段类型 unique,#唯一 字段名 字段类型...不可以 表级约束 除了非空和默认 可以,但对主键无效 列级约束可以在一个字段上追加多个,中间用空格隔开,没有顺序要求 三、修改表时添加或删除约束 1.非空 添加非空 alter table 表名
表中可存放的数据格式 1、整型和浮点型:都属于数值类型。 2、字符串类型: 任何数据都可以说成是字符串类型,汉字、字母、数字、一些特殊字符甚至是日期都可以用字符串类型来存储。 3、日期时间类型。...(2)、ANY通常被比较运算符连接ANY得到的结果,它可以用来比较某一列的值是否全部都大于(小于、等于、不等于等运算符)ANY后面的子查询中得到的结果。 ?...(4)、EXISTS关键字代表存在的意思,当查询返回的结果为空,那么返回true,否则为false,当查询语句能够查询出数据时,则查询出所有符合条件的数据,负责不输出任何数据。 ?...4、结果集的运算 (1)、使用UNION关键字合并查询结果 所谓合并查询结果是将两个或更多的查询结果放到一个结果集中显示,但是合并结果是有条件的,那就是必须保证每一个结果集中的字段和数据类型一致。...进行差运算时要保证except前后的两个结果集列的个数和数据类型一致。 ? (4)、对结果集进行交运算。 交运算就是对两个结果集取交集,使用关键字INTERSECT,其语法形式与合并、差运算一致。
all 表示返回查询结果集所有的行,其中包括重复行;distinct 表示如果结果集中有重复行,只返回一行,默认值是all。 (3)select_list:表示要查询的字段列名。...group by 之后可以跟having 子句,它实现对结果集的筛选。使用having 语句查询和where 关键字类似,在关键字后插入条件表达式来规范查询结果。...6.3.1 交叉连接查询 交叉查询是连接的最简单的类型,它不带where子句,返回被连接的两个或多个表所有数据行的笛卡尔积,返回结果集合中的数据行数等于第一个表中符合查询条件的数据行乘以第二个表中符合查询条件的数据行数...该类型索引可创建在任务数据类型字段上。 2、唯一索引,即创建索引时,限制索引的值必须是唯一的。通过该类型索引可更快地查询某条记录。...3、全文索引,主要关联在数据类型为char、varchar和text的字段上,以便能够更加快速地查询数据量较大的字符串类型的字段。
4、用 Connection 对象执行 SQL语句,获得结果集 ResultSet 对象。 5、然后一条一条读取结果集 ResultSet 对象中的数据。...如ADO.NET、JDBC、ODBC等等)均是以行集的结果集一条条进行处理的。...List getResultList(); | 用于执行select语句并返回结果集实体列表。...的 Date 型值临时转换为数据库支持的日期时间类型(java.sql.Date、java.sql.Time及java.sql.Timestamp)。...select 用来指定查询返回的结果实体或实体的某些属性。 from 子句声明查询源实体类,并指定标识符变量(相当于SQL表的别名)。
(可以用于数值类型,也可以用于日期类型) 1).用于查询数值范围:between(包含)....and(包含)......–数值类型、日期类型 例如:查询电脑类商品的最高价格?...每页显示的条数 例题:SELECT * FROM products LIMIT 2; //表示从0页开始,取2条记录. 3).注意:M值和N值,只要是正数,不会抛异常,可能会返回空结果集。...by 字段名 having 聚合函数 条件; 6,能够完成数据的备份和恢复 1.备份:在要备份的数据库上右键–>备份/导出–>以SQL转储文件备份数据库 2.恢复:在SQLYog左边右键–>导入...,这个写在内部的查询就叫:子查询; 2.子查询的结果可以作为另一个查询:判断条件,表使用。
领取专属 10元无门槛券
手把手带您无忧上云