第十四周实践操作

一、导入测试数据库文件hellodb.sql并做以下操作

1、在students表中,查询年龄大于25岁,且为男性的同学的名字和年龄

select Name,Age from students where age > 25 and Gender='M';

2、以ClassID为分组依据,显示每组的平均年龄

select ClassID,avg(age) from students group by ClassID;

3、显示第2题中平均年龄大于30的分组及平均年龄

select ClassID,avg(age) from students group by ClassID having avg(age) > 30;

4、显示以L开头的名字的同学的信息

select * from students where name like 'L%';

5、数据授权magedu用户,允许192.168.1.0/24网段可以连接mysql

#创建用户
create user magedu identified by 'magedu';
#授权用户
grant  sleect  on *.* to magedu@'192.168.1.0/24' identified by 'magedu';
#保存配置
flush privileges;

二、mysql常见的存储引擎以及特点

1、MyISAM存储引擎:

特点:

(1)不支持事务
(2)不支持外键

优势

(1)访问速度快
(2)对事务完整性没有要求或者以select,insert为主的应用基本上可以用这个引擎来创建表

支持3种不同的存储格式

静态表:
表中的字段都是非变长字段,这样每个记录都是固定长度的,
优点:存储非常迅速,容易缓存,出现故障容易恢复;
缺点:是占用的空间通常比动态表多

(2)动态表:
记录不是固定长度的,这样存储的优点是占用的空间相对较少;
缺点:频繁的更新、删除数据容易产生碎片,需要定期执行OPTIMIZE TABLE命令来改善性能

(3)压缩表:因为每个记录是被单独压缩的,所以只有非常小的访问开支

2、InnoDB存储引擎

功能:

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

特点:

(1)行级锁 ,支持行级锁及外键约束,所以在可以支持写并发。
(2)支持事务,适合处理大量短期事务 ,支持ACID的事务,支持事务的四种隔离级别。
(3)读写阻塞与事务隔离级别相关
(4)可缓存数据和索引
(5)支持聚簇索引
(6)崩溃恢复性更好
(7)支持MVCC高并发
(8)MySQL5.5后支持全文索引 ,SELECT COUNT(*) FROM TABLE时会进行全表扫描,效率低于MyISAM。

3、MEMORY存储引擎

Memory存储引擎使用存在于内存中的内容来创建表。

特点:

(1)每个memory表只实际对应一个磁盘文件
(2)格式是.frm。memory类型的表访问非常的快,因为它的数据是放在内存中的
(3)使用HASH索引,但是一旦服务关闭,表中的数据就会丢失掉。
(4)MEMORY存储引擎的表可以选择使用BTREE索引或者HASH索引,两种不同类型的索引有其不同的使用范围

Hash索引优点:

(1)检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。

Hash索引缺点:

(1)不精确查找也很明显,因为hash算法是基于等值计算的,所以对于“like”等范围查找hash索引无效,不支持;

你可能感兴趣的:(第十四周实践操作)