MySQL数据库(二)和java复习

一.MySQL数据库学习(二)

(一).DQL查询数据

DQL(Data Query Language)是用于从数据库中检索数据的语言。常见的 DQL 语句包括 SELECT、FROM、WHERE、GROUP BY、HAVING 和 ORDER BY 等关键字,用于指定要检索的数据、数据源、过滤条件、分组方式、聚合函数以及排序规则等。

 

 一.基本查询

 实例演示:

--  =================== DQL: 基本查询 ======================
-- 1. 查询指定字段 name,entrydate 并返回
select name,entrydate from tb_emp;-- 2. 查询返回所有字段
select * from tb_emp;
select id, username, password, name, gender, image, job, entrydate, create_time, update_time from tb_emp;-- 3. 查询所有员工的 name,entrydate, 并起别名(姓名、入职日期)
select name as 姓名,entrydate as 入职日期 from tb_emp;-- 4. 查询已有的员工关联了哪几种职位(不要重复)
select distinct job from tb_emp;

 二.条件查询

实例演示:

--  =================== DQL: 条件查询 ======================
-- 1. 查询 姓名 为 杨逍 的员工
select * from tb_emp where name='杨逍';-- 2. 查询 id小于等于5 的员工信息
select * from tb_emp where id<=5;-- 3. 查询 没有分配职位 的员工信息
select * from tb_emp where job is null;-- 4. 查询 有职位 的员工信息
select * from tb_emp where job is not null;-- 5. 查询 密码不等于 '123456' 的员工信息
select * from tb_emp where password!='123456';
select * from tb_emp where password<>'123456';
-- 6. 查询 入职日期 在 '2000-01-01' (包含) 到 '2010-01-01'(包含) 之间的员工信息
select * from tb_emp where entrydate>='2000-01-01'and entrydate<='2010-01-01';
select * from tb_emp where entrydate between '2000-01-01' and '2010-01-01';
-- 7. 查询 入职时间 在 '2000-01-01' (包含) 到 '2010-01-01'(包含) 之间 且 性别为女 的员工信息
select * from tb_emp where entrydate between '2000-01-01' and '2010-01-01'and gender=2;-- 8. 查询 职位是 2 (讲师), 3 (学工主管), 4 (教研主管) 的员工信息
select * from tb_emp where job=2 or job=3 or job=4;
select * from tb_emp where job in(2,3,4);
-- 9. 查询 姓名 为两个字的员工信息
select * from tb_emp where name like '__';-- 10. 查询 姓 '张' 的员工信息(模糊查找)
select * from tb_emp where name like '张%';

三.分组查询

聚合函数

 实例演示:

--  =================== DQL: 分组查询 ======================
-- 聚合函数-- 1. 统计该企业员工数量(总数据量) --count
-- A.count(字段)
select count(id) from tb_emp;
-- B.count(常量)
select count(1) from tb_emp;
-- C.count(*)
select count(*) from tb_emp;
-- 2. 统计该企业员工 ID 的平均值 --avg
select avg(id) from tb_emp;-- 3. 统计该企业最早入职的员工 --min
select min(entrydate) from tb_emp;-- 4. 统计该企业最迟入职的员工 --max
select max(entrydate) from tb_emp;-- 5. 统计该企业员工的 ID 之和 --sum
select sum(id) from tb_emp;

四.分组查询

 

 实例演示:

-- 分组
-- 1. 根据性别分组 , 统计男性和女性员工的数量
-- select [分组字段,聚合函数]
select gender,count(*) from tb_emp group by gender;-- 3. 先查询入职时间在 '2015-01-01' (包含) 以前的员工 , 并对结果根据职位分组 , 获取员工数量大于等于2的职位
select job,count(*) from tb_emp where entrydate<='2015-01-01' group by job having count(*)>=2;

 

 五.排序查询

 实例演示:

--  =================== 排序查询 ======================
-- 1. 根据入职时间, 对员工进行升序排序
select * from tb_emp order by entrydate asc;-- 2. 根据入职时间, 对员工进行降序排序
select * from tb_emp order by entrydate desc;-- 3. 根据 入职时间 对公司的员工进行 升序排序 , 入职时间相同 , 再按照 更新时间 进行降序排序
select * from tb_emp order by entrydate,update_time desc;

 

 六.分页查询

 

