Bootstrap

2、DML语言 DQL语言

1、准备工作

1.1打开navicat创建数据库

1.2新建查询

创建三个表代码依次如下

1.2.1students表

INSERT INTO `students` (`id`, `name`, `age`, `height`, `gender`, `cls_id`, `is_delete`) VALUES (1, '小明', 18, 180, '女', 1, 0);
INSERT INTO `students` (`id`, `name`, `age`, `height`, `gender`, `cls_id`, `is_delete`) VALUES (2, '小月月', 18, 180, '女', 2, 1);
INSERT INTO `students` (`id`, `name`, `age`, `height`, `gender`, `cls_id`, `is_delete`) VALUES (3, '彭于晏', 29, 185, '男', 1, 0);
INSERT INTO `students` (`id`, `name`, `age`, `height`, `gender`, `cls_id`, `is_delete`) VALUES (4, '刘德华', 59, 175, '男', 2, 1);
INSERT INTO `students` (`id`, `name`, `age`, `height`, `gender`, `cls_id`, `is_delete`) VALUES (5, '黄蓉', 38, 160, '女', 1, 0);
INSERT INTO `students` (`id`, `name`, `age`, `height`, `gender`, `cls_id`, `is_delete`) VALUES (6, '凤姐', 28, 150, '保密', 2, 1);
INSERT INTO `students` (`id`, `name`, `age`, `height`, `gender`, `cls_id`, `is_delete`) VALUES (7, '王祖贤', 18, 172, '保密', 1, 1);
INSERT INTO `students` (`id`, `name`, `age`, `height`, `gender`, `cls_id`, `is_delete`) VALUES (8, '周杰伦', 36, NULL, '男', 3, 0);
INSERT INTO `students` (`id`, `name`, `age`, `height`, `gender`, `cls_id`, `is_delete`) VALUES (9, '程坤', 27, 181, '男', 2, 0);
INSERT INTO `students` (`id`, `name`, `age`, `height`, `gender`, `cls_id`, `is_delete`) VALUES (10, '刘亦菲', 25, 166, '男', 2, 0);
INSERT INTO `students` (`id`, `name`, `age`, `height`, `gender`, `cls_id`, `is_delete`) VALUES (11, '猪猪侠', 33, 162, '保密', 3, 1);
INSERT INTO `students` (`id`, `name`, `age`, `height`, `gender`, `cls_id`, `is_delete`) VALUES (12, '静香', 12, 180, '女', 2, 0);
INSERT INTO `students` (`id`, `name`, `age`, `height`, `gender`, `cls_id`, `is_delete`) VALUES (13, '郭靖', 12, 170, '男', 3, 0);
INSERT INTO `students` (`id`, `name`, `age`, `height`, `gender`, `cls_id`, `is_delete`) VALUES (14, '周杰', 34, 176, '女', 1, 0);

点击运行后删除

1.2.2创建teachers表

INSERT INTO `teachers` (`id`, `name`) VALUES (1, '赵老师');
INSERT INTO `teachers` (`id`, `name`) VALUES (2, '孙老师');
INSERT INTO `teachers` (`id`, `name`) VALUES (3, '李老师');
INSERT INTO `teachers` (`id`, `name`) VALUES (4, '周老师');

点击运行后删除

1.2.3创建classes表

INSERT INTO `classes` (`id`, `teacher_id`, `cls_content`, `cls_date`, `name`) VALUES (1, 1, '班级学生有较强的学习能力', '2024-10-01 00:00:00', 'python_01期');
INSERT INTO `classes` (`id`, `teacher_id`, `cls_content`, `cls_date`, `name`) VALUES (2, 2, '班级学生比较顽皮', '2024-11-01 00:00:00', 'python_02期');
INSERT INTO `classes` (`id`, `teacher_id`, `cls_content`, `cls_date`, `name`) VALUES (3, 2, '数据结构班', '2024-11-01 00:00:00', 'data_struct_01期');

结果如图所示

