MySQL知识点小结

news2024/11/19 2:17:36

事务

  • 进行数据库提交操作时使用事务就是为了保证四大特性,原子性,一致性,隔离性,持久性Durability.

  • 持久性:事务一旦提交,对数据库的改变是永久的.

  • 事务的日志用于保存对数据的更新操作.

image-20230225175310871

这个操作T1事务操作的会发生丢失,因为最后是T2提交的修改,而且T2先进行一次查询,按照A=100-10=90进行的.

索引

命中索引效率更高,全表扫描会较慢,如果调用内置函数之后会更慢.

不会命中触发索引的条件
  • 如果where后面有or

  • like是以%开头的不会命中索引

  • 没有查询条件,或者查询条件没有建立索引

  • 查询条件中在索引列上使用函数(+/-*/),采用not in not exist != <=>

    name列创建了索引,但是使用where name is null,就不会使用该列的索引(因为索引没有保存null的信息)

多列索引时,遵循最左匹配原则
ALTER TABLE student ADD INDEX userName_age_phone_index (userName,age,phone);

#这种创建索引的方式在多项查找时要优于单一索引,由于mysql的采用的b+树方式,因此不在需要扫描任何记录,直接就可以得到满足需求的结果集。

#而这种方式其实相当于创建了三个索引(userName),(userName,age),(userName,age,phone)。

#因此在当进行以下查询时仍会命中mysql索引

select * from student where userName=‘小明’;

select * from student where userName=‘小明’ and age=19;

select * from student where userName=‘小明’ and age=19 and phone=1887821;
  • 数据插入操作会触发索引更新,也是需要消耗时间性能的.
  • explain语句可以分析sql的执行逻辑,顺序,是否使用索引等。

表查询

  • 数据库做join操作时,至少涉及1张表,当采用自连接时.
  • 只有内连接始终会按照链接条件进行过滤,外链接当外表中的数据不再满足连接条件时,也会返回结果.
  • %表示任意个字符,0个到∞个都行
  • alter用于更改表的属性,update用于更新表的内容
  • 时间信息也是可以用between…and…的,时间填写时尽量写完整.
select * from article where create_date between '2019/1/1 10:30:00' and '2019/11/10 16:2:00';

约束

数据库完整性分为实体完整性、域完整性和参照完整性。

  • 实体完整性要求表中的主键字段不能为空且不能重复;

  • 域完整性要求表中数据都在有效范围内;

  • 参照完整性保证了相关联的表的数据一致性。

  • 约束是保证表中数据完整性和一致性的手段,分为主键约束、外键约束、检查约束、唯一约束、非空约束五种。不管哪种约束,体现在表中都可以有1列或多列
  • GROUP BY子句用来分组WHERE子句的输出结果集
  • HAVING子句用来从分组的结果中筛选行

数据库了解

  • Essbase是一种多维数据库,不是关系数据库。
    • 所谓关系数据库就是我们通常语境下的数据库。
  • “SQL是介于关系代数和关系演算之间的语言,它充分体现了关系数据库语言的特性和优点”,SQL包含了DDL、DCL和DML.
  • “关系模型的完整性规则是对关系的某种约束,分为实体完整性参照完整性约束用户定义完整性
  • “关系数据库中,关系也称为表,元组也称为行,属性也称为列”
  • 数据库中的数据存放的先后顺序可以随意颠倒。试想如果数据库对数据排列的要求很高,维护起来肯定要花费更高的成本,这跟设计思维是背道而驰的。再试想你前后颠倒一下就会导致结果不同,这样的数据库你敢用么?
  • 数据库本身就是管理数据的,肯定着眼于数据本身,自然是为了解决数据本身相关的问题啦!
    计思维是背道而驰的。再试想你前后颠倒一下就会导致结果不同,这样的数据库你敢用么?
  • 数据库本身就是管理数据的,肯定着眼于数据本身,自然是为了解决数据本身相关的问题啦!
  • 数据安全性和完整性保障的问题是由文件系统更适合维护的.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/371505.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

线性回归算法和逻辑斯谛回归算法详细介绍及其原理详解

