二.条件查询
1.简单查询
select
字段1,字段2,字段...
from 表名;
给查询结果的列重命名:as 字段名(可省略)
查询所有字段:select * from 表名;(*不能出现在Java开发中,开发效率过低)
注意:任何一条语句以‘;’结尾。
SQL语句不区分大小写。
字段可参与数学运算。
标准SQL语句中字符串(包含中文)使用单引号。
2.条件查询
select
字段1,字段2,字段...
from 表名
where 条件;
代码实现:
mysql> select
-> name
-> from t_student
-> where score=77;
+------+
| name |
+------+
| 王五 |
+------+
1 row in set (0.00 sec)
between and:
也适用于字符串(左闭右开)。
is null/is not null:
在数据库中,null代表为空,但不是空值。(不能使用等号)
not:
可以取非,主要用在is或in中。
like:
称为模糊查询,支持%或下划线匹配。
查询顺序:from where select
3.and,or
注意:and的优先级高于or,在运算中加()来确定优先级。
mysql> select
-> name
-> from
-> t_student
-> where
-> score=70 or score=50;
#不能用and连接,and表示既...又...
+------+
| name |
+------+
| 张三 |
| 李四 |
+------+
2 rows in set (0.00 sec)
4.in(等同于or,表示具体的值,而非区间)
mysql> select name
-> from t_student
-> where score in(70,90);
+------+
| name |
+------+
| 张三 |
| 王五 |
+------+
2 rows in set (0.00 sec)
5.not in(不在这几个值中)
mysql> SELECT NAME
-> from t_student
-> WHERE SCORE NOT in(70,90);
6.模糊查询(like)
注意:‘\’代表转义。
%:代表任意多个字符。
_:代表任意一个字符。
eg:找出最后一个字为五的名字
(1)
mysql> select name
-> from t_student
-> where name like '_五%';
+------+
| name |
+------+
| 王五 |
| 王五 |
| 王五 |
| 王五 |
+------+
(2)
mysql> select name
-> from t_student
-> where name like'%五';
+------+
| name |
+------+
| 王五 |
| 王五 |
| 王五 |
| 王五 |
+------+
4 rows in set (0.00 sec)