MySQL学习笔记
文章平均质量分 54
弹铁蛋同学
更多优质有趣的前端技术文章。公众号:前端铁蛋
展开
-
MySQL索引的意义
MySQL索引的意义索引几乎所有的索引都建立在字段上 索引:系统根据某种算法,将已有的数据(未来可能新增的数据),单独建立一个文件:文件能够实现快速的匹配数据,并且能够快速的找到对应表中的记录索引的意义:1.提升查询数据的效率 2.约束数据的有效性(唯一性等)增加索引的前提条件:索引本身会产生索引文件(有时候有可能比数据文件还大)会非常耗费磁盘空间如果某个字段需...原创 2018-09-04 09:24:47 · 591 阅读 · 0 评论 -
MySQL范式&逆范式化
范式Normal format,是一种离散数学中都知识,是为了解决一种数据的存储与优化的问题,保证数据的存储之后,凡是能够通过关系寻找出来的数据,坚决不再重复存储,其终极目标是为了减少数据的冗余。 范式:是一种分层结构的规范,分为六层:每一层都比上一层更加严格,若要满足下一层范式,前提示满足上一层范式六层范式 :1NF,2NF,3NF…..6NF,1NF是最底层,要求最低6NF最高层最严...原创 2018-09-06 08:20:40 · 554 阅读 · 0 评论 -
字段属性之主键&增删改查&自增长&唯一键约束
字段属性之主键&自增长&唯一键约束主键主键:primary key 主要的键 一张表中只有一个字段可以使用对应的键,用来唯一的约束该字段里面的数据,不能重复,这种称之为主键一张表只能最多一个主键增加主键SQL操作中有多种方式增加主键大体分为三种 1.在创建表的时候直接在字段之后跟primary key关键字(主键本身不允许为空)-- 增加主键Cre...原创 2018-09-03 09:22:45 · 885 阅读 · 0 评论 -
MySQL之列属性解析
MySQL之列属性解析列属性:真正约束字段的是数据类型,但是数据类型的约束很单一,需要一些额外的约束,来更加保证数据的合法性列属性有很多:NULL NOT NULL ,default,primary key , unique key,auto_increment,comment空属性 两个值:NULL,NOT NULL虽然默认的,数据库基本字段都为空,但是实际上在真实开发的时候,...原创 2018-09-02 14:56:25 · 196 阅读 · 0 评论 -
MySQL记录的长度
MySQL记录的长度Mysql中规定:任何一条记录最长不超过不超过65535个字节,(varchar永远达不到理论值)Varchar实际存储长度能达到多少呢?看字符集编码Utf8下的varchar的实际顶配 21844字符 Gbk下的varchar的实际顶配 32766字符-- 求出 varchar 在utf8和gbk下的实际最大值Create table my_ut...原创 2018-09-01 20:34:32 · 1067 阅读 · 0 评论 -
MySQL数据类型(列类型)
MySQL数据类型(列类型)所谓的数据类型:对数据进行统一的分类,从系统的角度出发是为了能够使用统一的方式进行管理;更好的利用有限的空间。SQL 中将数据类型分为了三大类:数值类型,字符串类型和时间类型数值型数值型数据:都是数值 系统将数值型分为整数型和小数型整数型存放整型数据: 在SQL中因为更多的要考虑如何节省磁盘空间,所以系统又将整型细分为了5类: Tinyi...原创 2018-09-01 16:28:26 · 1358 阅读 · 0 评论 -
MySQL校对集问题
MySQL校对集问题校对集:数据比较的方式校对集有三种格式_bin:binary,二进制比较,取出二进制位,一位一位的比较,区分大小写 _cs:case sensitive , 大小写敏感,区分大小写 _ci:case insensitice,大小写不敏感,不区分大小写查看数据库所支持的校对集-- 查看所有校对集Show collation; 校对集应...原创 2018-09-01 16:06:51 · 518 阅读 · 0 评论 -
MySQL数据操作增删改查
MySQL数据操作增删改查新增数据有两种方案 方案1:给全表字段插入数据,不需要指定字段列表:要求数据的值出现的殊勋必须与表中设计的字段出现的顺序一致;凡是非数值数据,都需要使用引号(建议是单引号)包裹Insert into 表名 values(值列表)[(值列表)]; --可以一次插入多条记录-- 插入数据Insert into my_student valu...原创 2018-09-01 15:52:28 · 553 阅读 · 0 评论 -
MySQL中文数据问题&字符集问题
MySQL中文数据问题中文数据问题本质是字符集问题计算机只识别二进制;人类更多的是识别符号;需要有个二进制与字符的对应关系(字符集)-- 插入中文数据Insert into my_student values (‘5’,’itcast0005’,’张越’,’男’); 客服端向服务器插入中文数据:没有成功 的原因: 乱码代表的是‘张越’在当前编码(字符集)下对应的二进制编码转换...原创 2018-09-01 15:59:21 · 268 阅读 · 0 评论 -
MySQL表&字段操作增删改查
数据库的表操作表与字段是密不可分的新增数据表Create table 表名[if not exists](字段名字 数据类型 ,字段名字 数据类型 --最后一行不需要逗号)[表选项];If not exists : 如果表明不存在,那么就创建,否则不执行穿件代码;检查功能 表选项: 控制表的表现 字符集: charset/character set 具体字...原创 2018-09-01 15:25:57 · 1181 阅读 · 0 评论 -
MySQL数据库操作【增删改查】
MySQL库操作对数据库的增删改查1.新增数据库基本语法 Create database 数据库名字 [库选项]库选项:用来约束数据库,分为两个选项 字符集设定 : charset/character set 具体字符集(数据存储的编码格式):常用字符集:GBK和UTF8 校对集设定:collate 具体校对集(数据比较的规则)–双中划线:注释(单行注释),也可以使用#号...原创 2018-09-01 14:59:05 · 272 阅读 · 0 评论 -
MySQL服务器对象
Mysql服务器对象没有办法完全了解服务器内部的内容;只能粗略的去分析数据库服务器的内部的结构。将mysql服务器内部对象分成了四层:系统(DBMS)->数据库(DB)->数据表*(table)->字段(filed) ...原创 2018-09-01 14:48:15 · 245 阅读 · 0 评论 -
MySQL数据库连接操作
Mysql数据库 Mysql:数据库是一种c/s结构的软件:客户端/服务器。若想访问服务器必须通过客户端(服务器一直运行,客户端在需要使用的时候运行)。交互方式 1.客户端连接认证:连接服务器,认证身份2.发送SQL指令 3.服务器接受SQL指令:处理SQL指令:返回操作结果 4.客户端接受结果:显示结果5.断开连接(释放资源:服务器并发限制):exit /quit/ \q...原创 2018-09-01 14:44:42 · 358 阅读 · 0 评论 -
Mysql学习笔记之数据库基本理解
数据库mysql学习笔记基础阶段:数据库的基本操作(增删改查),以及一些高级操作(视图、触发器、函数、存储过程等) 优化阶段:如何提高数据库效率、如索引,分表等 部署阶段:如何搭建真实的环境系统,如服务器集群,负载均衡基础阶段1.什么是数据库? 数据库:database,存储数据的仓库。 数据库:高效的存储和处理数据的介质(介质主要是两种:磁盘和内存RAM)2.数据库的分类...原创 2018-09-01 11:03:25 · 405 阅读 · 0 评论 -
MySQL关系&一对多&一对一&多对多
MySQL关系&一对多&一对一&多对多关系将实体与实体的关系,反应到最终数据库表的设计上,将关系分为三种:一对一,一对多(多对一)和多对多,所有的关系都是表与表之间的关系一对一 一对一:一张表的一条记录只能与另外一条记录进行对应,反之亦然学生表:姓名,性别,年龄,体重,身高,婚姻状况,籍贯,家庭地址,紧急联系人 Id(P) 姓名 性别 年龄 ...原创 2018-09-04 09:34:36 · 11953 阅读 · 1 评论 -
MySQL新增数据、主键冲突、蠕虫复制
新增数据标准语法Insert into 表名 [(字段列表)]values(值列表);在数据插入的时候,假设主键对应的值已经存在:插入一定会失败!主键冲突当主键存在冲突的时候(duplicate key)可以选择性的进行处理,更新和替换主键冲突:更新操作Insert into 表名[(字段列表:包含主键)] values(值列表)on duplicate key update 字段=...原创 2018-09-30 14:51:37 · 853 阅读 · 0 评论