相关文章 K近邻算法和KD树详细介绍及其原理详解朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解决策树算法和CART决策树算法详细介绍及其原理详解线性回归算法和逻辑斯谛回归算法详细介绍及其原理详解 文章目录相关文章前言一、线性回归二、逻辑斯谛回归总结前言 今天给大家…

2020 NOC 编程猫创新编程全国决赛小学组第一部分(客观题)

Q1. 某角色的造型区及未完成的脚本如下,当前造型名称为猫,若想切换到熊冬眠的 浩型,变量次数的值不可能为( ) A. 2 B. 3 C. 4 D. 5 Q2. 运行下图所示脚本,角色的运动轨迹为( ) Q3. 运行脚本,变量“y”的值为( ) A. 200 B. 2200 C. 2000 D. 4000 Q4. 运行…

盘点:9款身份和访问管理工具

身份和访问管理&#xff08;IAM&#xff09;长期以来一直是安全领导者职业生涯的关键“试炼场”&#xff0c;许多人在身份技术部署方面做出了事关成败的决定。 确保安全访问和身份管理是网络安全态势的两大基础 。同时&#xff0c;人员、应用程序和系统登录的方式以及它们彼此集…

以业务行为驱动的反入侵安全能力建设

0x0 背景 最近听到一些甲方安全领域的专家分享了部分安全建设的经验&#xff0c;对安全运营下的反入侵技术能力建设有了些新的看法&#xff0c;依靠单个/多个异构的安全产品的关联能力形成的安全中台并不能在实际的攻防对抗当中占据主动地位&#xff0c;且很容易达到一个天花板…

Mr. Cappuccino的第45杯咖啡——Kubernetes之部署SpringBoot项目

Kubernetes之部署SpringBoot项目创建一个SpringBoot项目将SpringBoot项目打成Jar包使用Dockerfile制作镜像部署SpringBoot项目创建一个SpringBoot项目 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache…

一、前端稳定性规约该如何制定

前言 稳定性是数学或工程上的用语&#xff0c;判别一系统在有界的输入是否也产生有界的输出。若是&#xff0c;称系统为稳定&#xff1b;若否&#xff0c;则称系统为不稳定。 前端稳定性的体系建设大约可以分为了发布前&#xff0c;发布后&#xff0c;以及事故解决后三个阶段…

建立做机器学习项目的范式

建立起做机器学习项目的范式&#xff0c;萃取出核心步骤&#xff0c;避免后面做项目没有明确的方向。 核心步骤&#xff1a; 1、明确自己想做什么样的项目&#xff0c;感兴趣的领域&#xff1b; 2、找到满足项目的数据集&#xff0c;开源的或者自建数据集&#xff1b; 数据…

《数据结构》二叉树面试题

&#x1f451;作者主页&#xff1a;Java冰激凌 &#x1f4d6;专栏链接&#xff1a;数据结构 目录 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先力扣 思路分析 代码 思路拓展 根据一棵树的前序遍历与中序遍历构造二叉树。力扣 思路分析 代码 根据一棵树的中序遍历与…

Linux系统看门狗应用编程

目录看门狗应用编程介绍打开设备获取设备支持哪些功能&#xff1a;WDIOC_GETSUPPORT获取/设置超时时间&#xff1a;WDIOC_GETTIMEOUT、WDIOC_SETTIMEOUT开启/关闭看门狗&#xff1a;WDIOC_SETOPTIONS喂狗&#xff1a;WDIOC_KEEPALIVE看门狗应用编程实战在产品化的嵌入式系统中&…

[计算机网络(第八版)]第二章 物理层(章节测试/章节作业)

章节作业 带答案版 选择题 (单选题)双绞线是用两根绝缘导线绞合而成的&#xff0c;绞合的目的是&#xff08; &#xff09;。 A. 减少干扰 B. 提高传输速度 C. 增大传输距离 D. 增大抗拉强度(单选题)在电缆中采用屏蔽技术可以带来的好处主要是&#xff08; &#xff09;。 A…

DNS 域名解析

