mysql基础学习
程序员文章站
2022-06-01 08:50:05
...
Mysql学习
查询表
SELECT [DISTINCT] <字段名称,用逗号隔开/*>
FROM <left_table> [<join_type> JOIN <right_table> ON <连接条件>]
WHERE <where条件>
GROUP BY <分组字段>
HAVING <筛选条件>
ORDER BY <排序条件> [desc/asc]
LIMIT n[, m]
- distinct 表示去除重复值,必须要放在列名前
- limit 限制返回的列数
- limit n 表示最后查询返回的值限制为n条,limit 5表示返回前5条
- limit n,m 表示从第n行开始,返回m条数据(包括第n行数据)
- order by表示对查询的数据进行排序
- 因为检索出的数据并不是纯粹以随机顺序显示的,如果不排序,数据一般将以它在底层表中出现的顺序显示。这可以是数据最初添加到表中的顺序
- 关系数据库设计理论认为,如果不明确规定排序顺序,则不应该假定检索出的数据的顺序有意义
- 按多个列排序。order by n1, n2 这是会先按n1列排序,当n1列值相同有多行时,就会按n2列排序
- 排序方向,order by 默认是升序排序(即asc),如果想降序排列将要指定desc,当有多个列,必须要对每个列使用desc关键字这个列才会降序排序,如果是order by n1 desc, n2;那么n1列降序排序,n2列还是默认升序排序
- where子句
- 使用where子句来过滤数据,只查询符合我们条件的数据
- group by 分组语句
- Having 字句
- 用来过滤group by的分组,而where则是过滤行
通配符进行过滤
- 在mysql中使用通配符必须要使用like操作符
- 最常见的通配符是百分号(%),%表示任何字符出现任意次数,查找n1列所有jet起头数据可以使用where n1 like ‘jet%’;
- 可以在任何位置使用%,比如‘%guo%’表示搜索的所有包含字符串‘guo’的数据
- 通配符还有下划线(_),但是它只能匹配单个字符,而不能像%那样匹配多个字符
- 能用其他操作符达到目的就不要使用通配符,因为使用通配符搜索耗时更长