1.mysql数据库(关系型数据库)
客户端软件:SQLyog
常用引擎:myIsam、 innoDB、 heap
myisam与innoDB之间的区别:
myisam适用的环境:很多count的计算;查询频繁,但插入不频繁;没有事务;
innoDB适用的环境:要求事务,查询和修改比较频繁;
为什么读多写少要用myisam?
myisam的运行机制及特点:
全表锁,并发能力差,直接在硬盘上操作命令,不支持事务;
innoDB的运行机制及特点:
行锁,支持事务,在内存上先等待命令执行,如果全部通过则转到硬盘执行,否则返回;
事务:开启事务 提交事务(to disk) 回滚事务(to innoDB)
MYISAM |
易坏 |
易修复 |
INNODB |
难坏 |
难修复 |
2.nosql(非关系型数据库)
nosql是对数据库的保护机制,服务器集群支持数据并发操作;
Memcache |
Redis |
只支持key-value类型 |
支持set,list,string等多种类型 |
在内存上,数据不持久,定期清理 |
数据持久,一段时间会转入disk |
断电就没有了 |
定期存储到disk上 |
3.MySQL及命令行常见命令
查看端口号是否被占用:netstat -ano|findstr "3306";
查询MySQL版本信息:show version(); show variables like '%version%';
查询MySQL当前默认的存储引擎:show variables like '%storage_engine%';
查询表的引擎信息:show create table 表名;
快速打开本地mysql:在运行栏输入 net start mysql
快速关闭本地mysql:在运行栏输入 net stop mysql
group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by后面:
select buyer as 顾客, count(name) as 商品种类数 from table group by buyer having count(name) >= 2;