数据库功能——Day18

一、条件

1、条件表达式:
* >、
* <、
* >=、
* <=、
* !=、
* =、
* <>:不等于、
* and(&&)、
* Or(||)、
* is:一般用于判断字段值是否为空、
* not

2、模糊查询
* like:
_:表示单个字符的匹配
%:表示任意个字符的匹配

3、指定范围内的
* in(值1,值2,值3,…)
* between 值1 and 值2

4、去重复
* distinct

5、起别名
* as:as可以省略

二、约束

2.1 非空约束 not null

表示被非空约束的字段值不能为空
建表后将字段设置为非空
alter table 表名 modify 列名 类型 not null;
注:值为空的字段,不能修改为非空的
将非空字段设置为可以空的字段:
alter table 表名 modify 列名 类型;
建表时设置字段为非空:
create table 表名 (字段1 类型 not null,…);

2.2 唯一约束 unique

被唯一约束的字段值不能重复
建表后将字段设置为唯一:
alter table 表名 modify 列名 类型 unique;
注:已经重复值的字段,不能修改成唯一的
将唯一字段设置为可以重复的字段:
alter table 表名 drop index 列名;
建表时候设置字段唯一:
create table 表名 (字段1 类型 unique,…);

注:唯一约束下可以有多个null值

2.3 主键约束 primary key

特点:
1、非空
2、唯一
作用:标识表中的指定记录,一般使用没有特殊含义的字段作为主键
注:这种主键的定义方式,一般将主键写在第一位
主键只能有一个。

常见的主键:身份证号、学号、工号、

建表时添加主键
	1、create table 表名 (主键 类型 primary key,...);
	2、create table 表名 (字段1 类型 [约束],字段2 类型 [约束],primary key(id));
建表后设置主键:
	alter table 表名 modify 列名 类型 primary key;
	注:有null值或重复值的字段不能设置为主键
删除主键约束:
	alter table 表名 drop primary key;
	注:删除主键约束,仍会保留非空约束

2.3.2 主键自增长

注:
1、主键自增长是MySQL特有的
2、自增长的主键只能是数值类型的
3、只有主键才能自增长
4、自增长的主键可以使用null,系统会根据当前的最大值继续自增长
5、小鼠类型的自增长,使用null,结果是当前最大值的向上取整
格式:
create table 表名 (主键 类型 primary key auto_increment,…);

可以将字段设置成主键的的同时设置它自增长
	alter table  表名 modify 列名 类型 primary key auto_increment;
建表后为主键设置自增长
	alter table 表名 modify 主键 类型 auto+increment;

2.4 外键约束 foreign key

三、聚合函数

概念:将数据库表中的一列作为整体进行运算的函数

注:
聚合函数不计算null
1、sum()
2、avg()
3、max()
4、min()
5、count()

  • 一般放置不会有null值的字段主键
  • count(*),表示所有记录

四、查询语句

select
	列
from
	表名列表
where
	条件列表
group by
	分组
having
	分组后的筛选条件
order by
	  排序方式
limit
	分页

4.1 排序

排序fs:
1、asc:升序,默认
2、desc:降序
格式:
order by 字段 asc(升序)/desc(降序);
多个字段升降格式:
order by 字段1 asc/desc,字段2 asc/desc;
注:只有前面的字段排序完成有相同值时,才会根据后面的字段进行排序

4.2 分组

分组查询一般用于拆线呢分组字段和聚合函数
格式:
group by 分组字段

where 和 having 的区别:
1、where 用于分组前,当满足where 条件后才会进行分组,having 用于分组后,满足分组后的条件才会被查询
2、where 不能对聚合函数进行判断,having 可以对聚合函数进行判断

4.3 分页

格式:
	limit 起始下标,显示数量

起始下标:(页码 - 1)*显示的记录数
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值