MySQL SELECT:数据表查询语句

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

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

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

mysql> use test_db;
Database changed
mysql> SELECT * FROM tb_students_info;

查询表中指定的字段

SELECT < 列名 > FROM < 表名 >;

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

mysql> SELECT  DISTINCT age
    -> FROM tb_students_info;
+------+
| age  |
+------+
|   25 |
|   23 |
|   22 |
|   24 |
|   21 |
+------+
5 rows in set (0.11 sec)

AS:设置别名

设置查询的表名:
mysql> SELECT stu.name,stu.height
    -> FROM tb_students_info AS stu;


设置查询的列名:
mysql> SELECT name AS student_name,
    -> age AS student_age
    -> FROM tb_students_info;

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

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

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

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

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
    -> WHERE name LIKE 'T%';

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

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

猜你喜欢

转载自blog.csdn.net/weixin_38293453/article/details/88787259