fsoooo Blog

内不欺己,外不欺人,上不欺天。君子所以慎独。

Mysql学习笔记 数据库基本原理

###1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。 〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应...

Mysql学习笔记 数据库三范式

1NF:字段不可分; 2NF:有主键,非主键字段依赖主键; 3NF:非主键字段不能相互依赖; 解释: 1NF:原子性 字段不可再分,否则就不是关系数据库; 2NF:唯一性 一个表只说明一个事物; 3NF:每列都与主键有直接关系,不存在传递依赖; 1.第一范式 第一范式规定表中的每个列都应该是不可分割的最小单元。比如以下表中的 address 字段就不是不可分割的最小...

Mysql学习笔记 执行过程和执行顺序

MySQL服务端是如何处理请求的,又是如何执行SQL语句的? 下面来学习一下。 ###连接器 连接器的主要职责就是: 1、负责与客户端的通信,是半双工模式,这就意味着某一固定时刻只能由客户端向服务器请求或者服务器向客户端发送数据,而不能同时进行,其中MySQL在与客户端连接TC/IP的。 2、验证请求用户的账户和密码是否正确,如果账户和密码错误,会报错:Access denie...

Mysql学习笔记 性能优化之高阶神技

一、前言 MySQL调优对于很多程序员而言,都是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰。 在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器能够按照预想的合理方式运行而已。 今天给大家讲解MySQL的优化实战,助你高薪之路顺畅! 二、优化的哲学 注意:优化有风险,涉...

Mysql学习笔记 怎么写出更好的sql(二)

##MySQL 性能 ①最大数据量 抛开数据量和并发数,谈性能都是耍流氓。 MySQL 没有限制单表最大记录数,它取决于操作系统对文件大小的限制。 《阿里巴巴 Java 开发手册》提出单表行数超过 500 万行或者单表容量超过 2GB,才推荐分库分表。 性能由综合因素决定,抛开业务复杂度,影响程度依次是硬件配置、MySQL 配置、数据表设计、索引优化。 ...

Mysql学习笔记 怎么写出更好的sql

###1.查询 SQL 尽量不要使用 select *,而是 select 具体字段 反例子: select * from employee; 正例子: select id,name from employee; 理由如下: 只取需要的字段,节省资源、减少网络开销。 select * 进行查询时,很可能就不会使用到覆盖索引了,就会造...

Mysql学习笔记 如果要存ip地址,用什么数据类型比较好

当存储IPv4地址时,应该使用32位的无符号整数(UNSIGNED INT)来存储IP地址,而不是使用字符串。  相对字符串存储,使用无符号整数来存储有如下的好处: 节省空间,不管是数据存储空间,还是索引存储空间 便于使用范围查询(BETWEEN…AND),且效率更高 通常,在保存IPv4地址时,一个IPv4最小需要7个字符,最大...

Mysql学习笔记 双引号踩坑

由于开发需要在生产环节中修复数据,需要执行120条SQL语句,需要将数据进行更新,于是开发连上了生产数据库,首先执行了第一条SQL update tablename set source_name = "bj1062-北京市朝阳区常营北辰福第"   where source_name =     "-北京市朝阳区常营北辰福第" 仔细看了下,这个SQL,的确没有什么问题,where...

Mysql学习笔记 单引号、双引号

假如有下述表格 mytabe 字段1 username 字符串型(姓名) 字段2 age 数字型(年龄) 字段3 birthday 日期型(生日) 字段4 marry 布尔型(是否结婚,结婚为True,未结婚为False) 字段5 leixing 字符串型(类型) 插入字符串型假如要插...

Mysql学习笔记 删除重复数据只保留一条

有这样一张表,表数据及结果如下: 可以看出,school_name的字段值有重复数据(Abraham Lincoln High School 和Agoura High School分别出现两次),那么如何删除这两条数据,从而只让这两个数值出现一次呢? //删除重复记录,保存Id最小的一条 delete FROM `test` WHERE `school_name` in (S...