重温《MySQL必知必会》学习到的一些关键点(一)

75 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第37天,点击查看活动详情

之前在其他平台发表过的文章,今天分享在掘金,跟大家一起学习~

1.谨慎使用select *

一般,除非你确实需要表中的每个列,否则最好别使用*通配符。虽然使用通配符可能会使你自己省事,不用明确列出所需列,但检索不需要的列通常会降低检索和应用程序的性能。

2.检索不同的行——DISTINCT关键字

不能部分使用DISTINCT DISTINCT关键字应用于所有列而不仅是前置它的列。如果给出SELECT DISTINCT vend_id, prod_price,除非指定的两个列都不同,否则所有行都将被检索出来

3.限制结果——LIMIT关键字

(1)SELECT prod_name FROM products LIMIT 5;此语句使用SELECT语句检索单个列。LIMIT 5指示MySQL返回不多于5行。 (2)SELECT prod_name FROM products LIMIT 5,5;LIMIT 5, 5指示MySQL返回从行5开始的5行。第一个数为开始位置,第二个数为要检索的行数。

注意:检索出来的第一行为行0而不是行1。因此,LIMIT 1, 1 将检索出第二行而不是第一行。

4.ORDER BY 默认按照升序对记录进行排序;为了进行降序排序,必须指定DESC关键字。

注意:DESC关键字只应用到直接位于其前面的列名。 列如SELECT c1,c2,c3 FROM table ORDER BY c1,c2 DESC这表示按照c1升序排列。按照c2降序排列

5.ORDER BY与LIMIT的结合

如:SELECT c1 FROM table ORDER BY c1 DESC LIMIT 1 表示查询 table 中按c1字典顺序排列最大的一行。要注意ORDER BY子句的位置,在给出ORDER BY子句时,应该保证它 位于FROM子句之后。如果使用LIMIT,它必须位于ORDER BY 之后。使用子句的次序不对将产生错误消息。