MySQL支持大量类型,它可以被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。本节首先给出可用类型一个概述,并且总结每个类型存储需求,然后提供每个类中类型性质更详细描述。概述有意简化,更详细说明应该考虑到有关特定类型附加信息,例如你能为其指定值允许格式。 由MySQL支持类型在下面。下列代码字母用于描述中: M 指
如何进行SQL优化?答:(1)选择正确存储引擎以 MySQL为例,包括有两个存储引擎 MyISAM 和 InnoDB,每个引擎都有利有弊。MyISAM 适合于一些需要大量查询应用,但其对于有大量写操作并不是很好。甚至你只是需要update一个字段,整个表都会被锁起来,而别的进程,就算是读进程都无法操作直到读操作完成。另外,MyISAM 对于 SELECT COUNT(*) 这类计算是超快无比
1.过分反范式化为表建立太多  我们在设计数据库结构时,比较容易犯第一个错误就是对表进行了过分反范式化设计,这就容易造成了表中过多,虽然说Mysql允许为一个表建立很多,但是由于Mysql插件式架构原因,前面博客已经有介绍,Mysql服务器层和存储引擎层是分离Mysql存储引擎API工作时需要把服务器层和存储引擎层之间通过缓冲格式来拷贝数据,然后在服务器层将缓冲层
转载 2023-08-06 01:03:49
206阅读
1.过分反范式化为表建立太多  我们在设计数据库结构时,比较容易犯第一个错误就是对表进行了过分反范式化设计,这就容易造成了表中过多,虽然说Mysql允许为一个表建立很多,但是由于Mysql插件式架构原因,前面博客已经有介绍,Mysql服务器层和存储引擎层是分离Mysql存储引擎API工作时需要把服务器层和存储引擎层之间通过缓冲格式来拷贝数据,然后在服务器层将缓冲层
转载 2023-07-31 22:25:34
139阅读
想进大厂,mysql不会那可不行,来接受mysql面试挑战吧,看看你能坚持到哪里?能说下myisam 和 innodb区别吗?myisam引擎是5.1版本之前默认引擎,支持全文检索、压缩、空间函数等,但是不支持事务和行级锁,所以一般用于有大量查询少量插入场景来使用,而且myisam不支持外键,并且索引和数据是分开存储。innodb是基于聚簇索引建立,和myisam相反它支持事务、外键,并
目录CONCAT 和 CONCAT_WS 和 GROUP_CONCATMySQL CONCAT函数MySQL CONCAT_WS函数:使用分隔符连接字符串GROUP_CONCAT函数CONCATCONCAT_WS 和 GROUP_CONCAT可以使用MySQL  CONCAT和CONCAT_WS函数将两个或多个字符串连接在一起。要连接两个或多个引用字符串值,请将字符串放在一
转载 2023-08-18 19:35:54
181阅读
原标题:技术分享:优雅数据库ID设计自增ID这种方式用起来最简单,也是很多程序员喜欢用方式。使用方法:mysql有auto_increment;oracle里有sequence这种方式缺点很明显,容易被探测,假设我是一个博客系统,某一遍文章id=10,那么显示在浏览器上地址大概是这样子:www.xxxx.com/article?id=10,对于有点程序经验人来说,他就会直接在浏览器上打
实例:现在我们想查出满足以下条件用户id: mysql>SELECT `uid` FROM people WHERE `lname`=`Liu`  AND`fname`=`Zhiqun` AND `age`=26 因为我们不想扫描整表,故考虑用索引。 1.单列索引: ALTER TABLE people ADD INDEX lname (lname); 将lname建索引,这样
背景今天在配合其他项目组做系统压测,过程中出现了偶发死锁问题。分析代码后发现有复合主键update情况,更新复合主键表时只使用了一个字段更新,同时在事务内又有对该表insert操作,结果出现了偶发死锁问题。比如表t_lock_test中有两个主键都为primary key(a,b),但是更新时却通过update t_lock_test .. where a = ?,然后该事务内又有inse
转载 2023-08-23 14:48:41
146阅读
# MySQLnot in操作 在MySQL数据库中,我们经常需要对进行筛选和比较操作。有时候,我们需要查找某些不在另一个列表中记录。这时就可以使用`not in`操作符来实现这个功能。 ## 什么是not in操作符 `not in`操作符是用来从一个子查询结果中排除指定值。当我们需要筛选出某些不在一个给定列表中记录时,可以使用`not in`操作符来实现。 ##
原创 2024-06-04 05:25:32
104阅读
# MySQL IN 查询详解 在使用 MySQL 进行数据查询时,`IN` 是一个非常实用关键词。它可以用于快速判断某一字段值是否在指定一组值中。虽然 `IN` 主要用于单列查询,但我们也可以将其扩展到查询,创造出更为灵活复杂数据筛选方式。 ## 什么是 IN 查询? ** IN 查询** 是指在一个 SQL 查询中,同时检查多个值是否匹配给定一组值。其基本
原创 8月前
133阅读
目录外键约束概念特点操作多表联合查询概念操作多表操作总结 外键约束概念特点定义一个外键时,需要遵守下列规则:主表必须已经存在于数据库中,或者是当前正在创建表。必须为主表定义主键。主键不能包含空值,但允许在外键中出现空值。也就是说,只要外键每个非空值出现在指定主键中,这 个外键内容就是正确。在主表表名后面指定列名或列名组合。这个组合必须是主表主键或候选键。外键中
转载 2024-06-15 15:28:08
73阅读
# MySQL NOT IN 实现方法 在我们日常开发中,处理数据条件筛选是非常常见一项任务。MySQL 数据库中,使用 `NOT IN` 语句可以帮助我们快速排除不需要数据。对于数据判断,我们需要特别注意如何组合多个条件。本文将带您一起探讨如何在 MySQL 中实现 `NOT IN`,并通过步骤和代码示例帮助您掌握这个技能。 ## 流程概述 在开始之前,我们先了解一
原创 8月前
44阅读
# MySQL IF实现指南 在数据库管理和操作中,条件判断是常见需求。`IF`函数在MySQL中允许我们根据条件结果,返回不同值。对于初学者而言,理解如何在中使用`IF`函数可能会有些困惑。本文将详细讲解如何在MySQL中实现“IF操作,帮助你掌握这一技能。 ## 流程概述 在开始实现之前,我们需要先了解整个流程,以下是使用`IF`函数处理步骤: | 步骤
原创 2024-08-22 06:59:26
57阅读
Mysql 避免插入重复数据在日常开发中,肯定会碰到很多业务会有批量插入值,数据源可能是其他数据库表,也可能是Excel。那么问题来了,是不是每次插入之前都要查一遍,看看重不重复,在代码里筛选一下数据,重复就过滤掉呢?向大数据数据库中插入值时,还要判断插入是否重复,然后插入。那么如何提高效率呢?看来这个问题不止我一个人苦恼过。解决办法有很多种,不同场景解决方案也不一样,数据量很小情况下,
转载 2023-11-02 16:14:44
53阅读
什么是索引?索引用来快速地寻找那些具有特定值记录,所有MySQL索引都以B-树形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表所有记录,直至找到符合要求记录。表里面的记录数量越多,这个操作代价就越高。如果作为搜索条件列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在位置。所有的MySQL类型能被索引。在相关列上使用索引是
转载 2022-06-02 01:00:51
438阅读
# 创建MySQL索引指南 在数据库中,索引大大提高了查找数据速度,特别是当你需要经常在多个列上进行查询时。为了帮助你更好地理解如何在MySQL中创建索引,本文将提供一系列详细步骤,并附上相关代码示例。 ## 流程概述 下面的表格展示了创建索引基本流程: | 步骤 | 描述 | |------|-------------
原创 2024-10-10 03:51:03
29阅读
视图(了解)什么是视图"""视图就是通过查询得到一张虚拟表,然后保存下来,下次可以直接使用其实视图也是表"""为什么要用视图"""如果要频繁操作一张虚拟表(拼表组成),你就可以制作成视图 后续直接操作"""如何操作# 固定语法create view 表名 as 虚拟表查询sql语句drop view 表名# 具体操作create view teacher2course asselect *
                                                 整数型tinyint:迷你整形,一个字节保存数据,能
 单列索引范围查询   对于单列索引,索引值区间可以方便以相应WHERE从句中条件来表示,所以我们谈论范围查询而不是“间隔”。 对于单列索引,范围查询条件定义为如下几种情况: 1、对于所有的B+树和哈希索引,使用键和一个常量通过=、<=>、IN()、IS NULL,或者IS NOT NULL等操作符来比较。 2、另外,对于B
转载 2024-07-29 17:01:17
86阅读
  • 1
  • 2
  • 3
  • 4
  • 5