mysql
文章平均质量分 83
vawterchen
搬砖写bug
展开
-
mysql数据类型——字符串char(m)和varchar(m)
char(m) 定长字符串类型 非 Unicode 字符varchar(m) 变长字符串类型 非 Unicode 数据说明:M为最大可存储字节数,汉字占两个字节,通过指定m,来限制存储的最大字符数长度,char(20)和varchar(20)将最多只能存储20个字符,超过的字符将会被截掉。m必须小于该类型允许的最大字符数。一 char(m)类型Char(m) 最大字节数...转载 2019-10-30 11:53:59 · 1215 阅读 · 0 评论 -
MySql系列六:MySQL索引详解
一、索引介绍1.1 什么是索引?索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构,类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取即可。1.2 为什么要有索引?索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。索引优化应该是对查询性能优化最有效的手段了。索引能够轻易将查询性能提高好几个数量级。1.3 索引的优缺点优点: 极大的提高检索数据的速度,减少IO次数; 创建唯一索引,原创 2020-06-08 20:08:48 · 1549 阅读 · 0 评论 -
MySql系列五:SQL语句 的执行顺序
了解一个sql语句的执行顺序,可以让我们清楚到sql执行时的操作顺序,进而有利于我们更好的优化自己的sql语句,提升程序性能。原创 2020-06-02 10:04:36 · 277 阅读 · 0 评论 -
MySql系列四:MySQL 基础架构
目录Server层和存储引擎层Server层一、连接器二、查询缓存三、分析器四、优化器五、执行器Server层和存储引擎层为了方便理解,先看一下Mysql的基本架构示意图,可以把 MySQL 拆解成几个零件大致上来说,MySQL 可以分为Server层和存储引擎层。Server 层包括连接器、查询缓存、分析器、优化器、执行器,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图,内置函数(日期,时间,数学和加密函数等)等,还有一个通用的日志模块 ..原创 2020-06-01 12:19:09 · 206 阅读 · 0 评论 -
MySql系列三:常见存储引擎及区别
MySQL 常见的存储引擎可以使用命令SHOW ENGINES来列出所有的存储引擎可以看到,InnoDB 是 MySQL(5.5.5版本之后) 默认支持的存储引擎,支持事务、行级锁定和外键。MyISAM 存储引擎的特点在5.5.5版本及之前的版本,MyISAM 是 MySQL 的默认存储引擎,MyISAM 并发性比较差,使用的场景比较少,主要特点是不支持事务:ACID 的特性也就不存在了,这一设计是为了性能和效率考虑的; 不支持外键但支持全文索引:如果强行增加外键,MySQL...原创 2020-05-27 10:51:24 · 405 阅读 · 0 评论 -
MySql系列二:事务四大特性及隔离级别
mysql四大特性:原子性(Atomicity)、一致性(Consistency)、持久性(Durability)、隔离性(Isolation)。原子性(Atomicity)原子性指的就是 MySQL 中的包含事务的操作要么全部成功、要么全部失败回滚,因此事务的操作如果成功就必须要全部应用到数据库,如果操作失败则不能对数据库有任何影响。这里涉及到一个概念,什么是 MySQL 中的事务?事务是一组操作,组成这组操作的各个单元,要不全都成功要不全都失败,这个特性就是事务。在 MySQL 中.原创 2020-05-24 19:24:15 · 263 阅读 · 0 评论 -
MySql系列一:关系型数据库和非关系型数据库比较
非关系型数据库称为 NoSQL,也就是 Not Only SQL,不仅仅是 SQL。非关系型数据库不需要写一些复杂的 SQL 语句,其内部存储方式是以 key-value 的形式存在,可以把它想象成电话本的形式,每个人名(key)对应电话(value)。常见的非关系型数据库主要有 Hbase、Redis、MongoDB 等。非关系型数据库不需要经过 SQL 的重重解析,所以性能很高;非关系型数据库的可扩展性比较强,数据之间没有耦合性,遇见需要新加字段的需求,就直接增加一个 key-value 键原创 2020-05-22 16:35:07 · 908 阅读 · 0 评论 -
Mysql批量插入时重复数据问题
之前写的代码批量插入遇到了问题,原因是有重复的数据(主键或唯一索引冲突),所以插入失败。现在总结一下如何解决批量插入数据重复问题。三种方法:insert ingnore into:若没有则插入,若存在则忽略insert into ... on duplicate key update:若没有则正常插入,若存在则更新`replace into:若没有则正常插入,若存在则先删除后插入注意...转载 2020-04-15 16:31:57 · 2015 阅读 · 0 评论 -
Mysql中数据类型括号中的数字代表的含义
我们平时用sql语句建数据库的时候,总是会写到int(11),varchar(200)。但是括号里面的值具体代表什么意思呢?今天被问到,然而彻底懵逼,在查阅了网上的资料后发现:int(1),这个长度1并不代表允许存储的宽度首先查找一个整数类型存储和范围:类型字节范围(有符号)范围(无符号)TINYINT1(-128,127)(0,255)SMALLIN...翻译 2019-10-30 11:27:26 · 2039 阅读 · 0 评论