读《MySql必知必会》笔记
MySql必知必会
2017-12-21
意义:记录个人不注意的,或不明确的,或不知道的细节方法技巧,此书250页
登陆:
mysql -u root-p -h myserver -P 9999
SHOW STATUS,用于显示广泛的服务器状态信息
DESCRIBE tableName;是SHOW COLUMNS FROM tableName;的一种快捷方式
SHOW CREATE DATABASE和SHOW CREATE TABLE,分别用来显示创建特定数据库或表的MySQL语句
SHOW GRANTS,用来显示授予用户(所有用户或特定用户)的安全权限
SHOW ERRORS和SHOW WARNINGS, 用来显示服务器错误或警告消息
help show 获取更多SHOW相关命令
不能部分使用DISTINCT,DISTINCT关键字应用于所有列而不仅是前置它的列

IN操作符一般比OR操作符清单执行更快。
IN的最大优点是可以包含其他SELECT语句,使得能够更动态地建立WHERE子句
MySQL 支 持 使 用 NOT 对 IN 、 BETWEEN 和EXISTS子句取反
正则:
虽然似乎%通配符可以匹配任何东西,但有一个例外,即NULL。即使是WHERE prod_name LIKE '%'也不能匹配用值NULL作为产品名的行

MySQL中的正则表达式匹配不区分大小写,为区分大小写,可使用BINARY关键字,如WHERE prod_name REGEXP BINARY 'JetPack .000'

全文本搜索:
指定FULLTEXT后,使用两个函数Match()和Against()执行全文本搜索
想找出所有提到anvils的注释。只有一个注释包含词anvils,但你还想找出可能与你的搜索有关的所有其他行,即使它们不包含词anvils。
在使用查询扩展时, MySQL对数据和索引进行两遍扫描来完成搜索:
q 首先,进行一个基本的全文本搜索,找出与搜索条件匹配的所有行;
q 其次, MySQL检查这些匹配行并选择所有有用的词(我们将会简要地解释MySQL如何断定什么有用,什么无用)。
q 再其次, MySQL再次进行全文本搜索,这次不仅使用原来的条件,而且还使用所有有用的词。
利用查询扩展,能找出可能相关的结果,即使它们并不精确包含所查找的词。

布尔方式( booleanmode)。即使没有FULLTEXT索引也可以使用,但这是一种非常缓慢的操作(其性能将随着数据量的增加而降低)
q 要匹配的词;
q 要排斥的词(如果某行包含这个词,则不返回该行,即使它包含
其他指定的词也是如此);
q 排列提示(指定某些词比其他词更重要,更重要的词等级更高);
q 表达式分组;
q 另外一些内容

匹配词heavy,但-rope*明确地指示MySQL排除包含rope*

全文本搜索的某些重要的说明
忽略词中的单引号。例如, don't索引为don’t
仅MyISAM数据库引擎中支持全文本搜索,(mysql5.6 Innodb好像也支持了)
select insert


不一定要求列名匹配。事实上, MySQL甚至不关心SELECT返回的列名。它使用的是列的位置
IGNORE关键字 如果用UPDATE语句更新多行,并且在更新这些行中的一行或多行时出一个现错误,则整个UPDATE操作被取消(错误发生前更新的所有行被恢复到它们原来的值)。为即使是发生错误,也继续进行更新,可使用IGNORE关键字,如下所示:
UPDATE IGNORE tableName
TRUNCATE实际是删除原来的表并重新创建一个表,而不是逐行删除表中的数据

每个表只允许一个AUTO_INCREMENT列,而且它必须被索引,使它成为主键。

(测试发现只有在不指定auto_increment列时才能正确获得last_insert_id()值,否则返回0,字段名称不一定是'id')
q InnoDB是一个可靠的事务处理引擎(参见第26章),它不支持全文本搜索;
q MEMORY在功能等同于MyISAM, 但由于数据存储在内存(不是磁盘)中,速度很快(特别适合于临时表);
q MyISAM是一个性能极高的引擎,它支持全文本搜索(参见第18章),但不支持事务处理。
外键不能跨引擎 混用引擎类型有一个大缺陷。外键(用于强制实施引用完整性,如第1章所述)不能跨引擎,即使用一个引擎的表不能引用具有使用不同引擎的表的外键
视图:
视图不能索引,也不能有关联的触发器或默认值。
存储过程:

