随笔分类 -  MySQL

摘要:MySQL的日期函数 1、获取当前日期和时间 curdate():获取当前日期,不包括时分秒。 curtime():获取当前时间,不包含日期。 now() 或 sysdate():获取当前时间和日期。建议使用sysdate(),因为在oracle中也可以使用 2、字符串和日期的转换 str_to_d 阅读全文
posted @ 2023-02-07 16:34 danielzzz 编辑
摘要:如何保证一致性 数据库通过原子性(A)、隔离性(I)、持久性(D)来保证一致性(C)。其中一致性是目的,原子性、隔离性、持久性是手段。因此数据库必须实现AID三大特性才有可能实现一致性。 如何保证原子性? MySQL通过undo log来保证原子性; 比如,要修改A的值,那么在修改之前先读取A的原值 阅读全文
posted @ 2022-11-03 09:48 danielzzz 编辑
摘要:一、事务的ACID特性 原子性( Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。 一致性( Consistency):数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。例如对银行转帐事务,不管事务成功还是失败,应该保证事务结束后ACCOUNTS表 阅读全文
posted @ 2022-11-02 16:17 danielzzz 编辑
摘要:前言 MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。而索引可分单列索引和组合索引。 单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。 组合索引,即一个索引包含多个列。 创建索引时,你需要确保该索引是应用在 SQL 查询语句 阅读全文
posted @ 2022-10-27 16:28 danielzzz 编辑
摘要:一、MySQL DECIMAL 的使用 DECIMAL 数据类型用于在数据库中存储精确的数值,我们经常将该数据类型用于保留准确精确度的列,例如会计系统中的货币数据。 要定义数据类型为DECIMAL的列,请使用以下语法: column_name DECIMAL(P,D); 在上面的语法中: P是表示有 阅读全文
posted @ 2022-10-25 11:11 danielzzz 编辑
摘要:一、整数类型的取值范围和宽度 整数类型对应的取值范围: 类型 字节 有符号取值范围 无符号取值范围 TINYINT 1 -128 ~ 127 0 ~ 255 SMALLINT 2 -32768 ~ 32767 0 ~ 65535 MEDIUMINT 3 -8388608 ~ 8388607 0 ~ 阅读全文
posted @ 2022-10-24 18:23 danielzzz 编辑
摘要:MySQL拓展知识点 ####1、获取服务器元数据 -- 服务器版本信息 SELECT VERSION() -- 当前数据库名 (或者返回空) SELECT DATABASE() -- 当前用户名 SELECT USER() -- 服务器状态 SHOW STATUS -- 查看MySQL5.5服务器 阅读全文
posted @ 2022-06-02 15:09 danielzzz 编辑
摘要:一、前置条件 有如下两张表:用户表和用户详情表: SELECT * FROM `user` SELECT * FROM `user_info` 二、INNER JOIN 关键字 内连接,又叫等值连接,只返回两个表中连接字段相等的行。 注释:INNER JOIN 与 JOIN 是相同的。在 INNER 阅读全文
posted @ 2022-01-05 15:28 danielzzz 编辑
摘要:一、什么是回表查询? InnoDB有两大类索引: 聚集索引(clustered index) 普通索引(secondary index) InnoDB聚集索引和普通索引有什么差异? InnoDB聚集索引的叶子节点存储行记录,因此, InnoDB必须要有,且只有一个聚集索引: (1)如果表定义了PK, 阅读全文
posted @ 2021-11-17 09:36 danielzzz 编辑
摘要:一、什么是MVCC? MVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问多版本控制: 指的是一种提高并发的技术。最早的数据库系统,只有读读之间可以并发,读写,写读,写写都要阻 阅读全文
posted @ 2021-11-15 16:16 danielzzz 编辑
摘要:优化总结 对于一个以数据为中心的应用,数据库的好坏直接影响到程序的性能,因此数据库性能至关重要。一般来说,要保证数据库的效率,要做好以下四个方面的工作:数据库设计、sql语句优化、数据库参数配置、恰当的硬件资源和操作系统。下面我们逐个阐明: 一、数据库设计 适度的反范式,注意是适度的 我们都知道三范 阅读全文
posted @ 2021-10-27 01:05 danielzzz 编辑
摘要:三范式 为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。 1NF:字段不可分; 2NF:有主键,非主键字段依赖主键; 3NF:非主键字段不能相互依赖; 解释 阅读全文
posted @ 2021-10-26 20:37 danielzzz 编辑