写在前面
学习前端,免不了要接触到数据库的使用,之前拿到一本《SQL必知必会》,这本书的内容非常的浅显易懂,虽然是属于入门级别,但一些关于数据库语言的易错误用点还是非常值得整理的,如下是看这本书时的一些小笔记:
1、数据库检索结果的顺序:从关系型数据库的设计理论来看,若没有明确指明检索结果的数据的顺序,不能够假定搜索结果的顺序有任何意义。
2、按多个列排序的实际情况:按多个列进行排序,如:
ORDER BY prod_price,prod_name;
在两个指定的参考列中,仅当前面的列中的某一项出现完全相同的情况的时候才会按章下一个指定列进行排序,也就是说如果第一个指定列中的所有值都是唯一的,怎不对再按照第二个指定列对数据进行排序。按位置排序的语句如:
ORDER BY 2,3;
此方法在对数据排序时的参考对象与前面同理。
3、排序语句的位置问题:OEDER BY 语句必须位于 SELECT语句的最后,否则会出现错误。
4、为什么要在数据库中对数据进行数据操作:在数据库服务器端对数据进行操作的性能大于在客户端对检索到的数据进行操作。
5、使用WHERE子句操作符对数据进行操作时,如果比较对象是字符应该放在‘ ’号中间,而数值则不用。
6、BETWEEN操作符指定的是一个范围的闭区间
7、在数据库中NULL的特殊性,它与字段包含0,、空字符,仅包含空格是完全不同的意义。
8、SQL允许多个WHERE子句组合成高级的过滤语句,但AND的优先级大于OR,所以最好使用( )来对语句进行明确分组。
9、使用SQL中的通配符过滤数据(LIKE fish% LIKE _anything),通配符过滤仅能对文本类型字段通配符搜索,同时MYSQL不支持[ ]方括号通配符。
10、通配符的使用技巧
- 通配符搜索比其他搜索更耗时间,所以尽量少用。
- 在同时要用到通配符和其他搜索方式时,应将通配符搜索放在搜索模式的最后,这样有助于提高数据库的搜索性能。
11、通常在数据库服务器上可以完成很多数据转换和格式化的工作,这往往比在客户端对数据进行操作要快得多。
未完待续....