随笔分类 - MySQL
摘要:脏读: 脏读是指事务读取到其他事务没提交的数据。 不可重复读: 不可重复读是指在同一次事务中前后查询不一致的问题。 幻读: 幻读是一次事务中前后数据量发生变化,导致用户遇到不可预料的问题。 小结: 脏读指读取到其他事务正在处理的未提交的数据。 不可重复读指并发更新时,另一个事务前后查询相同数据时的数
阅读全文
摘要:一、引发的问题 1.负向查询,不能获取 Null 值的行 SELECT * FROM student WHERE age != 18; 比如你希望返回student表中所有年龄不等于18的记录(包括年龄为Null的记录),但上面的这条SQL将不会返回年龄为Null的记录。因为对于Null值,数据库不
阅读全文
摘要:一、游标的概念 游标是一个存储在MySQL服务器上的数据库查询,它不是一条select语句,而是被该语句检索出来的结果集。有了游标可以方便的对该结果集进行逐行处理。 二、游标的使用 1. 创建游标 【注】不像多数DBMS,MySQL游标只能用于存储过程(和函数)。 2. 打开和关闭游标 【注】当
阅读全文
摘要:1. 命令行方式 备份: 还原: 1)登录数据库 2)创建数据库 3)使用数据库 4)执行文件: 2. 图形化工具(以SQLyog为例) 备份: 单击选中所要备份的数据库,右键选择备份/导出 备份数据库,转储到SQL...,然后在Export to框中选择要保存的路径,点击导出,
阅读全文
摘要:一、访问控制 MySQL服务器保证安全的基础是:用户应该对他们需要的数据具有适当的访问权,既不能多也不能少。这样就可以防止用户对数据库的恶意操作和误操作。 二、管理用户 1. 创建用户账号 2. 删除用户账户 3. 设置访问权限 在创建用户账户后,必须接着分配访问权限。新创建的用户账户没有访
阅读全文
摘要:一、存储过程的概念 存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合。可以把它理解为一种函数。使用存储过程有3个主要的好处,即简单、安全、高性能。 二、使用存储过程 1. 无参数的存储过程 2. 有参数的存储过程 例1: 例2: 3. 智能存储过程 三、删除存储过程
阅读全文
摘要:一、内联结 1. 隐式内联结(使用where子句) 2. 显式内联结 二、外联结(可以检索出包含NULL值的行)
阅读全文
摘要:一、视图的概念 视图是虚拟的表。它将select语句查询到的数据包装成一张虚拟的表。后续可以直接利用这张虚拟表而不必知道原有表的结构,从而能简化后续的SQL操作。 【注】视图本身是不包含数据的。视图提供了一种MySQL的select语句层次的封装,可用来简化数据处理以及重新格式化基础数据或保护基
阅读全文
摘要:一、触发器的概念 触发器是当某个表发生更改(delete、insert、update)时自动执行的一条MySQL语句(或位于begin和end语句之间的一组语句)。 二、创建触发器 在创建触发器时,需要给出4条信息: + 唯一的触发器名; + 触发器关联的表; + 触发器应该响应的活动(de
阅读全文
摘要:一、数据库设计的范式 数据库设计的范式即设计数据库时,需要遵循的一些规范。要遵循后边的范式要求,必须先遵循前边的所有范式要求。 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。 目前关系数据
阅读全文
摘要:一、事务的基本介绍 1. 概念 如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败。 2. 操作 开启事务: start transaction; 回滚事务:rollback; 提交事务:commit; 3. 举例 -- 0. 开启事务 START TRANSAC
阅读全文