随笔分类 -  SQL-MySql

1 2 下一页
mysql alter modify 和 change的区别
摘要:在 MySQL 中,ALTER TABLE 语句用于修改现有的表结构。MODIFY 和 CHANGE 是 ALTER TABLE 语句中的两个常用选项,它们都用于修改列的定义,但有一些关键的区别。 MODIFY 用途: MODIFY 主要用于修改现有列的定义,比如改变数据类型、默认值、是否允许 NU 阅读全文
posted @ 2024-11-24 12:27 del88 阅读(1233) 评论(0) 推荐(0)
主键命名
摘要:为主键命名是一个看似简单但实际上非常重要的任务,因为良好的命名可以提高代码的可读性和维护性。以下是一些建议,帮助你为主键命名: 简洁明了: 主键名称应该尽量简洁,但要确保能够清楚地表达其用途。 遵循命名约定: 在团队或项目中,遵循一致的命名约定是非常重要的。例如,你可以约定所有主键都以 ID 结尾, 阅读全文
posted @ 2024-11-16 16:21 del88 阅读(118) 评论(0) 推荐(0)
mysql INNER JOIN、LEFT JOIN、RIGHT JOIN;内连接(等值连接)、左连接、右连接
摘要:文档:https://www.runoob.com/mysql/mysql-join.html 之前的分页优化写法(推荐使用 INNER JOIN ) select t1.orderId, t1.venderId, t1.created, t1.modified, t1.pushCreated, t 阅读全文
posted @ 2024-11-04 10:52 del88 阅读(128) 评论(0) 推荐(0)
MySQL 默认 only_full_group_by,select 字段里 不包含 group by 字段的问题;
摘要:ONLY_FULL_GROUP_BY是MySQL中的一个SQL模式,它要求在使用GROUP BY语句时,SELECT列表、HAVING条件或ORDER BY列表中的每个列,要么是聚合函数的一部分(如COUNT(), SUM(), AVG()等),要么必须在GROUP BY子句中明确指定。这个模式的设 阅读全文
posted @ 2024-09-29 16:52 del88 阅读(355) 评论(0) 推荐(0)
MySQL count(*) 与 count(列)的区别
摘要:COUNT(*) 与 COUNT(列) 在 SQL 查询中有显著的区别,主要体现在它们统计的对象和结果上。以下是两者的详细区别,并通过示例进行说明。 1. 统计对象不同 COUNT(*):统计表中所有的行数,包括所有列,不会忽略任何行,即使某些列的值为 NULL。它计算的是表中的行数,与列的具体值无 阅读全文
posted @ 2024-09-25 06:47 del88 阅读(585) 评论(0) 推荐(0)
MySql distinct 用法
摘要:DISTINCT 的主要作用是什么,可以使用 group by 或其他方法 实现 同样的效果吗? DISTINCT 的主要作用是在SQL查询中去除结果集中的重复行,确保返回的每个行都是唯一的。它通常用于SELECT语句中,以获取某列或多列的唯一值组合。 例如,假设有一个员工表employees,其中 阅读全文
posted @ 2024-09-24 17:42 del88 阅读(860) 评论(0) 推荐(0)
MySql Having 用法
摘要:HAVING子句在MySQL中的用法主要用于对通过GROUP BY子句分组后的数据进行条件过滤。它与WHERE子句类似,但关键区别在于HAVING子句可以包含聚合函数(如COUNT()、MAX()、MIN()、SUM()、AVG()等),而WHERE子句在数据分组之前执行,不能包含聚合函数。 下面是 阅读全文
posted @ 2024-09-24 17:31 del88 阅读(2861) 评论(0) 推荐(0)
MySQL的 索引名 ,不同的表 可以 同一个索引名吗
摘要:在MySQL中,不同的表可以使用相同的索引名。MySQL的索引名是在表级别定义的,这意味着索引名的作用域限定于其所属的表。因此,即使两个或多个表拥有相同名称的索引,也不会引起冲突,因为MySQL会根据表名和索引名的组合来唯一标识索引。 例如,如果你有两个表users和products,并且你想在这两 阅读全文
posted @ 2024-08-26 12:27 del88 阅读(582) 评论(0) 推荐(0)
MySQL 禁止使用 HASH 索引
摘要:在MySQL中,虽然InnoDB存储引擎默认使用的是BTREE索引,但它也支持一种特殊的自适应哈希索引(adaptive hash index, AHI),这是InnoDB自动管理和使用的,用户无法直接控制。然而,对于内存存储引擎MEMORY(之前称为HEAP),MySQL确实允许用户显式地创建HA 阅读全文
posted @ 2024-08-21 12:17 del88 阅读(139) 评论(0) 推荐(0)
流程实例,待继续
摘要:MySQL 表字段类型设计 Boolean 类型 使用,tinyint(1); 枚举类型,使用tinyint(无需设置);-128 - 127 共256种情况,我感觉一个枚举这么多种情况足以了;比如订单状态很难有256种状态; 日期类型使用bigint 而不是datetime; bigint 唯一的 阅读全文
posted @ 2024-04-26 11:12 del88 阅读(28) 评论(0) 推荐(0)
mysql 货币类型 选择
摘要:结论:我们的选择是int 和 bigint ,以分为单位来存; 一个外国人的视频 讲解了,我直接按重点截图了,连接地址:【在MySQL中存储货币的正确方式:不要使用 float 或 double ,要用 decimal 或 integer/bigint !】https://www.bilibili. 阅读全文
posted @ 2024-04-24 12:17 del88 阅读(154) 评论(0) 推荐(0)
MySQL 联合索引、复合索引
摘要:复合索引也叫联合索引,经常使用,遇到问题,可以看下 这3篇文章: 1. https://www.jb51.net/article/229580.htm 2. https://blog.csdn.net/CSDN_LGY_Java/article/details/111594021 3. https: 阅读全文
posted @ 2022-11-13 18:15 del88 阅读(773) 评论(0) 推荐(1)
mysql 索引优化 explain,复合索引,联合索引,优化 user_base 和 log_login 实战
摘要:本节是关于MySQL的复合索引相关的知识,两个或更多个列上的索引被称作复合索引,本文主要介绍了mysql 联合索引生效的条件及失效的条件 对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c)。 可以支持 阅读全文
posted @ 2022-11-13 17:09 del88 阅读(104) 评论(0) 推荐(0)
Mysql 创建外键、索引的问题
摘要:总结: 创建外键的列,要求必须创建索引,通常我们只需要创建外键就可,索引他会自动创建。若是索引那里已经存在了组合索引,那么组合索引前面的第一列已经有了索引,所以创建外键的时候不会自动创建,但是后面的列还是没有索引,创建外键的 时候会自动创建索引。 今天突然发现创建外键的时候,会自动创建索引,举例: 阅读全文
posted @ 2022-04-24 16:05 del88 阅读(545) 评论(0) 推荐(0)
Mysql中的整型长度(或叫显示宽度)问题,tinyint/int/bigint 长度问题解析
摘要:mysql里整型 和 占用 字节 表 在MySQL中,整型数据类型及其所占用的字节大小取决于具体的数据类型。以下是一个整型数据类型及其字节占用的概览: 数据类型 字节占用 范围 TINYINT 1 字节 -128 到 127 或者 0 到 255 (无符号) SMALLINT 2 字节 -32,76 阅读全文
posted @ 2020-05-13 14:22 del88 阅读(2944) 评论(0) 推荐(0)
Navicat 15 for MySQL 破解【我亲测可用】
摘要:1.去官网下载正版 https://www.navicat.com.cn/ 2.破解下载:https://files-cdn.cnblogs.com/files/del88/NavicatKeygen.7z 破解方法备份: tip:安装完成后先不要启动软件(切记),此时为试用版(14天),下面为破解 阅读全文
posted @ 2020-04-11 17:33 del88 阅读(1323) 评论(0) 推荐(0)
MySQL 中 的 bit 类型,tinyint(1); MySQL里的 boolean类型
摘要:MySQL里 没有 boolean类型 怎么办?tinyint(1) 总结:MySQL中 使用布尔类型的字段,就用 tinyint(1),true 为1 false 为0 在MySQL中,确实没有专门的boolean数据类型。不过,MySQL通常使用TINYINT(1)作为布尔值的替代。当使用TIN 阅读全文
posted @ 2020-03-21 12:07 del88 阅读(5865) 评论(1) 推荐(0)
Navicat MySql 连不上 本地开发环境 MySQL8.0
摘要:原因: 新版mysql数据库的加密方式改变,进而导致Navicat连接输入的密码不能与安装时输入的密码匹配,那如何解决这个问题呢?很简单,只需要一句代码的事儿~ 1、打开MySQL 8.0 Command Line Client 2、输入密码3、更改密码 4、重新连接Navicat,测试成功! 阅读全文
posted @ 2019-11-21 13:08 del88 阅读(1077) 评论(0) 推荐(0)
MySql8.0 安装重要的两步。
摘要:1.去官网下载mysql社区版 windows安装包。https://dev.mysql.com/downloads/windows/installer/8.0.html https://dev.mysql.com/downloads/ 2.在安装包 安装的过程中,有一步就是启动mysql 会失败: 阅读全文
posted @ 2019-11-21 12:59 del88 阅读(490) 评论(0) 推荐(0)

1 2 下一页