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
还没有评论,来说两句吧...