已更新!!!恭喜您发现宝藏了!!! MYSQL第二章节(DDL-数据库操作语言 DQL-数据查询语言(基本查询,条件查询,排序查询,分页查询)--代码,例题详解这一篇就够了!!!)

 c++知识点合集已经完成欢迎前往主页查看,点点赞点点关注不迷路哦

点我进入c++第一章知识点合集

 MYSQL第一章节DDL数据定义语言的操作----点我进入

目录

DML-添加数据

给指定字段添加数据

例子 

给全部字段添加数据 

批量添加数据 

例子 

DML-修改数据

例子

 DML-删除数据

DQL-语法 

DQL-基本查询

查询多个字段

设置别名 

 去除重复记录

DQL-条件查询

语法

条件 

 例子

DQL-分组查询 

语法

例子 

DQL-排序查询 

语法

排序方式

例子

SQL-分页查询

语法

例子 

 按照需求完成如下DQL语句编写

DQL-执行顺序 



DML-添加数据

给指定字段添加数据

INSERT INTO 表名(字段名1,字段名2,...)VALUES(值1,值2,...);
例子 

INSERT INTO exaple(id,workno,name,gender,age,idcard,entrydate)

VALUES(1,'1','张无忌','男',18,'123456789123456789','2022-10-8');

给全部字段添加数据 

INSERT INTO 表名 VALUES(值1,值2...);

批量添加数据 

INSERT INTO 表名(字段名1,字段名2,...)VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...);
INSERT INTO 表名 VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...);

例子 

注意:

插入数据时,指定的字段顺序需要与值的顺序是一一对应的

字符串和日期型数据应包含在引号中

插入的数据大小,应该在字段的规定范围内

DML-修改数据

UPDATE 表名 SET 字段名1 = 值1,字段名2 = 值2,....[WHERE 条件];
例子

修改id为1的数据,将name修改为itname

 将所有员工的入职日期改为2008-1-1

 DML-删除数据

DELETE FROM 表名 [where 条件];

 注意

delete 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据

delete 语句不能删除某一个字段的值(可以使用update)

DQL-语法 

DQL-基本查询

查询多个字段

SELECT 字段1,字段2,字段3... FROM 表名;
SELECT * FROM 表名;

设置别名 

SELECT 字段1 [AS 别名1],字段2 [AS 别名2]... FROM 表名;

 去除重复记录

SELECT DISTINCT 字段列表 FROM 表名;

DQL-条件查询

语法

SELECT 字段列表 FROM 表名 WHERE 条件列表;

条件 

 例子

--1.查询年龄等于88的员工--

SELECT  * FROM emp where age=88;
--2.查询年龄小于20的员工信息--

SELECT * FROM emp WHERE age<20;
--3.在询年龄小于等于 20 的员工信息--

SELECT * FROM emp WHERE AGE<=20;
--4.查询没有身份证号的员工信息--

SELECT * FROM emp WHERE idcard is NULL;
--5.查询有身份证号的员工信息--

SELECT * FROM emp WHERE idcard is not NULL;
--6.查询年龄不等于 88 的员工信息--

SELECT * FROM emp WHERE age != 88;
--7.查询年龄在15岁(包含) 到 20岁(包含)之间的员工信息--

SELECT * FROM emp WHERE age BETWEEN 15 AND 20;
--8.查询性别为 女 且年龄小于 25岁的员工信息--

SELECT * FROM emp WHERE gender='女' AND age<25;
--9.查询龄等于18 或 20 或 40 的员工信息--

SELECT * FROM emp WHERE age in(18,20,40);
--10.查询姓名为两个字的员工信息--

SELECT * FROM emp WHERE name like '__';

--11.查询身份证号最后一位是x的学员信息--

SELECT * FROM emp WHERE idcard like '%X';

DQL-分组查询 

语法

SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件];

注意

where 与having的区别

执行的实际不同:where是分组之前进行过滤,不满足where条件不参与分组;而having是分组之后对于结果进行过滤 

判断条件不同:where不能对聚合函数进行判断而having可以

例子 

--1.根据性别分组,统计男性员工和女性员工的数量--
SELECT gender,count(*) FROM emp GROUP BY gender;

--2.根据性别分组,统计男性员工和女性员工的平均年龄--
SELECT gender,avg(age) FROM emp GROUP BY gender;

--3.查询年龄小于45的员工,并根据工作地址分组,获取员工数量大于等于3的工作地址--
SELECT address,count(*) FROM emp WHERE age<45 GROUP BY address HAVING count(*)>=3;

 注意

执行顺序:where>聚合函数>having

分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义

DQL-排序查询 

语法

SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2;

排序方式

ASC:升序(默认)

DESC:降序

注意:

如果是对各字段排序,当第一个字段相同的时候,才会对第二个字段进行排序。

例子

--根据入职的时间,对员工进行降序排序--
SELECT * FROM emp ORDER BY enterdate desc;

--根据年龄对公司的员工进行升序排序,年龄相同的话按照入职时间进行降序排序--
SELECT * FROM emp ORDER BY age asc, enterdate desc;

SQL-分页查询

语法

SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询记录;

注意
起始索引从0开始,起始索引=(查询页码-1) * 每页显示记录数。
分页查询是数据库的方言,不同的数据库有不同的实现,MysaL中是UMIT
如果查询的是第一页数据,起始索引1可以省略,直接简写为 limit 10。 

例子 

--查询第一页员工数据,每页展示10条记录--
SELECT * FROM emp LIMIT 0,10;

--查询第二页员工数据,每页展示10条记录--
SELECT * FROM emp LIMIT 10,10;

 按照需求完成如下DQL语句编写

--1查询年龄为20,21,22,23岁的女性员工信息。--
SELECT * FROM emp WHERE gender='女' and age in(20,21,22,23);

--2查询性别为 男,井且年龄在 20-40 岁(含)以内的姓名为三个字的员工。--
SELECT * FROM emp gender='男' and age between 20 and 40 and name like '___';

--3统计员工表中,年龄小于60岁的,男性员工和女性员工的人数。--
SELECT gender,count(*) FROM emp WHERE age<60 GROUP BY gender;

--4查询所有年龄小于等于35岁员工的姓名和年龄,并对查询结果按年龄升序排序,如果年龄相同按入职时间降序排序。--
SELECT name,age FROM emp WHERE age<=35 ORDER BY age asc,enterdate desc;

--5查询性别为男,且年龄在20-40岁(含)以内的前5个员工信息,对查询的结果按年龄升序排序,年龄相同按入职时间升序排序。--
SELECT * FROM emp WHERE gender ='男'and age between 20 and 40 ORDER BY age asc,enterdate asc LIMT 0,5;

DQL-执行顺序 

 c++知识点合集已经完成欢迎前往主页查看,点点赞点点关注不迷路哦

点我进入c++第一章知识点合集

  • 18
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

久 泽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值