分类: DataBase

25 篇文章

MySQL进阶6——MySQL存储对象之触发器
介绍 触发器是与表有关的数据库对象,指在 insert/update/delete 之前或之后,触发并执行触发器中定义的SQL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性,日志记录,数据校验等操作。 使用别名OLD和NEW来引用触发器中发生变化的记录内容,这与其他的数据库是相似的。现在触发器还只支持行级触发,不支持语句级触发(行…
MySQL进阶5——MySQL存储对象之存储过程
存储过程介绍 存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。 存储过程思想上很简单,就是数据库SQL语言层面的代码封装与重用。 特点: 通过封装SQL语句,实现复用; 可以接收参数,也可以返回数据; 减少网络交互,提…
MySQL进阶4——MySQL存储对象之视图
视图介绍及基本语法 介绍 视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。 语法 1、创建视图 CREATE [OR REPLACE…
MySQL进阶3——MySQL SQL优化
插入数据 insert 优化 采用批量插入:尽量避免少量多次插入,每次插入都需要与数据库建立连接,消耗数据库网络资源。也要避免一次插入太多数据,建议一次插入最多不超过1000条,如果需要插入上万条记录,可以将其分割为多条insert语句。 insert into tb_test values(1,)(2,),(3,),...; 手动事务提交 MyS…
MySQL进阶2——MySQL索引
前言 索引是整个进阶篇中最为核心也最为重要的一个部分,后面的SQL优化很大程度上也是围绕着索引展开。 索引概述 索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。 在没有…
MySQL进阶1——MySQL存储引擎
MySQL体系结构 连接层:最上层是一些客户端连接服务,主要完成一些类似于连接处理、授权认证、及相关的安全方案。服务器也会为安全接入的每个客户验证它所具有的操作权限; 服务层:第二层架构主要完成大多数的核心服务功能,如SQL接口、并完成缓存的查询、SQL的分析和优化、部分内置函数的执行。所有的跨存储引擎功能也在这一层实现, 如过程、函数等; 引擎层…
MySQL基础9——MySQL事务
事务简介 事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 例如常见的银行转账:转账要么成功,要么失败,不管成功还是失败,转账前后银行里的总账不会改变。 默认MySQL的事务是自动提交的,当执行一条DML语句时,MySQL会立即隐式提交事务。如果需要…
MySQL基础8——MySQL多表查询
多表关系 在进行数据库表结构的设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在多种联系,基本上分为三种情况。 一对多(多对一) 多对多 一对一 一对多 部门与员工的关系就是典型的一对多关系,一个部门对应了多个员工,一个员工对应一个部门,在这种情况下,可以在多的一方建立外键,指向一的一方的主…
MySQL基础7——MySQL约束
概述 概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据; 目的:保证数据库中数据的准确性、有效性和完整性; 分类: 非空约束:必须有值 唯一约束:用于必须唯一的字段,比如身份证号,用户手机号,用户名等; 主键约束:设计一张表必须有主键; 默认约束:例如如果不指定值,默认是1,这种情境下就可以使用默认约束; 检查约束:MySQL 8.0.…
MySQL基础6——MySQL函数
定义 函数是指一段可以直接被另一段程序调用的程序或代码。MySQL中的函数常用的有字符串函数、数值函数、日期函数、流程函数等,下面将逐一进行讲解。 字符串函数 MySQL中内置了很多字符串函数,以下是常用的几个字符串函数。 使用方法 concat mysql> select concat('Hello' , ' …