游标(cursor) 是一个存储在MySQL服务器上的数据库查询,它不是一条SELECT语句,而是被该语句检索出来的结果集。在存储了游标之后,应用程序可以根据需要滚动或浏览其中的数据。


在这个例子中,我们增加了另一个名为t的变量(存储每个订单的合计)。 此存储过程还在运行中创建了一个新表(如果它不存在的话),名为ordertotals。这个表将保存存储过程生成的结果。ETCH像以前一样取每个order_num,然后用CALL执行另一个存储过程(我们在前一章中创建)来计算每个订单的带税的合计(结果存储到t)。最后,用INSERT保存每个订单的订单号和合计。
触发器:
只有表才支持触发器,视图不支持(临时表也不支持)。

SELECT的其他COLLATE子句 除了这里看到的在ORDER BY子句中使用以外, COLLATE还可以用于GROUP BY、 HAVING、聚集函数、别名等。
如果绝对需要,串可以在字符集之间进行转换。为此,使用Cast()或Convert()
show grants for username;
create user haogp identified by ‘haogp’
grant select on *.* to haogp;
revoke select on *.* from haogp;
set password for haogp = Password(‘haogp’);
grant select on *.* to haogp@’%’ identified by ‘haogp’;
如果从一个表中删除大量数据,应该使用OPTIMIZE TABLE来收回所用的空间,从而优化表的性能。
重要的mysqld命令行选项:
q --help显示帮助——一个选项列表;
q --safe-mode装载减去某些最佳配置的服务器;
q --verbose显示全文本消息(为获得更详细的帮助消息与--help联合使用);
q --version显示版本信息然后退出。
日志:
主要的日志文件有以下几种。
q 错误日志。它包含启动和关闭问题以及任意关键错误的细节。此日志通常名为hostname.err,位于data目录中。此日志名可用--log-error命令行选项更改。
q 查询日志。它记录所有MySQL活动,在诊断问题时非常有用。此日志文件可能会很快地变得非常大,因此不应该长期使用它。此日志通常名为hostname.log,位于data目录中。此名字可以用--log命令行选项更改。
q 二进制日志。它记录更新过数据(或者可能更新过数据)的所有语句。此日志通常名为hostname-bin,位于data目录内。此名字可以用--log-bin命令行选项更改。注意, 这个日志文件是MySQL5中添加的,以前的MySQL版本中使用的是更新日志。
q 缓慢查询日志。顾名思义,此日志记录执行缓慢的任何查询。这个日志在确定数据库何处需要优化很有用。此日志通常名为hostname-slow.log , 位 于 data 目 录 中 。 此 名 字 可 以 用--log-slow-queries命令行选项更改。
在使用日志时,可用FLUSH LOGS语句来刷新和重新开始所有日志文件




