-- 建立表
CREATE TABLE student3 (
id INT,
NAME VARCHAR(20),
age INT,
sex VARCHAR(5),
address VARCHAR(100),
math INT,
english INT
);
-- 插入記錄
INSERT INTO student3(id,NAME,age,sex,address,math,english) VALUES
(1,'馬雲',55,'男','杭州',66,78),
(2,'馬化騰',45,'女','深圳',98,87),
(3,'馬景濤',55,'男','香港',56,77),
(4,'柳岩',20,'女','湖南',76,65),
(5,'柳青',20,'男','湖南',86,NULL),
(6,'劉德華',57,'男','香港',99,99),
(7,'馬德',22,'女','香港',99,99),
(8,'德瑪西亞',18,'男','南京',56,65);
# 關系運算符 mysql 特有的
-- 查詢math分數大于80分的學生
SELECT * FROM student3 WHERE math > 80;
-- 查詢english分數小于或等于80分的學生
SELECT * FROM student3 WHERE english <=80;
-- 查詢age等于20歲的學生
SELECT * FROM student3 WHERE age =20;
-- 查詢age不等于20歲的學生
SELECT * FROM student3 WHERE age != 20;
SELECT * FROM student3 WHERE age <> 20;
# 邏輯運算符
-- 查詢age大于35且性别為男的學生(兩個條件同時滿足)
SELECT * FROM student3 WHERE age >35 AND sex ='男';
-- 查詢age大于35或性别為男的學生(兩個條件其中一個滿足)
SELECT * FROM student3 WHERE age >35 OR sex ='男';
-- 查詢id是1或3或5的學生
SELECT * FROM student3 WHERE id =1 OR id =3 OR id = 5;
-- in關鍵字
-- 再次查詢id是1或3或5的學生
SELECT * FROM student3 WHERE id IN(1,3,5);
-- 查詢id不是1或3或5的學生
SELECT * FROM student3 WHERE id NOT IN(1,3,5);
-- 查詢english成績大于等于77,且小于等于87的學生
SELECT * FROM student3 WHERE english >=77 AND english <=87;
-- between
SELECT * FROM student3 WHERE english BETWEEN 77 AND 87;
# like模糊比對
-- 查詢姓馬的學生
-- = 不可以用了
SELECT * FROM student3 WHERE NAME ='馬';
-- like
SELECT * FROM student3 WHERE NAME LIKE '馬%';
-- 查詢姓名中包含'德'字的學生
SELECT * FROM student3 WHERE NAME LIKE '%德%';
-- 查詢姓馬,且姓名有三個字的學生
SELECT * FROM `student3` WHERE `name` LIKE '馬__';
# 排序
-- 查詢所有資料,使用年齡升序排序
SELECT * FROM student3 ORDER BY age ASC;
SELECT * FROM student3 ORDER BY age ;
-- 查詢所有資料,在年齡降序排序的基礎上,如果年齡相同再以數學成績降序排序
SELECT * FROM student3 ORDER BY age DESC;
SELECT * FROM student3 ORDER BY age DESC ,math DESC;
-- 第一頁
SELECT * FROM student3 LIMIT 0,5;
-- 第二頁
SELECT * FROM student3 LIMIT 5,5;
-- 第三頁
SELECT * FROM student3 LIMIT 10,5;
-- 第N頁 後期 java代碼實作分頁功能
SELECT * FROM student3 LIMIT (n-1)*顯示個數,顯示個數;