MySQL
文章平均质量分 74
热干面的日常学习
我觉得靓仔这个词听着很舒服,虽然我不是广东的
展开
-
六、常用的sql语句
1.sql语句的分类DDL:表的创建,删除,修改DML:数据的插入,删除,修改DQL:数据的查询DCL:数据控制语言,grant,revoke2.主键、外键、候选键、超键主键:作表的行的惟一标识的候bai选关键字。一个表只有一个主关键字; 主键可以由一个字段,也可以由多个字段组成,分别成为单字段主键或多字段主键外键:用于关联其他数据表的关系键候选键:不含有多余属性的超键称为候选键超键:在数据表中能唯一标识数据行属性的集合超键3.sql约束主键约束非空约束唯一约束外键约束原创 2021-03-02 20:23:00 · 144 阅读 · 0 评论 -
五、视图、存储过程与函数、触发器
1.视图1.视图简介 基于 SQL 语句的结果集的可视化的虚拟表,视图中的字段就是来自一个或多个数据库中的真实的表中的字段;CREATE VIEW view_name ASSELECT column_name(s)FROM table_nameWHERE condition2.视图的特点1、简单:因为视图是查询语句执行后返回的已经过滤好的复合条件的结果集,所以使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件。2、安全:使用视图的用户只能访问他们被允许查询的结果集,对于原创 2021-03-02 20:22:13 · 164 阅读 · 0 评论 -
四、锁
1.什么是锁锁用于控制并发机构,防止其他事务访问指定的资源控制。事务对某个数据库中的资源存取前,先向系统提出,封锁该资源以后获取对该资源的控制权,释放锁之前,其他事务不可以对该资源做出更改。2.隔离级别和锁的关系3.锁的类别按数据操作的类型分类:读锁(共享锁)和写锁(排他锁)按数据操作的粒度来分:表锁:开销小,加锁快,并发性差,读锁会阻碍写操作,写锁会阻碍读写操作;页锁:开销、加锁时间和锁粒度介于表锁和行锁之间,会出现死锁,并发处理能力一般;行锁:粒度小,冲突概率低,加锁慢,开销大;原创 2021-03-02 20:20:52 · 81 阅读 · 0 评论 -
三、索引
1.什么是索引索引(Index)是帮助MySQL高效获取数据的数据结构2.索引的底层数据结构MySQL中索引是B+树实现的,每个索引都对应一棵B+树。一个深度为3的B+Tree索引可以维护10^3 * 10^3 * 10^3 = 10亿 条记录非叶子节点不存储data,只存储key(索引值),可增大度叶子节点不存储指针顺序访问指针,每个叶子节点都指向下一个叶子节点,提高区间访问的性能3.索引的优缺点优点:创建唯一性索引可以保证每一行数据的唯一性可以加快检索效率加速表与表之间的连原创 2021-03-02 20:20:10 · 102 阅读 · 0 评论 -
二、引擎和事务
1.引擎1.InnoDB和MyISAM的区别** MyISAM**InnoDB构成上区别每个MyISAM在磁盘上存储成三个文件。文件名为表名,扩展名为文件类型。.frm 文件存储表定义; .MYD(MYData) 数据文件的扩展名; .MYI(MYIndex) 索引文件的扩展名。基于磁盘的资源是InnoDB表空间数据文件和它的日志文件,InnoDB 表的大小只受限于操作系统文件的大小,一般为 2GB事务处理方面MyISAM类型的表强调的是性能,其执行速度比InnoDB类原创 2021-03-02 20:19:39 · 84 阅读 · 0 评论 -
一、数据库的范式、约束、格式、类型
1.数据库的三大范式范式:关系型数据库设计时的一些规范原则第一范式:数据表中每一列必须使不可拆分的最小单元,保证每一列的原子性;例如地址直接填写湖北省武汉市。。。事不满足第一范式的,因为地址可以才分成省,市,县等单元;两列的属性相近或者相似或者一样,要合并属性一样的列,减少数据冗余;[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6LkgTZEd-1614687506645)(C:\Users\chenyw\AppData\Roaming\Typora原创 2021-03-02 20:18:44 · 286 阅读 · 0 评论 -
Mysql 中 MyISAM 和 InnoDB 的区别
一、区别InnoDB 支持事务,MyISAM 不支持事务。这是 MySQL 将默认存储引擎从 MyISAM 变成 InnoDB 的重要原因之一;InnoDB 支持外键,而 MyISAM 不支持。对一个包含外键的 InnoDB 表转为 MYISAM 会失败;InnoDB 不保存表的具体行数,执行 select count(*) from table 时需要全表扫描。而MyISAM 用一个变量保存了整个表的行数,执行上述语句时只需要读出该变量即可,速度很快;InnoDB 最小的锁粒度是行锁,MyISA原创 2020-11-16 21:22:35 · 190 阅读 · 0 评论 -
MySQL的索引
1.为什么需要索引结构索引用于快速找出在某个列中有一特定值的行,不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的时间就越多,如果表中查询的列有一个索引,MySQL能够快速到达一个位置去搜索数据文件,而不必查看所有数据,那么将会节省很大一部分时间。2.MySQL索引的优缺点优点:所有的MySql列类型(字段类型)都可以被索引,也就是可以给任意字段设置索引,大大提高了数据的查询速度。缺点:创建索引和维护索引要耗费时间,并且随着数据量的增加所耗费的时间也会增原创 2020-11-12 09:48:55 · 56 阅读 · 0 评论 -
Mysql的四大特性(ACID)和隔离级别
一、事务的四大特性(ACID)ACID:atomicity+consistency+isolation+durability原子性:事务中的所有操作执行要么全部成功,如果失败,则全部回滚。一致性:事务必须使数据库由一个一致性状态转变为另一个一致性状态,例如转账问题,要保证金额总数不变。隔离性:多个用户并发访问数据库时,数据库为每一个用户开启的事务不被其他用户的事务所干扰,多个并发事务之间相互隔离。持久性:事务一旦被提交,对数据库做出的改变是永久的。二、多线程导致的问题当多个线程都开始事务操原创 2020-10-28 15:29:40 · 369 阅读 · 0 评论