2、DML语言

用刚才创建的表练习DML语言

2.1 insert插入数据

语法格式:

INSERT [INTO]

表名 [字段名]

VALUES (值列表);

2.2 update更新数据

UPDATE 表名 SET 字段1=值1,

字段2=值2,…,字段n=值n

[WHERE 条件];

2.3 delete删除数据

3、DQL语言

3.1 SELECT基本查询语句

语法格式:

SELECT 列名 FROM 表名;

3.2 运算符

算术运算符 + - * / %

关系运算符 > < = <> >=

赋值运算符 =

逻辑运算符 and or not && || !

3.3 where条件查询

语法格式:

SELECT 列名

FROM 表名

WHERE 条件    (可以用到3.2的运算符)

3.4 where多条件查询

语法格式:

SELECT 列名

FROM 表名

WHERE 条件 运算符 条件

3.5 like模糊查询

模糊查询是使用SQL 通配符替代一个或多个字符的条件查询。

语法格式:

SELECT 列名

FROM 表名

WHERE 字段

LIKE '值'

3.6 IN关键字查询

语法格式:

SELECT 列名

FROM 表名

WHERE 字段

IN (值1,值2,....);

3.7 BETWEEN关键字查询

语法格式:

SELECT 列名

FROM 表名

WHERE 字段

BETWEEN 值1 and 值2;   (包括1和2)

3.8 DISTINCT关键字查询【去重】

语法格式:

SELECT DISTINCT

字段名1,字段名2......

FROM 表名;

3.9 ORDER BY关键字查询

语法格式:

SELECT

FROM

[WHERE ]

[ORDER BY

[ASC 或 DESC]];

3.10 LIMIT关键字查询

语法格式:

SELECT

FROM

[WHERE ]

[ORDER BY [ASC 或 DESC]]

[LIMIT ];

4、连接查询

观察上面三张表,如何查看students表中cls_id所代表的的班级名称是什么?——使用连接查询

连接查询是将多张表中记录按照指定的条件进行连接的查询方式

注意:连接查询涉及到两个表以上,在查询的时候至少要有一个必备的连接条件,这个必备的条件就是两个表共有的那个字段相等,而且这个字段一定在一个表里是主键,在另一个表里是外健

4.1 内连接

内连接是返回连接表中符合连接条件记录的连接查询。

包括:显式内连接、隐式内连接

4.1.1 显示内连接查询

语法格式:

SELECT 字段 FROM 表1

INNER JOIN 表2

ON 连接条件

WHERE 条件

4.1.2 隐式内连接查询

语法格式:

SELECT 字段

FROM 表1,表2

WHERE 表1.条件=表2.条件

4.2 外连接

4.2.1左外连接查询

左外连接是以左表为基表,返回左表中所有记录及连接表中符合条件的记录的外连接。

语法格式:

SELECT 字段 FROM 表1

LEFT [outer] JOIN 表2

ON 连接条件

WHERE 条件

4.2.2 右外连接查询

右外连接是以右表为基表,返回右表中所有记录及连接表中符合条件的记录的外连接。

语法格式:

SELECT 字段 FROM 表1

RIGHT [outer] JOIN 表2

ON 连接条件

WHERE 条件

5、聚合函数

如何查看班级同学的平均身高?——使用聚合函数

聚合函数是可以对一组值进行计算,并返回单个值的函数。

语法格式:

SELECT 聚合函数

FROM 表名

[WHERE 条件]

[GROUP BY 聚合函数]

  1. count()-计数
  2. sum()-求和
  3. max()-最大值
  4. min()-最小值
  5. avg()-平均值

    6、子查询【查询嵌套】

    如何只查询比刘德华高的同一班的学生信息?——子查询

    定义:子查询是在一个查询的内部包括另一个查询的查询方式

    6.1 简单子查询

6.2 ANY/SOME子查询

6.3 All子查询

6.4 EXISTS子查询

6.5 NOT EXISTS子查询

;