4、DQL查询数据(最重点)
4、1 DQL
(Data Query Language:数据查询语言)
- ·所有的查询语句操作都用它 Select
- ·所有的查询,复杂的查询它都能做
- ·数据库中最核心的语言,做重要的语句
- ·使用频率最高的语句
4、2查询指定字段
-- 查询全部的学生
-- SELECT 字段 FROM 表
SELECT * FROM student
SELECT * FROM result
-- 查询指定字段
SELECT `studentno`,`studentname` FROM student
-- 别名,给结果起一个名字 AS 可以给字段起别名,也可以给表起别名
SELECT `studentno` AS 学号,`studentname` AS 学生姓名 FROM student
-- 函数 concat(a,b)
SELECT CONCAT ('姓名:',StudentName) AS 新名字 FROM student
语法: SELECT 字段....FROM 表
有的时候,列名字不是那么的见名知意。我们可以用别名AS 字段名 AS 别名 / 表名 AS 别名
去重 distinct
作用:去除select 查询出来的结果中重复的数据,只显示一条
-- 查询哪些同学有成绩
SELECT * FROM result -- 查询全部成绩
SELECT `studentno` FROM result -- 查询那些同学参加了考试(一个学生参加多门考试)
SELECT DISTINCT `studentno` FROM result -- 去重 (发现重复数据)
SELECT VERSION() -- 查询版本号
SELECT 100*4-1 AS 计算结果 -- 计算表达式
SELECT @@auto_increment_increment -- 查询自增的步长
-- 学员考试成绩+1分
SELECT `studentno`,`studentresult`+1 AS '提分以后' FROM result
where 条件子句
逻辑运算符
运算符 | 语法 | 描述 |
and / && | a and b 或 a&&b | 逻辑与,两个为真 结果为真 |
or / || | a or b 或 a||b | 逻辑或,一个为真 结果为真 |
not / ! | not a 或 !a | 逻辑非,真为假 假为真 |
-- where----
-- 查询分数在70~100之间的成绩 and
SELECT `studentno`,`studentresult` FROM result
WHERE `studentresult`>=70 AND `studentresult`<=100
-- 查询分数在60~100之间的成绩 &&
SELECT `studentno` , `studentresult` FROM result
WHERE `studentresult`>=60 && `studentresult`<=100
-- 查询成绩在90~100之间的成绩 between。。and。。
SELECT `studentno` , `studentresult` FROM result
WHERE studentresult BETWEEN 90 AND 100
-- 查询学号不为1001的所有成绩
SELECT `studentno`,`studentresult` FROM result
WHERE studentno !=1001 -- where not studentno=1001
-- WHERE studentresult >60 AND studentresult <100 AND studentno != 1001