马哥教育N48-第十四周作业

1、 导入hellodb.sql生成数据库
[root@centos7 ~]#mysql < hellodb.sql
[root@centos7 ~]#mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 7
Server version: 5.5.68-MariaDB MariaDB Server

Copyright © 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

MariaDB [(none)]> show databases;
±-------------------+
| Database |
±-------------------+
| information_schema |
| hellodb |
| mysql |
| performance_schema |
| test |
±-------------------+
5 rows in set (0.00 sec)

(1) 在students表中,查询年龄大于25岁,且为男性的同学的名字和年龄
MariaDB [(none)]> use hellodb;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [hellodb]> show tables;
±------------------+
| Tables_in_hellodb |
±------------------+
| classes |
| coc |
| courses |
| scores |
| students |
| teachers |
| toc |
±------------------+
7 rows in set (0.00 sec)

MariaDB [hellodb]> select * from students;
±------±--------------±----±-------±--------±----------+
| StuID | Name | Age | Gender | ClassID | TeacherID |
±------±--------------±----±-------±--------±----------+
| 1 | Shi Zhongyu | 22 | M | 2 | 3 |
| 2 | Shi Potian | 22 | M | 1 | 7 |
| 3 | Xie Yanke | 53 | M | 2 | 16 |
| 4 | Ding Dian | 32 | M | 4 | 4 |
| 5 | Yu Yutong | 26 | M | 3 | 1 |
| 6 | Shi Qing | 46 | M | 5 | NULL |
| 7 | Xi Ren | 19 | F | 3 | NULL |
| 8 | Lin Daiyu | 17 | F | 7 | NULL |
| 9 | Ren Yingying | 20 | F | 6 | NULL |
| 10 | Yue Lingshan | 19 | F | 3 | NULL |
| 11 | Yuan Chengzhi | 23 | M | 6 | NULL |
| 12 | Wen Qingqing | 19 | F | 1 | NULL |
| 13 | Tian Boguang | 33 | M | 2 | NULL |
| 14 | Lu Wushuang | 17 | F | 3 | NULL |
| 15 | Duan Yu | 19 | M | 4 | NULL |
| 16 | Xu Zhu | 21 | M | 1 | NULL |
| 17 | Lin Chong | 25 | M | 4 | NULL |
| 18 | Hua Rong | 23 | M | 7 | NULL |
| 19 | Xue Baochai | 18 | F | 6 | NULL |
| 20 | Diao Chan | 19 | F | 7 | NULL |
| 21 | Huang Yueying | 22 | F | 6 | NULL |
| 22 | Xiao Qiao | 20 | F | 1 | NULL |
| 23 | Ma Chao | 23 | M | 4 | NULL |
| 24 | Xu Xian | 27 | M | NULL | NULL |
| 25 | Sun Dasheng | 100 | M | NULL | NULL |
±------±--------------±----±-------±--------±----------+
25 rows in set (0.00 sec)
MariaDB [hellodb]> select Name as 名字,Age as 年龄 from students where Age >25 and Gender = ‘M’;
±-------------±-------+
| 名字 | 年龄 |
±-------------±-------+
| Xie Yanke | 53 |
| Ding Dian | 32 |
| Yu Yutong | 26 |
| Shi Qing | 46 |
| Tian Boguang | 33 |
| Xu Xian | 27 |
| Sun Dasheng | 100 |
±-------------±-------+
7 rows in set (0.00 sec)

MariaDB [hellodb]>
(2) 以ClassID为分组依据,显示每组的平均年龄
MariaDB [hellodb]> select ClassID as 班级号,avg(Age) as 平均年龄 from students group by Classid;
±----------±-------------+
| 班级号 | 平均年龄 |
±----------±-------------+
| NULL | 63.5000 |
| 1 | 20.5000 |
| 2 | 36.0000 |
| 3 | 20.2500 |
| 4 | 24.7500 |
| 5 | 46.0000 |
| 6 | 20.7500 |
| 7 | 19.6667 |
±----------±-------------+
8 rows in set (0.00 sec)
(3) 显示第2题中平均年龄大于30的分组及平均年龄

MariaDB [hellodb]> select ClassID as 班级号,avg(Age) as 平均年龄 from students group by Classid having 平均年龄 > 30;
±----------±-------------+
| 班级号 | 平均年龄 |
±----------±-------------+
| NULL | 63.5000 |
| 2 | 36.0000 |
| 5 | 46.0000 |
±----------±-------------+
3 rows in set (0.00 sec)

MariaDB [hellodb]>

(4) 显示以L开头的名字的同学的信息
MariaDB [hellodb]> select * from students where Name like ‘L%’;
±------±------------±----±-------±--------±----------+
| StuID | Name | Age | Gender | ClassID | TeacherID |
±------±------------±----±-------±--------±----------+
| 8 | Lin Daiyu | 17 | F | 7 | NULL |
| 14 | Lu Wushuang | 17 | F | 3 | NULL |
| 17 | Lin Chong | 25 | M | 4 | NULL |
±------±------------±----±-------±--------±----------+
3 rows in set (0.00 sec)

MariaDB [hellodb]>
2、数据库授权magedu用户,允许192.168.1.0/24网段可以连接mysql
在这里插入图片描述

3、总结mysql常见的存储引擎以及特点。

转载于:https://blog.csdn.net/weixin_41459547/article/details/87929431
存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以成为表类型)(及存储和操作此表的类型)。

Oracle和Sql Server等数据库只有一种存储引擎,也就是InnoDB。

