随笔分类 - 黑马程序员MySQL学习笔记
摘要:Oracle Dual表 是Oracle数据库中的一个虚拟表,任何用户均可读取,经常用在没有目标表的SELECT语句块。 SELECT '马铃薯' AS NAME, 'ORACLE数据库学习' AS PROJECT FROM dual 1. 获取当前日期 SYSDATE:获取计算机操作系统的当前
阅读全文
摘要:在后端开发过程中,连接mysql数据库,过几个小时第一次使用会出现MySQL Connection not available报错,即MySQL 数据库连接超时问题 这是因为MySql数据库存在一个连接池的回收时间,超过这个时间会导致资源无法正常释放,无法连接到MySql数据库(以下两种解决方案)
阅读全文
摘要:思考题: 第一个SQL语句效率要更高,这是因为 id 是通过聚集索引查询的,只需要一次查询就可以差点对应的数据。而第二个SQL语句是通过二级索引查询的,首先要根据 name 查询到对应的 主键id,然后根据 id 再回表查询对应的数据。因此,哪怕 id 和 name 都有索引,也是 id 的聚集索引
阅读全文
摘要:MySQL with Recursive是一种基于递归思想的MySQL查询方式,可以实现对数据的递归查询和处理,返回符合条件的数据,在MySQL 8.0版本中,该功能被正式引入。 MySQL with Recursive有什么作用 MySQL with Recursive的作用是基于一组初始数据,进
阅读全文
摘要:可以看到,上面的例子上,无索引的情况会查找全部的10次得到最终的结果,而有索引的情况会通过二叉排序树的数据结构,只需通过三次的查找就能得到最终的结果,更加的高效。 (这里需要注意,上述二叉树索引结构只是一个示意图,并不是真实的索引结构) 在了解索引的数据结构之前,我们先熟悉以下的数据结构: 1. 二
阅读全文
摘要:注意:数据库中经常会用到的索引就在引擎层 案例:创建 账户表(熟悉存储引擎) CREATE TABLE account( id int auto_increment primary key comment "主键ID", name varchar(10) comment "姓名", money in
阅读全文
摘要:事务简介 案例:创建 账户表(熟悉事务操作) CREATE TABLE account( id int auto_increment primary key comment "主键ID", name varchar(10) comment "姓名", money int comment "余额" )
阅读全文
摘要:子查询 案例:创建部门表 和 员工表(熟悉子查询) -- 部门表 CREATE TABLE dept( id int auto_increment comment "ID" primary key , name varchar(50) not null comment "部门名称" )comment
阅读全文
摘要:联合查询 对于union查询,就是把多次查询的结果合并起来,形成一个新的查询结果集 案例:创建部门表 和 员工表(熟悉联合查询) -- 部门表 CREATE TABLE dept( id int auto_increment comment "ID" primary key , name varch
阅读全文
摘要:多表查询分类 案例:创建部门表 和 员工表(熟悉多表查询) -- 部门表 CREATE TABLE dept( id int auto_increment comment "ID" primary key , name varchar(50) not null comment "部门名称" )com
阅读全文
摘要:案例1:创建部门表 和 员工表(熟悉多表查询) -- 部门表 CREATE TABLE dept( id int auto_increment comment "ID" primary key , name varchar(50) not null comment "部门名称" )comment "
阅读全文
摘要:多表关系 项目开发过程中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系 基本上分为以下三种: 1. 一对多(多对一) 2. 多对多 案例1:创建学生表(student),课程表(course),学生课程关系表
阅读全文
摘要:约束的概念 约束是作用于表中字段上的规则,用于限制存储在表中的数据 约束的目的 保证数据库中数据的正确、有效性和完整性 案例1:根据需求,完成以下表结构的创建(熟悉约束) CREATE TABLE user( id int primary key auto_increment comment "主键
阅读全文
摘要:什么是函数:是指一段可以直接被另一段程序调用的程序或代码 MySQL的函数主要包括:字符串函数、数值函数、日期函数、流程函数。 流程函数 流程函数也是很常用的一类函数,可以在SQL语句中实现条件筛选,从而提高语句的效率。 IF(value,t,f) 演示:当条件为true时,返回"OK",否则返回"
阅读全文
摘要:什么是函数:是指一段可以直接被另一段程序调用的程序或代码 MySQL的函数主要包括:字符串函数、数值函数、日期函数、流程函数。 日期函数 常见的日期函数如下: CURDATE() 演示:返回当前日期 SELECT CURDATE(); CURTIME() 演示:返回当前时间 SELECT CURTI
阅读全文
摘要:什么是函数:是指一段可以直接被另一段程序调用的程序或代码 MySQL的函数主要包括:字符串函数、数值函数、日期函数、流程函数。 数值函数 常见的数值函数如下: CEIL(x) 演示:对 1.2 进行向上取整 SELECT CEIL(1.2); FLOOR(x) 演示:对1.6进行向下取整 SELEC
阅读全文
摘要:什么是函数:是指一段可以直接被另一段程序调用的程序或代码 MySQL的函数主要包括:字符串函数、数值函数、日期函数、流程函数。 字符串函数 MySQL中内置了很多字符串函数,常用的几个如下: CONCAT(s1,s2) 演示:将字符串"Hello"和"MySQL"进行拼接 SELECT CONCAT
阅读全文
摘要:DCL-介绍 DCL英文全称是 Data Control Language(数据控制语言),用来管理数据库 用户、控制数据库的访问 权限 DCL-管理用户 查询用户(用户信息通常保存在 mysql 数据库下的 user表) USE mysql; SELECT * FROM user; 创建用户 CR
阅读全文
摘要:DQL-介绍(常用) DQL英文全称是Data Query Language(数据查询语言),数据查询语言用来查询数据库中表的记录 查询关键字:SELECT DQL-语法 DQL-语法(编写顺序和执行顺序) 案例:创建一个 emp 员工表,添加一些员工数据 CREATE TABLE emp( id
阅读全文
摘要:DQL-介绍(常用) DQL英文全称是Data Query Language(数据查询语言),数据查询语言用来查询数据库中表的记录 查询关键字:SELECT DQL-语法 DQL-分页查询 语法: SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查询记录数; 案例:创建一个 emp
阅读全文