c++知识点合集已经完成欢迎前往主页查看,点点赞点点关注不迷路哦
点我进入c++第一章知识点合集
MYSQL第一章节DDL数据定义语言的操作----点我进入
目录
DML-添加数据
给指定字段添加数据
例子
给全部字段添加数据
批量添加数据
例子
DML-修改数据
例子
DML-删除数据
DQL-语法
DQL-基本查询
查询多个字段
设置别名
去除重复记录
DQL-条件查询
语法
条件
例子
DQL-分组查询
语法
例子
DQL-排序查询
语法
排序方式
例子
SQL-分页查询
语法
例子
按照需求完成如下DQL语句编写
DQL-执行顺序
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,...);
注意:
插入数据时,指定的字段顺序需要与值的顺序是一一对应的
字符串和日期型数据应包含在引号中
插入的数据大小,应该在字段的规定范围内
UPDATE 表名 SET 字段名1 = 值1,字段名2 = 值2,....[WHERE 条件];
修改id为1的数据,将name修改为itname
将所有员工的入职日期改为2008-1-1
DELETE FROM 表名 [where 条件];
注意
delete 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据
delete 语句不能删除某一个字段的值(可以使用update)
SELECT 字段1,字段2,字段3... FROM 表名;
SELECT * FROM 表名;
SELECT 字段1 [AS 别名1],字段2 [AS 别名2]... FROM 表名;
SELECT DISTINCT 字段列表 FROM 表名;
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';
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
分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义
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;
SELECT 字段列表 FROM 表名 LIMT 起始索引,查询记录;
注意
起始索引从0开始,起始索引=(查询页码-1) * 每页显示记录数。
分页查询是数据库的方言,不同的数据库有不同的实现,MysaL中是UMIT
如果查询的是第一页数据,起始索引1可以省略,直接简写为 limit 10。
--查询第一页员工数据,每页展示10条记录--
SELECT * FROM emp LIMT 0,10;
--查询第二页员工数据,每页展示10条记录--
SELECT * FROM emp LIMT 10,10;
--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;
c++知识点合集已经完成欢迎前往主页查看,点点赞点点关注不迷路哦