下面介绍Mysql常见存储引擎:

1、InnoDB存储引擎(MySQL默认存储引擎)

特点:

· 提供的功能:事务、回滚、奔溃修复能力和多版本并发控制的事务安全。

· 是Mysql是第一个提供外键约束的表引擎。

· 支持自动增长列AUTO_INCREMENT(Mysql中规定自动增长列的必须为主键)。

优缺点:

· 优势在于提供了良好的事务管理、奔溃修复能力和并发控制。

· 缺点是读写效率稍差,占用的数据空间相对比较大。

适用场合:

· 更新密集的表:InnoDB存储引擎特别适合处理多重并发的更新请求。

· 事务:InnoDB存储引擎是唯一支持事务的标准MySQL存储引擎,这是管理敏感数据(如金融信息和用户注册信息)的必须软件

· 自动灾难恢复:与其他存储引擎不一样,InnoDB表能够自动从灾难中恢复。虽然MyISAM表也能在灾难后修复,但其过程要长的多

附:

· InnoDB可提供高效的ACID特性,具体的ACID特性可参考其他相关文章。

2、MyISAM存储引擎

前身:

· MyISAM存储引擎是基于ISAM存储引擎发展起来的。

文件类型(MyISAM储存引擎的表存储成3个文件,文件名与表名相同,扩展名包括frm、myd、myi):
· frm:存储表的结构;

· myd:存储数据,是MYData的缩写;

· myi:存储索引,是MYIndex的缩写;

存储格式:
· MyISAM静态:如果所有表列的大小都是静态的(即不使用xBLOB、xTEXT或者VARCHAR数据类型),MySQL就会自动使用静态MyISAM格式,使用这种类型的表的性能非常高,因为在访问和维护以预定义格式存储的数据时需要很低的开销,但是却要以控件为代价。

· MyISAM动态:如果有表列(及时只有一列)定义为动态的(使用xBLOB、xTEXT、VARCHAR),MySQL就会自动使用动态格式。虽然MyISAM动态表占用的空间比静态格式所占空间少,但空间的节省带来了性能的下降。如果某个字段的内容发生改变,其位置很可能就需要移动,这会导致碎片的产生。随着数据集中的碎片增加,数据访问性能就会相应降低。这个问题有两种修复方法:

a. 尽可能使用静态数据类型。

b. 经常使用OPTIMIZE TABLE语句,他会整理表的碎片,恢复由于表更新和删除而导致的空间丢失。

· MyISAM压缩:有时会创建在整个应用程序生命周期中都只读的表。如果是这种情况,就可以使用myisampack工具将其转换为MyISAM压缩表来减少空间。在给定硬件配置情况下,性能的提升将相当显著。

优缺点:

· MyISAM存储引擎的优势在于占用空间小,处理速度快,缺点是不支持事务和并发性。

3、MEMORY存储引擎

前言:

MEMORY存储引擎是MySQL中的一类特殊的存储引擎。其使用存储在内存中的内容来创建表,而且所有数据也放在内存中。

MEMORY存储引擎的文件存储形式:

· 每个基于MEMORY存储引擎的表实际对应一个磁盘文件。该文件的文件名与表名相同,类型为frm。该文件只存储表的结构。而其数据文件都是存储在内存中。这样有利于对数据的快速处理,提高整个表的处理效率。

MEMORY存储引擎的索引类型:

· MEMORY存储引擎默认使用哈希(HASH)索引。其速度要比使用BTREE索引快。

MEMORY存储引擎的存储周期:

· MEMORY存储引擎通常很少用到。因为MEMORY表的所有数据都是存储在内存上的,如果内存出现异常就会影响到数据的完整性。如果重启机器或者关机,表中的所有数据都会消失。因此MEMORY存储引擎的表生命周期很短,一般都是一次性的。

MEMORY存储引擎的优缺点:

· MEMORY表的大小是受到限制的。表的大小主要取决于两个参数,分别是max_rows和max_heap_table_size。其中,max_rows可以在创建表时指定:max_heap_table_size的大小默认为16MB,可以按需要进行扩大。因其存在内存中的特性,这类表的处理速度非常快。但是其数据容易丢失,生命周期短。(注意:mysqld守护进程奔溃时,所有的MEMORY数据都会丢失)

· MEMORY表不支持VARCHAR、BLOB、TEXT数据类型,因为这种表类型按固定长度的记录格式存储。此外,如果使用版本4.1.0之前的MySQL,这不支持自动增长列。

适用场景:

· 暂时:目标数据只是临时需要,在其生命周期中必须立即可用。

· 相对无关:存储在MEMORY表中的数据如果突然丢失,不会对应用服务产生实质的负面影响,而且不会对数据完整性有长期影响。

马哥教育是一家教育机构,专注于Python编程的培训。他们提供了多个课程,包括Python基础、全栈开发、爬虫、数据分析、算法和人工智能等领域。他们的教育课程涵盖了Python所涉及的各个领域,并且价格相对较为亲民。据引用的描述,参加了马哥教育的Python课程后,他们觉得之前的学习都白费了,课程的内容和难度都很高,并且能够帮助他们在工作中更好地应对任务。引用中提到,他们的课程时长约为500个课时,价格相对于其他机构来说较为合理,而且涵盖了Python的多个领域。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [马哥python课堂笔记-马哥教育PYTHON相关基础笔记.pdf](https://download.csdn.net/download/qq_43934844/87905115)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [马哥python 培训](https://blog.csdn.net/weixin_63757190/article/details/121762215)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值