表数据操作,表是上一个博客里的表 tb_emp
-- dml:数据操作语言 -- dml:插入数据 - insert -- 1.为tb_emp表的username ,name ,gender字段插入值 -- 所有用到引号的地方,用单引号双引号都可以 insert into tb_emp(username,name,gender,crate_time,update_time) value ('red','小红',1,now(),now()); -- 2.为tb_emp表的所有字段插入值 -- 时间也要放在引号里 -- 麻烦 insert into tb_emp(id, username, password, name, gender, image, job, entrydate, crate_time, update_time) value (null,'blue','123','小蓝',2,'1.jpg',1,'2024-7-18',now(),now()); -- 简单 insert into tb_emp value (null,'blue2','123','小蓝2',2,'1.jpg',1,'2024-7-18',now(),now()); -- 3.批量为tb_emp表的username ,name ,gender字段插入值 -- 小括号括起来并用逗号分隔 insert into tb_emp(username,name,gender,crate_time,update_time) value ('yellow','小黄',1,now(),now() ), ('green','小绿',1,now(),now() ), ('purple','小紫',1,now(),now() ); -- dml:更新数据 - update -- 1. 将tb_emp表的id为3 的员工姓名name字段更新为’小兰‘ update tb_emp set name = '张兰' , update_time = now() where id = 9; -- 2.将tb_emp所有员工入职时间更新为’2010-01-01‘ update tb_emp set entrydate = '2010-01-01' , update_time = now(); -- dml:删除数据 - delete -- 1.删除tb_emp表中id为1的员工 delete from tb_emp where id = 1; -- 2.删除tb_emp表中所有员工 delete from tb_emp; -- dql:查询数据 - select -- id, username, password, name, gender, image, job, entrydate, crate_time, update_time -- ----------------------基本查询---------------------- -- 1.查询指定字段 name entrydate 并返回 select name , entrydate from tb_emp; -- 2.查询返回所有字段 -- 麻烦,推荐 select id, username, password, name, gender, image, job, entrydate, crate_time, update_time from tb_emp; -- 简单,不推荐,性能低 select * from tb_emp; -- 3.查询所有员工的 name entrydate 并起别名(姓名,入职时间) -- as可以省略 -- 特殊符合需要加引号 select name as '姓 名' , entrydate 入职时间 from tb_emp; -- 4.查询已经有的员工关联了哪几种职位(不重复) select distinct job from tb_emp; -- ----------------------条件查询---------------------- -- 1.查询姓名为小红的员工 select * from tb_emp where name ='小红'; -- 2.查询id大于等于9的员工信息 select * from tb_emp where id <= 9; -- 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-1' 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 '张%'; -- ----------------------分组查询---------------------- -- 聚合函数 - null值不参与所有聚合函数的计算 -- 1.统计该企业员工数量 - count -- a.count(字段) select count(id) from tb_emp; -- b.count(常量) select count(0) from tb_emp; -- c.count(*) - 推荐 select count(*) from tb_emp; -- 2.统计该企业最早入职的员工 - min select min(entrydate) from tb_emp; -- 3.统计该企业最晚入职的员工 - max select max(entrydate) from tb_emp; -- 4.统计该企业员工id的平均值 - avg select avg(id) from tb_emp; -- 5.统计该企业员工的id之和 - sum select sum(id) from tb_emp; -- ----------------------分组查询 -- 1.根据性别分组,统计男性和女性员工数量 - count(*) select gender , count(*) from tb_emp group by gender ; -- 2.先查询入职时间在’2015-01-01‘以前的员工,并对及结果根据职位分组,获取员工数量大于等于2 的职位 -- 分组之前使用where进行筛选,分组之后使用having;聚合函数只能用having判断 -- 顺序:where-聚合-having select job,count(*) from tb_emp where entrydate <= '2015-01-01' group by job having count(*) >= 2; -- ----------------------排序查询---------------------- -- 1.根据入职时间,对员工进行升序排序 - asc (默认) 上到下:小到大 select * from tb_emp order by entrydate ; -- asc; -- 2..根据入职时间,对员工进行降序排序 - desc 上到下:大到小 select * from tb_emp order by entrydate desc ; -- 3.根据入职时间,对公司的员工进行升序排序,若入职时间相同再按照更新时间进行降序排序 select * from tb_emp order by entrydate , update_time desc; -- ----------------------分页查询---------------------- -- 起始索引的计算公式:(页码 - 1) * 每页展示记录数 -- 1.从起始索引0开始查询员工数据,每页展示2条记录 select * from tb_emp limit 0,2; -- 写法1 -- 2.查询第1页员工数据,每页展示2条记录 select * from tb_emp limit 2; -- 写法2 -- 3.查询第2页员工数据,每页展示5条记录 select * from tb_emp limit 5,5; -- 4.查询第3页员工数据,每页展示2条记录 select * from tb_emp limit 4,2;
标签:name,--,idea,库表,emp,sql,now,tb,select From: https://www.cnblogs.com/yansans/p/18310552