MySQL:Explain关键字(执行计划)

前言在学习 MySQL 时看见别人使用 Explain 关键字,学习一下。实现什么是Explain?Explain 被称为执行计划。在语句之前增加 Explain 关键字,MySQL 会在查询上设置一个标记,模拟 MySQL 优化器来执行 SQL 语句,执行查询时,会返回执行计划的信息,并不执行这条
MySQL 2023年11月06日 243次浏览

MySQL:数据不存在则insert,存在则update

前言有这样的应用场景:如果该数据在表中不存在则插入数据,如果存在则更新它的数据。例如在如下用户表中,用户不存在(唯一索引 code 用于识别唯一用户)则创建一个新的用户,如果存在则更新其它的数据列。CREATE TABLE user202308 (`id` INT PRIMARY K
MySQL 2023年08月25日 238次浏览

MySQL:根据A表更新B表的数据

背景遇到这样一个场景:在数据库里有两个表,需要根据 source 表中的数据来刷新 target 表中的数据,两表可通过某个字段进行关联(例如通过 user_id 进行关联)。实现例如表结构如下:source 表结构:CREATE TABLE `user_20230224` ( &
MySQL 2023年08月09日 271次浏览

MySQL:count()函数汇总满足特定条件的数据列

背景在 MySQL 数据库中,在 count() 函数中添加条件,只有满足指定条件的数据列才进行汇总运算。实现数据表中的原始数据如下:方式一:IF语句SQL 如下:SELECTCOUNT( IF ( age > 20 OR age IS NULL, 1, NULL ) ) AS RESULT
MySQL 2023年07月10日 209次浏览

MySQL:concat()函数的使用

前言本文来记录下 MySQL 中 concat() 函数的使用。实现concat函数语法:CONCAT(str1,str2,…)concat() 函数用于将多个字符串连接成一个字符串。例如转换如下数据:示例:SELECT concat(user_name, ';;;', passwo
MySQL 2023年04月21日 256次浏览

MySQL:唯一索引中的NULL值

前言MySQL 中的 UNIQUE 索引,可以在一个或多个列中强制实现值的唯一性。但唯一索引中存在一个特性——那就是 NULL 值在 MySQL 中被视为不同的值。因此如果在 UNIQUE 索引中出现 NULL 值,那么其唯一性就失效了。实现单列UNIQUE索引建表语句:create table u
MySQL 2023年03月15日 289次浏览

MySQL:DECIMAL数据类型

背景MySQL 中 DECIMAL 数据类型。理论MySQL DECIMAL 数据类型用于在数据库中存储精确的数值。我们经常将 DECIMAL 数据类型用于保留准确精确度的列,例如会计系统中的货币数据。它的具体用法如下:DECIMAL(10,2) 表示总共能存 10 位数字,其中末尾 2 位是小数,
MySQL 2023年02月16日 328次浏览

MySQL字段类型tinyint、smallint、mediumint、int、bigint

背景MySQL 中整型字段详解。理论先来看一下基本的概念:字节(byte),1个字节等于8个位(bit),一个 bit 存储 0 或者 1,理解这个对于理解后面的占用字节导致的存储数值的有很重要的作用。整型,常见细分为 tinyint、smallint、mediumint、int、bigint 这几
MySQL 2023年02月15日 269次浏览

MySQL:COLLATE是什么?

背景在建表语句中,通常会设置 COLLATE 关键字。那么这个关键字的作用是什么呢?CREATE TABLE `table1` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `field1&
MySQL 2023年02月14日 253次浏览

MySQL8.0+版本1045错误解决办法

背景使用命令行登录MySQL报错1045 Access denied for user ‘root’@‘localhost’ (using password:YES),折腾半天才解决问题。解决一、管理员权限打开CMD二、CD到自己的MySQL安装目录此步骤请根据自己的安装目录进行操作。CD到相应的目
MySQL 2021年09月10日 322次浏览
捐赠页面示例