实例演示:

 

--  =================== 分页查询 ======================
-- 1. 从起始索引0开始查询员工数据, 每页展示5条记录
select * from tb_emp limit 0,5;-- 2. 查询 第1页 员工数据, 每页展示5条记录
select * from tb_emp limit 0,5;-- 3. 查询 第2页 员工数据, 每页展示5条记录
select * from tb_emp limit 5,5;-- 4. 查询 第3页 员工数据, 每页展示5条记录
select * from tb_emp limit 10,5;-- 起始索引=(页码-1)*每页的记录数

 

 

 二.java知识复习

一.java接口

概述:接口技术用于描述类具有什么功能,但并不给出具体实现,当某个类要使用接口时,再去实现接口中的这些方法。类需要遵从接口中描述的统一规则进行定义,所以,接口是对外提供的一组规则,标准。

(接口可以理解为一种特殊的类,里面全部是由全局常量公共的抽象方法所组成。接口是解决Java无法使用多继承的一种手段,但是接口在实际中更多的作用是制定标准的。或者我们可以直接把接口理解为100%的抽象类,既接口中的方法必须全部是抽象方法.)

 接口的实现和定义:

 ①定义接口要用到关键字interface,格式如下 : 

                interface 接口名 {

                } 

 ②类和接口之间不再是继承关系,而是实现关系,用implements关键字表示。如下 : 

                class 类名 implements 接口名 {

                }

  1.接口成员变量的特点 : 

接口中没有成员变量,只有公有静态常量

默认情况下属性前都会有 public static final 这三个关键字修饰。如下 : public static final 数据类型 常量名 = 常量值;

final修饰的属性必须进行初始化,而对于公有静态常量(public static final),初始化的途径只有两条——①定义时显式初始化;②在静态代码块中初始化。但是很遗憾,接口中不允许存在代码块,而且接口没有构造方法。因此,这就要求我们在接口中定义公有静态常量时,必须在定义时就赋初值

 2.接口成员方法的特点 :

①在JDK7.0版本及其之前版本中,接口中仅支持公有的抽象方法

                public abstract 返回值类型 方法名();  

        Δ事实上,接口中的方法默认就是公有抽象方法,因此在接口中定义抽象方法时,可以省略掉abstract关键字。

②从JDK8.0开始,接口中可以由默认方法和静态方法

                默认方法——public default 返回值类型 方法名() {

                }

                静态方法——public static 返回值类型 方法名() {

                }

        Δ需要注意的是,想定义默认方法必须在前面添加default关键字,因为接口中的方法如果你什么都不写,默认是公有的抽象的方法。默认方法可以有方法体,且不需要实现类去实现,其实就是我们平时见到的普通的成员方法。但是默认方法是可以被实现类重写的。default关键字只能在接口中使用,就算实现类要重写默认方法,实现类中重写后的方法也不能添加default修饰符,不然IDEA报错。

③JDK9.0以后,接口中可以有私有方法 :

                private 返回值类型 方法名() {

                }

 

 3.接口构造方法的特点 : 

  接口存在的目的是为了规范类,因此接口也不可以被实例化。接口中不允许存在代码块,也没有需要初始化的成员,因此接口没有构造方法(构造器)。 

 

 4.接口创建对象的特点 : 

①接口不能被实例化 :

        只能通过多态的方式实例化“子类”对象(这里的“子类”指的是接口的实现类)

②接口的子类(实现类) : 

        可以是抽象类,也可以是普通类。
        对于抽象实现类,可以不用实现接口的所有方法,因为抽象类本身容许存在抽象方法,语法上是通过的。

        对于普通实现类,要求实现接口的所有抽象方法。

 

 5.接口继承关系的特点 : 

①类和接口之间的关系 : 

        类与接口是实现关系,支持“多实现”,即一个类可实现多个接口。

②接口与接口之间的关系 : 

        接口与接口是继承关系,java 支持接口的多继承,即一个接口可以同时继承多个接口,格式如下 : 接口 extends 接口1,接口2,接口3...

