-- 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;