5. MySQL学习第五天
5.1 SELECT简单查询
数据查询也称为数据检索,是从数据库中获取所需数据的操作和过程。用户根据实际应用的需求,可以使用不同的查询方式,以获得不同的数据。数据查询是数据库管理系统(DBMS)的重要功能之一,是数据库操作中最常用,最重要的操作
MySQL中使用SELECT语句查询数据的主要方式有:
- 查询表中一列或多列数据
- 带条件的查询
- 多表间的连接查询
- 嵌套子查询以及使用聚合函数进行统计查询
SELECT语句的基本语法:
SELECT select_expr[select_expr …]
FROM table_references
WHERE where_condition
GROUP BY col_name
HAVING where_condition
ORDER BY col_name
LIMIT row_count
结合前面提到过的Course数据库
查询单个数据表的SELECT语句:
SELECT * FROM teacher;
查询数据表中指定字段数据的SELECT语句:
SELECT
Student_name,
Student_id
FROM student;
查询数据表中指定字段数据并以别名线束的SELECT语句:
SELECT
Student_name AS 学生姓名,
Student_id AS 学生号
FROM student;
查询数据表中内容并按照条件显示指定字符:
SELECT
Student_id AS 学号,
Course_id AS 课程号,
(case when Score>=60 then '及格' else '不及格' end) AS 成绩情况
FROM choose;
条件查询:
SELECT 字段名
FROM 表名
WHERE 条件;
| 运算符 | 说明 |
|---|---|
| = | 等于 |
| > | 大于 |
| < | 小于 |
| >= | 大于或等于 |
| <= | 小于或等于 |
| <>、!= | 不等于 |
| IS NULL | 为空 |
| IS NOT NULL | 不为空 |
| BETWEEN A AND B | 在A与B之间 |
| IN | 在范围内 |
| NOT IN | 不再范围内 |
| LIKE | 模式匹配 |
| NOT LIKE | 模式不匹配 |
| REGEXP | 正则表达式 |
| AND、&& | 与 |
| OR、|| | 或 |
| NOT、! | 非 |
| XOR | 异或 |
条件查询的简单实例
按学号查询某个学生的个人信息
SELECT *
FROM student
WHERE student_id = '201702020202';
查询1997年出生的学生的学号、姓名和生日信息
SELECT
student_id AS 学号,
student_name AS 姓名,
birthday AS 出生日期
FROM student
WHERE birthday>='1997-01-01' AND birthday<='1997-12-31';
查询职称为“讲师”、“副教授”的女教师的教师编号、姓名、性别和职称
SELECT
teacher_id AS 教师编号,
teacher_name AS 教师姓名,
teacher_gender AS 教师性别,
professional AS 职称
FROM teacher
WHERE teacher = '女' AND (professional = '讲师' OR professional = '副教授');
查询1997、1998年出生的学生的学号、姓名和生日信息
SELECT
student_id AS 学号,
student_name AS 姓名,
birthday AS 出生日期
FROM student
WHERE year(birthday) IN (1997,1998);
查询职称为“讲师”或“副教授”的教师信息
SELECT *
FROM teacher
WHERE professional IN ('讲师','副教授')
查询1997年出生的学生信息
SELECT *
FROM student
WHERE birthday BETWEEN '1997-01-01' AND '1997-12-31';
查询学分为3~5分的课程信息
SELECT *
FROM course
WHERE Credit BETWEEN 3 AND 5;
模糊查询
查询“王”姓男同学信息
SELECT *
FROM student
WHERE student_name LIKE '王%' AND gender = '男';
查询名字中第二个字为“娜”的同学信息
SELECT *
FROM student
WHERE student_name LIKE '_娜%';
查询家庭住址中有“重庆”字样的同学信息
SELECT *
FROM student
WHERE Home_address LIKE '%重庆%';
空值查询
查询选课时间不确定的课程信息
SELECT *
FROM course
WHERE bigin_choose_time IS NULL;
3067

被折叠的 条评论
为什么被折叠?