③继承和实现的区别 : 

        继承体现的是“is a”的关系,父类中定义共性内容。

        实现体现的是“like a”的关系,父接口中定义扩展内容。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/851278.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

格式化后硬盘数据能恢复吗?硬盘数据恢复这样做!

硬盘是电脑中必备的数据存储设备&#xff0c;另外还有移动硬盘。移动硬盘存储空间非常大、性价比高、便于携带&#xff0c;给我们带来和很多便利。但是和其他存储设备一样&#xff0c;各种硬盘也会出现各种问题&#xff0c;比如常见的格式化硬盘导致数据丢失的问题。 怎么样恢复…

【软考的系统分析师的考题考点解析2025】

2024-2025系统分析师考试&#xff08;简称软考&#xff09;是计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试中的高级资格考试&#xff0c;主要考察考生在系统分析、系统设计、项目管理等方面的知识和技能。以下是软考系统分析师的常见考点、考题和重点&#x…

【源码】Spring Data JPA原理解析之事务执行原理

Spring Data JPA系列 1、SpringBoot集成JPA及基本使用 2、Spring Data JPA Criteria查询、部分字段查询 3、Spring Data JPA数据批量插入、批量更新真的用对了吗 4、Spring Data JPA的一对一、LazyInitializationException异常、一对多、多对多操作 5、Spring Data JPA自定…

Python 虚拟环境 + 嵌入式 部署方案

Python 虚拟环境 嵌入式 部署方案 开发阶段1. 在虚拟环境下开发 Python 项目 部署阶段1. 创建项目文件夹2. 准备嵌入器 Python 解释器3. 处理第三方库4. 修改 ._pth 文件添加 Python 运行环境 5. 添加启动 bat 脚本最终目录结构参考资料 开发阶段 1. 在虚拟环境下开发 Python…

PHP 寿光蔬菜大棚宣传平台-计算机毕业设计源码88288

摘 要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff1b;对于寿光蔬菜大棚宣传平台当然也不能排除在外&#xff0c;随着网络技术的不断成熟&#xff0c;带动了寿光蔬菜大棚宣传平台&#xff0c;它彻底…

ISO 19115-2:2019 附录C XML 模式实现

C.1 XML 模式 本文件中定义的 UML 模型的 XML 模式在 ISO/TS 19115-3 中定义的适当 XML 命名空间中提供。新增内容包括: 命名空间前缀模式文件名Metadata for ACquisition (mac)acquisitionInformationImagery.xsdMetadata for Resource Content (mrc)contentInformationImag…

BPF:BCC(BPF Compiler Collection)工具集认知

写在前面 博文内容为 《BPF Performance Tools》 读书笔记整理内容涉及 BCC 工具整体介绍理解不足小伙伴帮忙指正 &#x1f603;,生活加油 不必太纠结于当下&#xff0c;也不必太忧虑未来&#xff0c;当你经历过一些事情的时候&#xff0c;眼前的风景已经和从前不一样了。——村…

内存EDAC在AMD异构场景的应用

在异构系统中&#xff0c;AMD通过将CPU与GPU的数据织物网络通过定制的xGMI链接连接&#xff0c;实现了统一访问&#xff0c;使得GPU节点的数据织物网络如同CPU节点一样可访问。这样的设计使得系统能够高效地整合CPU与GPU资源&#xff0c;提升数据处理速度和效率&#xff0c;特别…

从河流到空气,BL340工控机助力全面环保监测网络构建

在环保监测领域&#xff0c;智能化、高效率的监测手段正逐步成为守护绿水青山的新常态。其中&#xff0c;ARMxy工业计算机BL340凭借其强大的处理能力、高度的灵活性以及广泛的兼容性&#xff0c;在水质监测站、空气质量检测、噪音污染监控等多个环保应用场景中脱颖而出&#xf…

MySQL深分页优化

MySQL中的深分页问题通常是指当我们通过LIMIT语句查询数据&#xff0c;尤其是在翻到较后面的页码时&#xff0c;性能会急剧下降。例如&#xff0c;查询第1000页的数据&#xff0c;每页10条&#xff0c;系统需要跳过前9990条数据&#xff0c;然后才能获取到所需的记录&#xff0…

