MySQL SELECT:数据表查询语句

怼烎@ 2022-02-28 07:10 479阅读 0赞

MySQL 从数据表中查询数据的基本语句为 SELECT 语句,基本格式如下:

  1. SELECT
  2. {* | <字段列名>}
  3. [
  4. FROM <表 1>, <表 2>…
  5. [WHERE <表达式>
  6. [GROUP BY <group by definition>
  7. [HAVING <expression> [{<operator> <expression>}…]]
  8. [ORDER BY <order by definition>]
  9. [LIMIT[<offset>,] <row count>]
  10. ]

使用“*”查询表中的全部内容

  1. mysql> use test_db;
  2. Database changed
  3. mysql> SELECT * FROM tb_students_info;

查询表中指定的字段

  1. SELECT < 列名 > FROM < 表名 >;

DISTINCT:去重(过滤重复数据)

  1. mysql> SELECT DISTINCT age
  2. -> FROM tb_students_info;
  3. +------+
  4. | age |
  5. +------+
  6. | 25 |
  7. | 23 |
  8. | 22 |
  9. | 24 |
  10. | 21 |
  11. +------+
  12. 5 rows in set (0.11 sec)

AS:设置别名

  1. 设置查询的表名:
  2. mysql> SELECT stu.name,stu.height
  3. -> FROM tb_students_info AS stu;
  4. 设置查询的列名:
  5. mysql> SELECT name AS student_name,
  6. -> age AS student_age
  7. -> FROM tb_students_info;

LIMIT:限制查询结果的记录条数

  1. 使用 LIMIT 子句返回从第 4 条记录开始的行数为 5 的记录,
  2. 记录是从0开始计算的。
  3. mysql> SELECT * FROM tb_students_info LIMIT 3,5;

ORDER BY:对查询结果进行排序

关键字 ASC 表示按升序分组,关键字 DESC 表示按降序分组,其中 ASC 为默认值。这两个关键字必须位于对应的列名、表达式、列的位置之后。

  1. mysql> SELECT name,height FROM tb_student_info ORDER BY height DESC,name ASC;

WHERE:条件查询

判定运算的语法分类如下:

  • <表达式1>{=|<|<=|>|>=|<=>|<>|!=}<表达式2>
  • <表达式1>[NOT]LIKE<表达式2>

    mysql> SELECT name FROM tb_students_info

    1. -> WHERE name LIKE 'T%';

下划线通配符和百分号通配符的用途一样,下画线只匹配单个字符

  • <表达式1>[NOT][REGEXP|RLIKE]<表达式2>
  • <表达式1>[NOT]BETWEEN<表达式2>AND<表达式3>
  • <表达式1>IS[NOT]NULL

发表评论

表情:
评论列表 (有 0 条评论,479人围观)

还没有评论,来说两句吧...

相关阅读