MySql
文章平均质量分 75
在人间负债^
是微风,是晚霞,是无可替代
展开
-
MySql 数据库【数据库设计的三范式】
张三” 依赖 1001,“王老师” 依赖 001,产生了部分依赖。满足:因为主键不是复合主键,没有产生部分依赖。一年一班依赖 01,01 依赖 1001,产生了传递依赖。学生编号+教师编号,两个字段联合起来做主键,复合主键。最核心,最重要的范式,所有表的设计都需要满足。多对多,三张表,关系表两个外键!一对多,两张表,多的表加外键!分析以上的表是否满足第一范式?以上学生表,满足第一范式吗?分析以上表是否满足第一范式?分析以上表是否满足第二范式?分析以上表是否满足第三范式?不满足:产生了传递依赖。原创 2022-09-17 09:54:02 · 271 阅读 · 0 评论 -
MySql 数据库【视图】
视图:viewview :站在不同的角度去看待同一份数据。原创 2022-09-16 08:08:39 · 124 阅读 · 0 评论 -
MySql 数据库【索引】
索引是在数据库表的字段上添加的,是为了提高查询效率存在的一种机制。一张表的一个字段可以添加一个索引,当然,多个字段联合起来也可以添加索引。索引相当于一本书的目录,是为了缩小扫描范围而存在的一种机制。索引相当于一本书的目录通过索引查询的方式被称为索引查询。在 mysql 数据库当索引也是需要排序的,并且这个索引的排序和 TreeSet 数据结构相同。TreeSet(TreeMap)底层是一个自平衡二叉树!在 mysql 当中索引是一个 B-Tree 数据结构。遵循左小右大原则存放。原创 2022-09-15 11:06:57 · 552 阅读 · 0 评论 -
MySql 数据库【事务】
一个事务就是一个完整的业务逻辑。什么是一个完整的业务逻辑?假设转账,从A账户向B账户中转账10000.将A账户的钱减去10000 ( update语句)将B账户的钱加上10000 ( update语句)这就是一个完整的业务逻辑。以_上的操作是-一个最小的工作单元,要么同时成功,要么同时失败,不可再分。这两个update语句要求必须同时成功或者同时失败,这样才能保证钱是正确的。仅有 DML (insert、delete、update)才会有事务一说,其他语句与事务无关!!!原创 2022-09-14 10:30:17 · 160 阅读 · 0 评论 -
MySql 数据库【存储引擎】
特征:使用三个文件表示每个表格式文件 - 存储表结构的定义(mytable.frm)数据文件 - 存储表行的内容(mytable.MYD)索引文件 - 存储表上索引(mytable.MYI):索引是一本书的目录,可以缩小扫描范围,提供查询效率。优点:由于表由三个文件来存储因此可以被压缩、只读来存储空间缺点:不支持事务,安全性低对于一张表来说,如果添加 unique 约束,在被约束的字段上就会自动创建索引。原创 2022-09-13 10:53:39 · 226 阅读 · 0 评论 -
MySql 数据库【约束】
约束对应的英语单词:constraint在创建表的时候,我们可以给表中的字段加上一些约束,来保证表中的数据的完整性、有效性!!!约束的作用就是为了保证:表中的数据有效!!主键值是每一行记录的唯一标识主键值是每一行记录的身份证号!!!记住:任何一张表都应该有主键,没有主键,表无效!!!主键的特征:not null + unique(主键值不能是 NULL,同时也不能重复)原创 2022-09-12 10:46:17 · 680 阅读 · 0 评论 -
MySql 数据库【表】
insert 语句中的字段名可以省略,省略的话默认是全部写上了,所以按照一一对应原则,values 中的值要全部写上。建表属于 DDL 语句,DDL 语句包括:create、drop、alter…str_to_date 将字符串类型的日期转换成 date 类型的日期。往 BLOB 类型的字段上插入数据的时候,例如插入一个图片、视频等。注意:如果没有限制条件,会导致所有的数据全部进行更新。注意:如果没有条件,整张表的数据都会被删除。使用不恰当的时候,可能会导致空间的浪费。表创建出来,同时表中的数据也存在了!原创 2022-09-11 11:52:18 · 610 阅读 · 0 评论 -
MySql 数据库【Union、Limit】
但是 union 可以减少匹配的次数。在减少匹配次数的情况下,还可以完成两个结果集的拼接。limit 作用:将查询结果集的一部分取出来。注意:mysql 中 limit 在 order by 之后执行!对于表的连接,每一次连接新表,则匹配的次数满足笛卡尔积,成倍的翻…使用 union 的话:100 + 100 --> 200。a 连接 b 一个结果:10 * 10 --> 100。a 连接 c 一个结果:10 * 10 --> 100。按照薪资降序,取出排名在前5名的员工?2:从第三个开始(下标从0开始)原创 2022-09-10 10:03:08 · 264 阅读 · 0 评论 -
MySql 数据库【子查询】
select 语句中嵌套 select 语句,被嵌套的 select 语句称为子查询。原创 2022-09-09 11:42:15 · 227 阅读 · 2 评论 -
MySql 数据库【连接查询】
从一张表中单独查询,称为单表查询。跨表查询,多张表联合其来查询,称为连接查询。原创 2022-09-08 08:45:31 · 351 阅读 · 0 评论 -
MySql 数据库【分组查询】
where 和 having,优先选择 where,不能使用 where 再使用 having。having 必须要和 group by 联合使用。可以对分完组之后的数据进一步过滤。原创 2022-09-07 11:38:57 · 1138 阅读 · 0 评论 -
MySql 数据库【函数】
分组函数在使用的时候必须先进行分组再使用,如果没有进行分组,则默认认为整张表为一组。数据处理函数又被称为单行处理函数,单行处理函数的特点:一个输入对应一个输出。和单行处理函数相对应的是多行处理函数(多个输入,一个输出)。substr(被截取的字符串, 起始下标, 截取长度);多行处理函数特点:输入多行,最终输出一行。注意:起始下标从 1 开始,没有 0。分组函数又称为多行处理函数。100 以内的随机数。原创 2022-09-06 07:53:57 · 111 阅读 · 0 评论 -
MySql 数据库【查询、排序】
在所有的数据库中,字符串统一使用单引号括起来,单引号是标准,双引号在oracle数据库中使用不了。使用 as 关键字,对查询的列起别名,只是将显示查询列名显示为别名,不影响原数据库。select 字段1, 字段2, …注意:select 和 from 都是关键字。查询多个字段时,字段与字段之间使用 “,” (逗号)隔开。select 字段1 , 字段2 from 表名;like:模糊查询,支持 % 或下划线匹配。下划线:一个下划线只匹配一个字符。in:包含,相当于多个or。not in:不包含。原创 2022-09-05 10:20:46 · 703 阅读 · 0 评论 -
MySql 数据库【数据库概述及数据准备】
数据库:英文单词DataBase,简称DB。按照一定格式存储数据的一些文件的组合。顾名思义:存储数据的仓库,实际上就是一堆文件。这些文件中存储了具有特定格式的数据。数据库管理系统:英文单词DataBaseManagement,简称DBMS。数据库管理系统是专门用来管理数据库中数据的,数据库管理系统可以对数据库中的数据进行管理(增删改查)。常见的数据库管理系统:MySql、Oracle、MS、SqlServer、DB2、sybase等…SQL:结构化查询语言。原创 2022-09-04 12:20:13 · 260 阅读 · 0 评论