
mysql
文章平均质量分 75
mysql数据库
W_Kenneth
这个作者很懒,什么都没留下…
展开
-
mysql,分组(group by)与排序(order by)同时使用
先说一下SQL执行顺序:from => join => on => where => group by => having => select => order by => limithaving、where:都是条件查询,区别在于having可以用别、函数。具体区别见:https://blog.youkuaiyun.com/W_Kenneth/article/details/110950145测试数据表:reward要求:原创 2020-12-10 13:18:13 · 23363 阅读 · 0 评论 -
Mysql四种常见数据库引擎
Mysql四种常见数据库引擎四种mysql存储引擎前言数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是存储引擎。存储引擎查看MySQL给开发者提供了查询存储引擎的功能,我这里使用的是MySQL5.1,可以使用:SHOW ENGINES命令来查看MySQL使用的引转载 2020-08-10 14:47:33 · 450 阅读 · 0 评论 -
MySQL,去重(distinct)
MySQL,去重(distinct)1、使用distinct去重(适合查询整张表的总数)有多个学校+教师投稿,需要统计出作者的总数select count(author) as total from files每个作者都投稿很多,这里有重复的记录。select distinct author from files;有可能两个学校的教师姓名相同,结果只统计一个,出错。select distinct author,sid from files统计(作者+学校id)的组合唯一值,结果出现正确的结果转载 2020-08-10 15:07:07 · 263 阅读 · 0 评论 -
mysql delete limit 使用方法详解
mysql delete limit优点:用于DELETE的MySQL唯一的LIMIT row_count选项用于告知服务器在控制命令被返回到客户端前被删除的行的最大值。本选项用于确保一个DELETE语句不会占用过多的时间。您可以只重复DELETE语句,直到相关行的数目少于LIMIT值为止。如果DELETE语句包括一个ORDER BY子句,则各行按照子句中指定的顺序进行删除。此子句只在与LIMIT联用是才起作用。例如,以下子句用于查找与WHERE子句对应的行,使用timestamp_column进行转载 2020-09-09 15:39:47 · 1805 阅读 · 0 评论 -
Mysql哪些字段适合建立索引
工作中处理数据时,发现某个表的数据达近亿条,所以要为表建索引提高查询性能,以下两篇文章总结的很好,记录一下,以备后用。数据库建立索引常用的规则如下:1、表的主键、外键必须有索引;2、数据量超过300的表应该有索引;3、经常与其他表进行连接的表,在连接字段上应该建立索引;4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;5、索引应该建在选择性高的字段上;6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;7、复合索引的建立需要进行仔细分析;尽量...转载 2020-12-29 15:55:31 · 1801 阅读 · 0 评论 -
mysql,索引类型和方法
先来一段 SQL:一、索引类型1、唯一索引(UNIPUE)and 主键(PRIMARY KEY)主键相当于不能为空的唯一索引,声明使用PRIMARY KEY。但还是有些区别的:主键是一种约束,唯一索引是一种索引;一张表只能有一个主键,但可以创建多个唯一索引;主键不能为null,唯一索引可以为null;主键可以做为外键,唯一索引不行;2、普通索引(NORMAL)3、全文索引(FULLTEXT)用于搜索很长一篇文章的时候,效果最好。4、空间索引(SPATIAL)这个没接触过,有兴原创 2020-12-29 16:00:08 · 296 阅读 · 0 评论 -
MySQL,联合索引
命名规则:表名_字段名1、需要加索引的字段,要在where条件中2、数据量少的字段不需要加索引3、如果where条件中是OR关系,加索引不起作用4、符合最左原则https://segmentfault.com/q/1010000003984016/a-1020000003984281联合索引又叫复合索引。对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c). 可以支持a|a,b|a,b...转载 2020-12-29 16:20:28 · 165 阅读 · 0 评论 -
mysql,同一张表中的一个字段的值替换另一个字段
要求:替换成测试数据:CREATE TABLE `test` ( `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, `value` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (`id`) USING BTREE) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 C原创 2020-12-17 17:07:34 · 4335 阅读 · 0 评论 -
2013,Lost connection to MySQL server during query 报错处理
转载自:https://blog.youkuaiyun.com/weixin_39561473/article/details/90213914今天在单位改bug,有一个表总是在写入数据的时候报2013的错误查阅了一下官方文档,总结一下3种可能性,一般都是第一或第二种原因。首先SQLAlchemy官方对该错误的解释:针对与数据库操作相关的错误而引发的异常,并且不一定在程序员的控制之下,例如, 发生意外断开连接,找不到数据源名称,无法处理事务,处理期间发生内存分配错误等。此错误是DBAP..转载 2020-08-26 14:09:56 · 856 阅读 · 0 评论 -
MySQL,Explain详解
转载自:http://www.cnblogs.com/tufujie在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采用。-- 实际SQ转载 2020-12-25 17:40:05 · 137 阅读 · 0 评论 -
Mysql 中排序规则区别utf8_bin与utf8_general_ci区别
排序规则:utf8_bin与utf8_general_ci区别MySQL中存在多种格式的utf8编码,其中最常见的两种为:utf8_binutf8_general_ciutf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写;utf8_genera_ci不区分大小写,ci为case insensitive的缩写,即大小写不敏感,为utf8默认编码。ci是case insensitive,即"大小写不敏感", a和A会在字符判断中会被当做一样的;bin是二...转载 2021-05-08 10:33:53 · 924 阅读 · 0 评论