《MySQL必知必会》是MySQL入门书籍,本文是阅读该书的一些学习笔记,主要记录相关知识要点。
第三章 使用MySQL
1 | msql -u username -p -h myserver -P port //连接数据库 |
第四章 检索数据
1 | SELECT field_name FROM table_name; |
第五章 排序检索数据
1 | SELECT prod_name FROM products |
Tips:
1.mysql默认升序排列数据
2.DESC关键字只应用到直接位于其前面的列名上,根据多列降序,则每列都要加上DESC关键字
3.ORDER BY子句必须是SELECT语句中的最后一条子句(一个子句通常由一个关键字和所提供的数据组
成,FROM products是子句,ORDER BY prod_prices也是子句,但DESC和LIMIT 1不是子句)。
第六章 过滤数据
1 | SELECT prod_name,prod_price |
Tips:
1.mysql的where子句支持的操作符有=,!=,<,<=,>,>=,BETWEEN
2.未知具有特殊的含义,数据库不知道它们是否匹配,所以在匹配过滤或不匹配过滤时都不返回它们。
第七章 数据过滤
1 | SELECT prod_id,prod_price,prod_name |
Tips:
1.SQL在处理OR操作符前,优先处理AND操作符,使用()控制优先级
2.IN操作符完成与OR相同的功能,但IN操作执行更快,而且IN中还可以包含其他SELECT语句,使得能够更动态地建立WHERE子句
3.WHERE子句中的NOT操作符有且只有一个功能,那就是否定它之后所跟的任何条件
4.MySQL仅支持使用NOT对IN、BETWEEN和EXISTS子句取反。
第八章 用通配符进行过滤
1 | SELECT prod_id,prod_name |
Tips:
1.为在搜索子句中使用通配符,必须使用LIKE操作符;
2.通配符%
可以匹配0个、1个或多个字符,但不能匹配NULL;
3.通配符_
总是匹配一个字符,不能多也不能少;
4.不要过度使用通配符,通配符搜索的处理一般要比前面讨论的其他搜索所花时间更长;
5.把通配符置于搜索模式的开始处,搜索起来是最慢的。
第九章 用正则表达式进行搜索
1 | SELECT prod_name |
Tips:
1.LIKE和REGEXP的不同在于,LIKE匹配整个串而REGEXP匹配子串;
2.MySQL中的正则表达式匹配(自版本3.23.4后)不区分大小写(即,大写和小写都匹配)。为区分大小写,可使用BINARY关键字,如WHERE prod_name REGEXP BINARY 'JetPack .000'
;
3.^
有两种用法。在集合中(用[和]定义),用它来否定该集合,否则,用来指串的开始处。
第十章 创建计算字段
1 | mysql> SELECT Concat(RTrim(vend_name),'(',RTrim(vend_country),')') |
Tips:
1.Concat()函数用于拼接多个字段;
2.RTrim()函数去掉串右边的空格,LTrim()函数去掉串左边的空格,
Trim()函数去掉串左右两边的空格;
3.AS(alias)关键字,为字段赋予别名。
第十一章 使用数据处理函数
1 | mysql> SELECT vend_name,Upper(vend_name) AS vend_name_upcase |
Tips:
1.三种数据处理函数:文本处理、日期和时间处理、数值处理。