《Mysql必知必会》读书笔记

《Mysql必知必会》(MySQL Crash Course)内容很丰富,mysql的各个方面都涉及到了,从基本的SQL增删改查到触发器、事务以及安全管理和性能提升,本书都做了精简的介绍。
相比于另外两本相关的初学者读物——《SQL基础教程》MICK著《MySQL与MariaDB学习指南》。这本书可能更适合想对mysql有全面了解的(比如对mysql的高级功能)或者想成为数据库管理员的人阅读。

简要介绍

Ref: http://dev.mysql.com/

  1. 本书的配套网站MySQL Crash Course,原作者很厉害,毕竟他之前就出了一本堪称全世界用得最多的一本SQL教程– Sams Teach Yourself SQL in 10 Minutes( 中文版《SQL必知必会》,人民邮电出版社出版)
  2. 数据库(database) 是保存有组织的数据的容器(通常是一个文 件或一组文件,而数据库软件应称为DBMS(数据库管理系统)
  3. 模式(schema) && 数据库(database)? —— 一般情况下,模式用作数据库的同义词,模式(schema) 关于数据库和表的布局及特性的信息
  4. 记录(record) && 行(row)?—— 在很大程度上,这两个术语是可以互相 替代的,但从技术上说,行才是正确的术语
  5. SQL(发音为字母S-Q-L或sequel)是结构化查询语言(Structured Query Language)的缩写。
  6. DBMS可分为两类:一类为基于共享文件系统的DBMS,另一类为基于客户机—服务器的DBMS。
    • 前者如Microsoft Access和FileMaker等,用于桌面用途,通常不用于高端或更关键的应用
    • 后者如MySQL、Oracle以及Microsoft SQL Server等数据库是基于客户机—服 务器的数据库。
  7. 写SQL语句的惯例——关键词都大写,表明列名小写

基本用法

SQL基本用法可参考笔记1笔记2,这里仅就个别的点总结下

  1. 多用SHOW, HELP SHOW, SHOW GRANTS, SHOW ERRORS, SHOW WARNINGS
    • DESCRIBE customers;SHOW COLUMNS FROM customers;的快捷方式
    • INFORMATION_SCHEMA
  2. 在处理SQL语句时,其中所有空格都被忽略。
  3. 查询结果默认是升序排序(从A到Z)
  4. !=等同于<>操作符
  5. SQL(像多数语言一样)在处理OR操作符前,优先处理AND操作符!!!
    • 最好使用圆括号明确地分组相应的操作符
    • WHERE id=1002 OR id=1003 AND price>=10 这个WHERE字句的计算次序呢?
  6. MySQL支持使用NOT对INBETWEENEXISTS子句取反,这与多数其他DBMS允许使用NOT对各种条件 取反有很大的差别。
  7. 从技术上说,LIKE是谓词而不是操作符。
  8. 虽然似乎%通配符可以匹配任何东西,但有一个例外,即NULL。 即使是WHERE prod_name LIKE '%'也不能匹配用值NULL作为产品名的行
  9. MySQL正则表达式
    • REGEXP代替LIKE
    • 为了匹配特殊字符,必须用\\为前导。\\-表示查找-,\\.表示查找.。如WHERE name REGEXP '\\.'
    • \ && \\ ? 多数正则表达式实现使用单个反斜杠转义特殊字符, 以便能使用这些字符本身。但MySQL要求两个反斜杠(MySQL 自己解释一个,正则表达式库解释另一个)。
    • 常用的字符类(character class), 如[:alnum:]匹配任意字母和数字(同[a-zA-Z0-9]), [:alpha:]匹配任意字符(同[a-zA-Z])
    • 定位元字符: [[:<:]][[:>:]]分别匹配词的开始和结尾
  10. LIKE和REGEXP 的不同在于,LIKE匹配整个串而REGEXP匹配子串。利用定位 符,通过用^开始每个表达式,用$结束每个表达式,可以使 REGEXP的作用与LIKE一样。
  11. 多数DBMS使用+或||来实现拼接, MySQL则使用Concat()函数来实现
  12. SUM(), MIN(), MAX()会忽略列值为NULL的行。
  13. COUNT()函数有两种使用方式。
    • 使用COUNT(*)对表中行的数目进
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值