MYSQL学习笔记 (一)
每次面试后,都决定一改前非。事实上依然和那些发誓再吃最后一份美食的胖子一样。不管这次是不是三分钟热度但是至少我开始。
MYSQL引擎
说到MYSQL引擎我又想起研二时候去面试的第一家公司——大脉。当时懵懵懂懂的就去了,然后被那个面试官问我开发的那个系统
MYSQL数据库采用的什么引擎。现在想起了也好笑,明明当时有了解过这个,却到关键的时候忘了。好了不题外话了,进入主题。
MYSQL引擎有9种,我们通常用到的主要是INNOB和MYISAM。其实INNOB支持事务处理,支持外键,在插入、更新操作时只对数据行进行
锁定。在SELECT操作较多并且不需要事务处理的情况下使用MYISAM比较多,它不支持外键,并且在插入、更新操作时对数据包进行锁定。另外
二种存储引擎的存储 结构也不同。
MYSQL字符串char与varchar的区别
varchar为变长字符串类型,这就意味着字符串占有的存储空间为自身的大小。例如对于中文简体字符集gbk的字符串而言,varchar(255)
表示可以存储255个汉字。而每个汉字占用两个字节的存储空间。假若这个字符串没有那么多的汉字,例如仅仅包括一个“中”字,那么varchar(255)仅仅占用一个字符(2个字节)的存储空间,如果不考虑其他开销。而char(255) 必须占用255个字符长度的存储空间,哪怕里面只存储一个汉字。
但是对于char而言,即使只有2个字节也会占用全部的存储空间。
DATETIME与DATESTAMP的区别
datetime与datestamp格式差不多,但是datetime的范围远远大于datestamp。datestamp到 2037年就玩完了。另外 datestamp类型的数据在不赋值时默认为当前日期时间。
WHERE与HAVING的区别
作用的对象不同。WHERE 子句作用于表和视图,HAVING 子句作用于组。WHERE 在分组和聚集计算之前选取输入行(因此,它控制哪些行进入聚集计算),而 HAVING 在分组和聚集之后选取分组的行。。因此,WHERE 子句不能包含聚集函数; 因为试图用聚集函数判断那些行输入给聚集运算是没有意义的。相反,HAVING 子句总是包含聚集函数。(严格说来,你可以写不使用聚集的 HAVING 子句,但这样做只是白费劲。同样的条件可以更有效地用于 WHERE 阶段。)
MYSQL学习笔记 (一)的更多相关文章
- Mysql学习笔记(三)对表数据的增删改查。
正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...
- MySQL学习笔记一
MySQL 学习笔记 一 一.数据库简单介绍 1. 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系 ...
- Mysql学习笔记(二)数据类型 补充
原文:Mysql学习笔记(二)数据类型 补充 PS:简单的补充一下数据类型里的String类型以及列类型... 学习内容: 1.String类型 2.列类型存储需求 String类型: i.char与 ...
- Mysql学习笔记(一)数据类型
原文:Mysql学习笔记(一)数据类型 学习内容: Mysql基本数据类型. 1.数字类型.. i.整型 Mysql数据类型 含义(有符号) tinyint(m ...
- 初识mysql学习笔记
使用VMVirtualBox导入Ubuntu后,可以通过sudo apt-get install mysql-server命令下载mysql. 在学习过程中,我遇到了连接不上Xshell的问题.最终在 ...
- MySQL学习笔记-锁相关话题
在事务相关话题中,已经提到事务隔离性依靠锁机制实现的.在本篇中围绕着InnoDB与MyISAM锁机制的不同展开,进而描述锁的实现方式,多种锁的概念,以及死锁产生的原因. Mysql常用存储引擎的锁 ...
- MySQL学习笔记-事务相关话题
事务机制 事务(Transaction)是数据库区别于文件系统的重要特性之一.事务会把数据库从一种一致状态转换为另一个种一致状态.在数据库提交工作时,可以确保其要么所有修改都已经保存了,要么所有修改都 ...
- MySQL学习笔记-数据库文件
数据库文件 MySQL主要文件类型有如下几种 参数文件:my.cnf--MySQL实例启动的时候在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还介绍了参数类 ...
- MySQL学习笔记-数据库内存
数据库内存 InnoDB存储引擎内存由以下几个部分组成:缓冲池(buffer pool).重做日志缓冲池(redo log buffer)以及额外的内存池(additional memory pool ...
- MySQL学习笔记-数据库后台线程
数据库后台线程 默认情况下讲述的InnoDB存储引擎,以后不再重复声明.后台线程有7个--4个IO thread,1个master thread,1个锁监控线程,1个错误监控线程.IO thread的 ...
随机推荐
- [003] largest_subarray_with_equal_1&0
[Description] Given an array with only '1' and '0', find a largest length sub-array which contains e ...
- sicily 1193. Up the Stairs
Time Limit: 1sec Memory Limit:32MB Description John is moving to the penthouse of a tall sky-scr ...
- python3.x的HTMLTestRunner.py文件
"""A TestRunner for use with the Python unit testing framework. Itgenerates a HTML re ...
- 关于linux环境下crontab命令环境变量的问题
这几天在弄数据库备份的事情,其中涉及到使用crontab命令自动执行shell脚本的问题,发现将写好的数据库导出脚本export.sh ################################ ...
- C中常用格式格式码
一.常用printf格式码 二.常用scanf格式码
- ssh登录时较慢的解决方法
ssh在登录的时候,通常都会经过DNS的反向解析,过程为: IP --> (反向DNS) --> hostname --> (DNS) --> IP 然后匹配开头申请的和最后得 ...
- supervisor 的使用
1.通过yum安装 supervisor: 2.supervisorctl 查看状态: 3.supervisor.d 下查看配置文件,修改命令和日志目录 4.tail -f /var/log/supe ...
- leetcode 之Valid Sudoku(七)
判断行.列.九宫格内数字是否重复. 按照行.列.九宫格进行检查即可. bool validSudoku(const vector<vector<char>>& boar ...
- struct中长度为0的数组用途与原理
前言 在标准C和C++中,长度为0的数组是被禁止使用的.不过在GNUC中,存在一个非常奇怪的用法,那就是长度为0的数组,比如Array[0]; 很多人可能觉得不可思议,长度为0的数组是没有什么意义的, ...
- IE7、IE8下使用escape、encodeURI传递中文参数乱码的问题及解决方案
js跳转到指定页面,一旦escape()中文数据,浏览器就会终止和没有反应.上网搜了半天始终不得解.一种说法是,escape中文之后,url中出现了%u,IE7和IE8拒绝执行.目前看来差不多是这样的 ...