Vue基础面试题(一)

1.Vue的基本原理 Vue.js的核心原理在于其响应式的数据绑定机制&#xff0c;当创建一个Vue实例时&#xff0c;Vue会遍历每个属性&#xff0c;用Object.defineProperty转化为getter和setter。这样使得Vue可以追踪属性的变化&#xff0c;在属性被修改和访问时通知变化。每个组件也…

PostgreSQL的视图pg_tables

PostgreSQL的视图pg_tables pg_tables 是 PostgreSQL 中的一个系统视图&#xff0c;用于显示当前数据库中所有用户定义的表的信息。这个视图提供了关于表的名称、所属模式&#xff08;schema&#xff09;、所有者以及表类型等详细信息。 pg_tables 视图的主要列 列名类型描述…

如何提高个人和企业的网络安全意识?

提高个人网络安全意识 个人可以通过以下方式提高网络安全意识&#xff1a; 1. 加强教育和培训&#xff1a;参加网络安全培训课程&#xff0c;学习识别网络攻击的常见迹象、安全密码的设置、不点击可疑链接等知识。 2. 建立网络安全政策&#xff1a;制定个人网络安全规则&…

【Linux】进程3——PID/PPID,父进程,子进程

在讲父子进程之前&#xff0c;我们接着上面那篇继续讲 1.查看进程 mycode.c makefile 我们在zs_108直接编译mycode.c&#xff0c;直接运行&#xff0c;然后我们转换另一个账号来查看这个进程 我们可以通过ps指令来查看进程 我们就会好奇了&#xff0c;第二行是什么&#xff…

基于JavaScript 实现近邻算法以及优化方案

前言 近邻算法&#xff08;K-Nearest Neighbors&#xff0c;简称 KNN&#xff09;是一种简单的、广泛使用的分类和回归算法。它的基本思想是&#xff1a;给定一个待分类的样本&#xff0c;找到这个样本在特征空间中距离最近的 k 个样本&#xff0c;这 k 个样本的多数类别作为待…

【C++】<知识点> C++11新特性

文章目录 一、auto关键字 二、decltype关键字 三、nullptr关键字 四、智能指针 五、 无序容器&#xff08;哈希表&#xff09; 六、统一的初始化方法 七、成员变量默认初始值 八、范围for循环 九、右值引用与移动语义 十、lambda表达式 一、auto关键字 1. 作用&#…

Linux shell编程学习笔记58:cat /proc/mem 获取系统内存信息

0 前言 在开展系统安全检查的过程中&#xff0c;除了收集cpu信息&#xff0c;我们还需要收集内存信息。在Linux中&#xff0c;获取内存信息的命令很多&#xff0c;这里我们着重研究 cat /proc/mem命令。 1 cat /proc/mem命令 /proc/meminfo 文件提供了有关系统内存的使用情况…

280 基于matlab的摇号系统GUI界面仿真MATLAB程序

基于matlab的摇号系统GUI界面仿真MATLAB程序&#xff0c;输入总数量及摇号需求&#xff0c;进行随机性摇号&#xff0c;并对摇取的号码进行双重随机性数据检测&#xff0c;确定是否符合要求。程序已调通&#xff0c;可直接运行。 280 GUI人机交互 摇号系统GUI界面仿真 - 小红书…

技术前沿 |【大模型InstructBLIP进行指令微调】

大模型InstructBLIP进行指令微调 一、引言二、InstructBLIP模型介绍三、指令微调训练通用视觉语言模型的应用潜力四、InstructBLIP的指令微调训练步骤五、实验结果与讨论六、结论与展望 一、引言 随着人工智能技术的快速发展&#xff0c;视觉语言模型&#xff08;Vision-Langu…

使用SourceTree切换不同的托管平台

背景&#xff1a;sourcetree一开始绑定了gitee&#xff0c;想拉取github的项目时拉取不了 原因&#xff1a;git绑定的账号&#xff08;邮箱&#xff09;、密码不一致 解决办法&#xff1a; 重新设置账号密码 在windows种可找到下面的文件夹&#xff0c;进行删除 C:\Users\US…