JavaWeb之数据库——MySQL(1)

JavaWeb介绍

什么是JavaWeb?
  • Web: 全球广域网,也称万维网(www),能够通过浏览器访问的网站
  • JavaWeb:用Java技术来解决相关web互联网领域的技术栈
  • 网页:展现数据;数据库:存储和管理数据;JavaWeb程序:逻辑处理

数据库

1. 数据库相关概念
  1. 数据库:
  • 存储数据的仓库,数据是有组织的进行存储
  • DataBase(DB)
  1. 数据库管理系统
  • 管理数据库的大型软件
  • DataBase Management System(DBMS)
  1. SQL
  • Structured Query Language,SQL,结构化查询语言
  • 操作关系型数据库的编程语言
  • 定义操作所有关系型数据库的统一标准
  1. 常见的关系型数据库管理系统
    在这里插入图片描述
2. MySQL数据库

关系型数据库

  • 建立在关系模型基础上的数据库,简单说,关系型数据库是由多张能互相连接的二维表组成的数据库
  • 优点:都使用表结构,格式一致,易于维护;使用通用的SQL语言操作,使用方便,可用于复杂查询;数据存储在硬盘中,安全。
3. SQL
  • 结构化查询语言,一门操作关系型数据库的编程语言
  • 定义操作所有关系型数据库的统一标准

(1)语法

  • SQL语句可以单行也可以多行,以分号结尾
  • 不区分大小写
  • 单行注释: --注释内容或#注释内容
  • 多行注释:/注释/

(2)分类

在这里插入图片描述
(3)DDL

A. 操作数据库
在这里插入图片描述
B. 操作表
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
(4)DML
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
(5)DQL
在这里插入图片描述
A. 基础查询
在这里插入图片描述
B. 条件查询
在这里插入图片描述

-- 条件查询
select * from stu where age > 20;

select * from stu where age >= 20;

select * from stu where age >= 20 && age <= 30;
select * from stu where age >= 20 and age <= 30;
select * from stu where age BETWEEN 20 and 30;

select * from stu where hire_date BETWEEN '1998-8-8' and '1999-2-2';

select * from stu where age != 18;
select * from stu where age <> 18;

select * from stu where age in(18,20,22);
select * from stu where age =18 or age = 20 or age = 22;

select * from stu where english = null; -- 错误写法
select * from stu where english is null;
select * from stu where english is not null;

-- 模糊查询 like==========
-- 1.查询姓马的
SELECT * from stu where name like '马%';
-- 2.查询第二个字是花的
SELECT * from stu where name like '_花%';
-- 3.查询名字中包含德的
SELECT * from stu where name like '%德%';

C. 排序查询
在这里插入图片描述

-- 排序查询========
-- 1.ASC 升序
-- 2.DESC 降序
-- 年龄升序
SELECT * from stu order by age asc;
-- 数学成绩降序
SELECT * from stu order by math desc;
-- 数学成绩降序,数学成绩一样再按照英语成绩升序
SELECT * from stu order by math desc,english asc;

D. 分组查询

  • 聚合函数:将一列数据作为一个整体,进行纵向计算
  • 聚合函数分类:
    在这里插入图片描述
  • 聚合函数语法:select 聚合函数名(列名) from 表
-- 聚合函数
-- 1. 班级学生总数
SELECT * from stu;
select count(id) from stu; -- count统计的列名不能为null
-- 2. 数学成绩最高分
SELECT max(math) from stu;
-- 3. 数学成绩最低分
SELECT min(math) from stu;
-- 4. 数学成绩平均分
SELECT avg(math) from stu;
-- 5. 数学成绩总分
SELECT sum(math) from stu;

在这里插入图片描述

-- 分组查询
SELECT * from stu;
-- 1.男女各自数学平均分
select sex, avg(math) from stu group by sex;
-- 2.男女各自数学平均分以及各自人数
select sex, avg(math), count(*) from stu group by sex;
-- 3.男女各自数学平均分以及各自人数,要求:分数低于70的不参与
select sex, avg(math), count(*) from stu where math >70 group by sex;
-- 4.男女各自数学平均分以及各自人数,要求:分数低于70的不参与,分组之后人数大于2
select sex, avg(math), count(*) from stu where math >70 group by sex having count(*)>2;

E. 分页查询
在这里插入图片描述

-- 分页查询
SELECT * from stu;
-- 1. 从0开始查询,查询3条数据
select * from stu limit 0,3;
-- 2. 每页显示3条数据,查询第一页数据
select * from stu limit 0,3;
-- 3. 每页显示3条数据,查询第二页数据
select * from stu limit 3,3;
-- 4. 每页显示3条数据,查询第三页数据
select * from stu limit 6,3;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值