主要单词:
主键primary key
SQL (发音为字母S-Q-L或sequel)是结构化查询语言 ( Structured Query
Language)的缩写
ASC ( ASCENDING)升序排序
读《MySql必知必会》笔记的更多相关文章
- [已读]HTML5与CSS3权威指南第二版(下)
去年下半年前公司给买的(老付对我们确实蛮好的),一人挑一本,我当时一定是秀逗了.看的时候就发现,这本书的内容过时严重,即便它是新出不久的第.二.版.其他没什么说的,总之,不推荐看.
- Html5与CSS3权威指南 百度云下载
Html5与CSS3权威指南 百度云下载 链接:http://pan.baidu.com/s/1hq6Dlvm 密码:php3
- HTML5与CSS3权威指南之CSS3学习记录
title: HTML5与CSS3权威指南之CSS3学习记录 toc: true date: 2018-10-14 00:06:09 学习资料--<HTML5与CSS3权威指南>(第3版) ...
- 【HTML5 4】《HTML5与CSS3权威指南》 step1 导读
一.教程重点:以 HTML5和CSS3的新功能和新特性 为导向,辅之以 实战型实例页面 二.内容概况: 第1部分:详细讲解HTML5相关知识,包括 各主流浏览器对HTML5的支持情况. HTML5与H ...
- 读《HTML5与CSS3权威指南(上册)》笔记
第二章 1.内容类型:“text/html”.DOCTYPE声明:<!DOCTYPE html>.指定字符编码:<meta charset="utf-8"> ...
- 《HTML5与CSS3权威指南》读书笔记(上册)—HTML5篇
豆瓣上的评分少且评价不太好,阅读当中发现几处刊物上的小问题,不过线下口碑貌似不错,基本上人手一本 上册五百多页,主讲H5,分为标签,本地存储,离线应用程序,新的API,获取地理位置信息标签包含表单,C ...
- 《HTML5与CSS3权威指南》读书笔记(下册)—CSS3篇
大而全的CSS3 API类型书,并带有一些实用案例讲解,层次分明分类明确,新增技术都做了详情介绍.个人觉得如果在细节和文字表达上再下些功夫会更出色,其中部分内容如:rem.Media Queries网 ...
- HTML5与CSS3权威指南笔记案例1
第1章 <!DOCTYPE html> <meta charset = "UTF-8"> <title> Search </title&g ...
- html5+css3 权威指南阅读笔记(三)---表单及其它新增和改良元素
一.新增元素及属性 1.表单内元素的form属性. html5: <form id="testForm"> <input type=text> </f ...
- HTML5与CSS3权威指南.pdf6
第11章 获取地理位置信息 HTML5为window.navigator对象新增了一个geolocation属性 取得当前地理位置 void getCurrentPosition(onSuccess, ...
随机推荐
- jsoup获取网页属性
package com.open1111.jsoup; import org.apache.http.HttpEntity;import org.apache.http.client.methods. ...
- HDU 1847 Good Luck in CET-4 Everybody! 四级好运!(博弈)
思路:先用P/N状态来找规律. N状态:1 2 4 6 8 16 P状态:3 5 因为3=1+2, 无论拿1或者2皆输.看看5,只要抽掉2就变成了3,所以是N状态.看看6,可以抽掉1 2 4,若抽1, ...
- Java的三大特性之继承
此处我会分为这几个部分来理解继承是怎么样的: 1.区分封装.继承和多态 2.区分限定词的范围 3.区分隐藏.覆盖.重载 4.继承的理解 5.一道面试题的原型 --------------------- ...
- VC 对话框设置背景颜色和图片
改变背景颜色,有两种方法: 1.在app的初始化函数中调用:void SetDialogBkColor( COLORREF clrCtlBk = RGB(192, 192, 192), COLORRE ...
- python+opencv模拟生成运动模糊核
Mark:https://www.cnblogs.com/wyh1993/p/7118559.html 效果非常的好
- 删除Chrome地址栏记录中自动补全的网址
为了删除某个自动补全的网站,多年的历史纪录没了,还浪费我十多分钟,蠢哭_(:з」∠)_ 不是历史记录.不是清除浏览器数据.不是myactivity(谷歌账号)中的历史纪录,直接在书签中搜索,删除,OK ...
- orcle定时备份
orcle定时备份 (1)写个.bat文件 例如: exp test/test@ORCL file=f:\back\test%date:~,%%date:~,%%date:~,%.dmp (2)开始, ...
- linux 使用wget下载https连接地址cannot verify github.com's certificate
使用linux的wget下载时候会出现网站没有证书警告的问题, 例如下载git时,可以使用wget https://github.com/git/git/archive/v2.3.0.zip --no ...
- Element-ui tree组件自定义节点使用方法
工作上使用到element-ui tree 组件,主要功能是要实现节点拖拽和置顶,通过自定义内容方法(render-content)渲染树代码如下~ <template> <di ...
- java解析多层嵌套json字符串
java分别解析下面两个json字符串 package jansonDemo; import com.alibaba.fastjson.JSON; import com.alibaba.fastjso ...