MySQL
文章平均质量分 91
学习MySQL
momo小菜pa
momo
展开
-
【MySQL 10】索引
当MySQL需要读取数据时,它首先会检查其内存中的缓存池,如果所需数据不在缓存池(Buffer Pool)中,MySQL会向操作系统发出请求,操作系统随后从磁盘中读取数据,OS向磁盘中读取数据到文件缓冲区中,直到16KB,然后MySQL从文件系统缓存中将其复制到其内部的缓存池中。磁盘是计算机中的一个机械设备,相比于计算机其他电子元件,磁盘效率是比较低的,在加上IO本身的特征,可以知道,如何提交效率,是 MySQL 的一个重要话题。0和1的表示:在机械磁盘中,0和1是通过磁盘表面磁性材料的磁场方向来表示的。原创 2024-10-10 16:12:44 · 1057 阅读 · 4 评论 -
【MySQL 09】表的内外连接
但是从上表可以看出,并不是每个学生都有成绩,但是我们也是要把没有成绩的学生也显示出来。由于员工名字在emp中,部门名称在dept中,因此我们需要对两表先做笛卡尔积,形成一张大的表,再从大的表中筛选出符合条件的。对stu表和exam表联合查询,把所有的成绩都显示出来,即使这个成绩没有学生与它对应,也要显示出来。我们理解了左外连接,那么右外连接也就能理解了,就是以右表为主,左边表没有符合条件的,那么就填NULL。可见内连接,只显示两表交集部分,因为只有1号和2号学生才有成绩,所以只显示1,2。原创 2024-10-05 13:49:12 · 1061 阅读 · 1 评论 -
【MySQL 08】复合查询
数学上,有两个集合A={a,b},B={1,2,3},则两个集合的笛卡尔积={{a,1}, {a,2}, {a,3}, {b,1}, {b,2}, {b,3}} 列出所有情况,一共是2*3=6条记录;原创 2024-10-04 17:16:17 · 1296 阅读 · 3 评论 -
【MySQL 07】内置函数
函数被用来生成一个介于 0 和 1 之间的随机浮点数。这个数是一个大于或等于 0 且小于 1 的数,其精度可以达到小数点后很多位。要求显示exam_result表中的信息,显示格式:“XXX的语文是XXX分,数学XXX分,英语XXX分”函数将转换后的小写首字母与剩余的姓名部分连接起来,形成新的字符串。如果条件为假(FALSE),则返回第二个值。函数是MySQL中用于将字符串转换为小写的标准函数。列中提取从第二个字符开始到末尾的所有字符。,则返回第一个参数的值;列中提取每个员工姓名的第一个字符。原创 2024-10-03 13:22:28 · 1059 阅读 · 1 评论 -
【MySQL 06】表的增删查改
这种语句非常有用,特别是当你需要将一个表中的数据复制到另一个表中,或者需要将多个表的数据合并到一个表中时。如果你不指定更新的字段,那么就是用之前的值,在这里并没有指定sn,那么sn就使用原来的值。建议:对未知表进行查询时,最好加一条 LIMIT 1,避免因为表中数据过大,查询全表数据导致数据库卡死。将表中所有数据全部读出来,但在数据庞大的场景下不会这么使用,如公司的数据库中。注意:没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序。像这样,不进行分组,查的就是全公司的情况了。原创 2024-10-02 17:43:39 · 1583 阅读 · 1 评论 -
【MySQL 05】表的约束
换句话说,主键列的值必须是唯一的,不能重复,并且表中的每一行都必须有一个主键值(尽管这个值可以是NULL,但在实际使用中,通常不会将主键设置为允许NULL,因为这样会失去主键的唯一性意义)。默认值:某一种数据会经常性的出现某个具体的值,可以在一开始就指定好,在需要真实数据的时候,用户可以选择性的使用默,使用关键字default。我们可以简单理解成,主键更多的是标识唯一性的。给student插入数据,我们选择课程id为1,2的时候,是可以插入成功的,插入其它id号,就会发生外键约束,MySQL拦截此操作。原创 2024-09-25 15:14:14 · 875 阅读 · 4 评论 -
【MySQL 04】数据类型
而且出于效率考虑,这些值实际存储的是“数字”,因为这些选项的每个选项值依次对应如下数字:1,2,4,8,16,32,....最多64个。在不同的编码下,字符所占的字节数都是不固定的:UTF-8 编码的字符可能占用1到4个字节,而 GBK 编码的字符大多数情况下占用2个字节,但也可能占用更多或更少的字节。有一个调查表votes,需要调查人的喜好, 比如(登山,游泳,篮球,武术)中去选择(可以多选),(男,女)[单选]类型提供精确的小数表示,这意味着它可以存储的数值具有完全的可预测性和准确性,不会有。原创 2024-09-24 16:18:12 · 855 阅读 · 5 评论 -
【MySQL 03】表的操作
这样我们就创建好了一张表,我们可以进入hellosql目录下进行查看:所以在数据库内建立表,本质就是在Linux下创建对应的文件。不同的存储引擎,创建表的文件不一样。因为这样改是覆盖之前的,所以在修改的时候记得重新加上描述。实际就是先删除整张表,然后重新创建这个表,以达到清空数据的效果。存储引擎不同,表结构数量也不一样,未来会对索引和事务造成影响。这样的显示看着很不舒服,;after 后面表示放在指定字段的后面。原创 2024-09-22 22:22:59 · 563 阅读 · 1 评论 -
【MySQL 02】库的增删查改及备份还原
可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能的数据库被人入侵了。如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原。选择合适的字符集可以确保数据库能够支持所需的字符范围,而选择合适的校验规则则决定了数据库中字符数据的排序和比较方式。将指定数据库备份到指定的路径下,该操作不仅备份数据,而且将该数据库下进行的所有的有效操作都进行了备份。如果备份的不是整个数据库,而是其中的一张表,怎么做?原创 2024-09-22 16:14:33 · 1332 阅读 · 0 评论 -
【MySQL 01】数据库基础
数据库管理系统(如MySQL)提供了一套高级接口(如SQL语言),mysqld就会根据SQL语言,在数据库文件中给用户做增删查改,最后将结果返回给mysqld,mysqld再将结果交给用户。(eg:比如我想在百万行的IP地址中,找出所有以127开头的IP地址,这种情况下,数据库只需要给出指定的命令就可以了,但是文件操作并没有这么方便)MySQL的默认端口号是3306,如果您使用的是默认端口号,也可以省略这个选项。一般指的是,在磁盘或者内存中存储的特定结构组织的数据--将来在磁盘上存储的一套数据库方案。原创 2024-09-21 23:30:20 · 1283 阅读 · 5 评论
分享