欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 美景 > MySQL基础篇2

MySQL基础篇2

2024/10/24 21:24:11 来源:https://blog.csdn.net/m0_68873151/article/details/141718587  浏览:    关键词:MySQL基础篇2

三、函数

3.1 字符串函数

在这里插入图片描述

3.2 数值函数

在这里插入图片描述

3.3 日期函数

在这里插入图片描述

3.4 流程函数

在这里插入图片描述

四、约束

在这里插入图片描述
在这里插入图片描述

五、多表查询

5.1 多表查询的概述

在这里插入图片描述
在这里插入图片描述

5.2 连接查询 - 内连接
  • 内连接查询语法:
    • 隐式内连接
      select 字段列表 from 表1,表2 where 条件....;
      
    • 显式内连接
      select 字段列表 from 表1 [ inner ] join 表2 on 连接条件....;
      
    • 内连接查询的是两张表交集的部分
5.3 连接查询 - 外连接
  • 外连接查询语法:

    • 左外连接
    select 字段列表 from 表1 left [outer] join 表2 on 条件...;
    

    相当于查询表1(左表)的所有数据 并且包含 表1 和 表2 交集部分的数据

    • 右外连接
    select 字段列表 from 表1 right [outer] join 表2 on 条件...;
    

    相当于查询表1(右表)的所有数据 并且包含 表1 和 表2 交集部分的数据

5.4 连接查询 - 自连接
  • 自连接查询语法:
    select 字段列表 from 表1 别名1,表2 别名2 where 条件...;
    

    自连接查询,既可以使用内连接的语法,也可以使用外连接的语法。
    在使用自链接时,所对应的表,一定要起别名,否则后续会引起报错。

5.5 连接查询 - 联合查询(union、union all)

在这里插入图片描述

5.6 子查询

在这里插入图片描述

  • 标量子查询:子查询的结果为一行一列(单个值),如数字、字符串、日期等。

    常用的操作符有:= != > >= < <=

  • 列子查询:子查询返回的结果为一列(可以是多行)
    在这里插入图片描述

  • 行子查询:子查询返回的结果是一行(可以是多列)

    常用的操作符有:=、!=、in、not in

  • 表子查询:子查询返回的结果是多行多列

    常用的操作符有:in

5.7 练习

在这里插入图片描述

所涉及到的表结构在文章最下方

5.8 总结

在这里插入图片描述

六、事务

6.1 事务简介

在这里插入图片描述

6.2 事务操作

在这里插入图片描述

在这里插入图片描述

6.3 事务四大特性(ACID

在这里插入图片描述

6.4 并发事务问题

在这里插入图片描述

6.5 事务隔离级别

在这里插入图片描述
bash select @@transaction_isolation; set session transaction isolation level read uncommitted ;

6.6 总结

在这里插入图片描述

CREATE TABLE `employee` (`id` int NOT NULL AUTO_INCREMENT,`name` varchar(50) DEFAULT NULL,`gender` varchar(10) DEFAULT NULL,`age` int DEFAULT NULL,`dept_id` int DEFAULT NULL,`salary` decimal(10,2) DEFAULT NULL,`hire_date` date DEFAULT NULL,`position` varchar(50) DEFAULT NULL,`phone` varchar(20) DEFAULT NULL,`email` varchar(100) DEFAULT NULL,PRIMARY KEY (`id`),KEY `dept_id` (`dept_id`),CONSTRAINT `employee_ibfk_1` FOREIGN KEY (`dept_id`) REFERENCES `department` (`dept_id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ciCREATE TABLE `department` (`dept_id` int NOT NULL AUTO_INCREMENT,`dept_name` varchar(50) NOT NULL,PRIMARY KEY (`dept_id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ciCREATE TABLE `course` (`id` int NOT NULL AUTO_INCREMENT,`name` varchar(10) DEFAULT NULL COMMENT '课程名称',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ciCREATE TABLE `salary_grade` (`grade` int DEFAULT NULL,`losal` int DEFAULT NULL,`hisal` int DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='薪资等级表'CREATE TABLE `student` (`id` int NOT NULL AUTO_INCREMENT,`name` varchar(10) DEFAULT NULL,`no` varchar(10) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ciCREATE TABLE `student_course` (`id` int NOT NULL AUTO_INCREMENT,`student_id` int DEFAULT NULL,`course_id` int DEFAULT NULL,PRIMARY KEY (`id`),KEY `student_id` (`student_id`),KEY `course_id` (`course_id`),CONSTRAINT `student_course_ibfk_1` FOREIGN KEY (`student_id`) REFERENCES `student` (`id`),CONSTRAINT `student_course_ibfk_2` FOREIGN KEY (`course_id`) REFERENCES `course` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com