介绍域名 网域名称&#xff08;英语&#xff1a;Domain Name&#xff0c;简称&#xff1a;Domain&#xff09;&#xff0c;简称域名、网域。 域名是互联网上某一台计算机或计算机组的名称。 域名可以说是一个 IP 地址的代称&#xff0c;目的是为了便于记忆。例如&#xff0c…

Latex中的表格(2)

Latex中的表格一、一个加脚注的三线表的例子二、一个表格中加注释的例子三、两个并排的两个表格的例子3.1 使用小页环境并排表格3.2 使用子表格并排表格四、一个格式复杂的表格的例子五、一个长表格的例子这篇文章主要罗列一些特殊的表格例子。内容来自&#xff1a;一篇北师大学…

深度剖析数据在内存的存储

目录1.深度剖析数据在内存的存储(前言)数据类型介绍类型的基本归类整形在内存中的存储原码、反码、补码大小端练习总结1.深度剖析数据在内存的存储(前言) 今天就让我戴佳伟给大家讲一下数据在内存中的存储。之中有好多让我们深思的点&#xff0c;大家都拿起笔记本&#xff0c;…

【机器学习笔记】Python基础笔记

目录基础语法加载数据&#xff1a;pd.read_csv查看数据大小&#xff1a;shape浏览数据行字段&#xff1a;columns浏览少量数据&#xff1a;head()浏览数据概要&#xff1a;describe()基础功能语法缺省值去除缺失值&#xff1a;dropna按行删除&#xff1a;存在空值&#xff0c;即…

【数据库】第二章 关系数据库

第二章 关系数据库 2.1关系数据结构及形式化定义 关系 域&#xff08;domain) :域是一组具有相同数据类型的值的集合&#xff0c;可以取值的个数叫基数 笛卡尔积 &#xff1a;一个记录叫做一个元组&#xff08;tuple),元组中每一个属性值&#xff0c;叫一个分量 基数&…

35测试不如狗?是你自己技术不够的怨怼罢了

一、做软件测试怎么样&#xff1f; 引用著名软件测试专家、清华大学郑人杰教授的说法&#xff1a;软件测试工程师是一个越老越吃香的职业。 其中就表达了软件测试工作相对稳定、对年龄没有限制、而且随着项目经验的不断增长和对行业背景的深入了解&#xff0c;会越老越吃香。…

刚上岸字节测试开发岗,全网最真实的大厂面试真题

首先我来解释一下为什么说是全网最真实的面试题&#xff0c;相信大家也发现软件测试面试题在网上流传也已不少&#xff0c;但是经过仔细查看发现了两个很重要的问题。 第一&#xff0c;网上流传的面试题的答案并不能保证百分百正确。也就是说各位朋友辛辛苦苦花了很多时间准备…

《程序员的自我修养》阅读笔记

文章目录【第2部分】静态链接1 编译过程2 编辑器的工作流程3 链接——模块的拼接4 目标文件目标文件中的段&#xff08;section&#xff09;ELF文件结构5 静态链接1 空间与地址分配2 符号解析与重定位【第3部分】装载与动态链接1 装载的方式2 进程的启动3 为什么需要动态链接&a…

通俗易懂,十分钟读懂DES,详解DES加密算法原理,DES攻击手段以及3DES原理。Python DES实现源码

文章目录1、什么是DES2、DES的基本概念3、DES的加密流程4、DES算法步骤详解4.1 初始置换(Initial Permutation&#xff0c;IP置换)4.2 加密轮次4.3 F轮函数4.3.1 拓展R到48位4.3.2 子密钥K的生成4.3.3 当前轮次的子密钥与拓展的48位R进行异或运算4.3.4 S盒替换&#xff08;Subs…

学习 create-vite 源码后,感觉真不一样

前言 已经学习了一段时间的源码了&#xff0c;在写源码 demo 小例子的时候都是使用 react 项目作为模板&#xff0c;而我的 react 项目正好是由create-vite来创建的&#xff0c;因此&#xff0c;今天来学习一下关于create-vite的源码。话不多说&#xff0c;咱们直接开始学习。…