欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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’的数据
  • 通配符还有下划线(_),但是它只能匹配单个字符,而不能像%那样匹配多个字符
  • 能用其他操作符达到目的就不要使用通配符,因为使用通配符搜索耗时更长
相关标签: mysql学习