【 MySQL 学习3】查询
文章目录
- 一、简单查询
- 1.1 查询一个字段
- 1.2 查询两个字段
- 1.3 查询所有字段
- 1.4 给查询的列起别名
- 1.5 字段可以进行加减乘除运算
- 二、条件查询
- 2.1 什么条件查询
- 2.2 条件
一、简单查询
1.1 查询一个字段
select
字段名 from
表名
select ENAME from emp;
1.2 查询两个字段
使用逗号隔开
mysql> select ENAME,JOB from emp
-> ;
+--------+-----------+
| ENAME | JOB |
+--------+-----------+
| SMITH | CLERK |
| ALLEN | SALESMAN |
| WARD | SALESMAN |
| JONES | MANAGER |
| MARTIN | SALESMAN |
| BLAKE | MANAGER |
| CLARK | MANAGER |
| SCOTT | ANALYST |
| KING | PRESIDENT |
| TURNER | SALESMAN |
| ADAMS | CLERK |
| JAMES | CLERK |
| FORD | ANALYST |
| MILLER | CLERK |
+--------+-----------+
14 rows in set (0.00 sec)
1.3 查询所有字段
select n1,n2,n3, from emp
select * from emp
缺陷:效率低,可读性差,在实际开发中不建议。
可以在命令窗口中快速看一下全表数据可以采用这种方式
1.4 给查询的列起别名
使用as关键字起别名,as关键字可以用空格代替
注意:只是将显示的查询结果列名显示为新名字,原列表名还是叫原来的
select是永远不会做修改操作的,因为只负责查询。
别名可以用引号。
注意: 在所有的数据库当中,字符串统一使用单引号括起来。单引号是标准,双引号在oracle数据库中使用不了。 但是在mysql中可以使用。
mysql> select ENAME,JOB as jobname from emp;
+--------+-----------+
| ENAME | jobname |
+--------+-----------+
| SMITH | CLERK |
| ALLEN | SALESMAN |
| WARD | SALESMAN |
| JONES | MANAGER |
| MARTIN | SALESMAN |
| BLAKE | MANAGER |
| CLARK | MANAGER |
| SCOTT | ANALYST |
| KING | PRESIDENT |
| TURNER | SALESMAN |
| ADAMS | CLERK |
| JAMES | CLERK |
| FORD | ANALYST |
| MILLER | CLERK |
+--------+-----------+
14 rows in set (0.00 sec)
1.5 字段可以进行加减乘除运算
mysql> select ENAME, SAL*12 as '年薪' from emp;
+--------+----------+
| ENAME | 年薪 |
+--------+----------+
| SMITH | 9600.00 |
| ALLEN | 19200.00 |
| WARD | 15000.00 |
| JONES | 35700.00 |
| MARTIN | 15000.00 |
| BLAKE | 34200.00 |
| CLARK | 29400.00 |
| SCOTT | 36000.00 |
| KING | 60000.00 |
| TURNER | 18000.00 |
| ADAMS | 13200.00 |
| JAMES | 11400.00 |
| FORD | 36000.00 |
| MILLER | 15600.00 |
+--------+----------+
14 rows in set (0.00 sec)
二、条件查询
2.1 什么条件查询
不是将表中所有数据都查出来,是查出符合条件的
语法格式为:
select
字段1,字段2
from
表名
where
条件;
mysql> select
-> ENAME, JOB, SAL
-> FROM EMP
-> WHERE SAL=800
-> ;
+-------+-------+--------+
| ENAME | JOB | SAL |
+-------+-------+--------+
| SMITH | CLERK | 800.00 |
+-------+-------+--------+
1 row in set (0.00 sec)
2.2 条件
- 等于 =
- 不等于 != 或者 <>
- 小于等于 <=
- 大于等于 >=
- 在两个值之间 between … and … 或者 >= and <=
- is null (is not null) 必须得is null,不能用等号 null。 数据库中的null代表什么都没有,不是一个值。
- and 并且
- or 或者
- in (not in) 不在这个范围
- like 模糊查询,支持% 或下划线匹配。
% 任意多个字符,
_ 任意一个字符。
如找出名字中含有O的
mysql> select
-> ENAME from emp
-> where EName like '%o%'
-> ;
+-------+
| ENAME |
+-------+
| JONES |
| SCOTT |
| FORD |
+-------+
3 rows in set (0.00 sec)
如找出第二个字母是A的
mysql> select
-> ENAME from EMP
-> where ENAME like '_A%'
-> ;
+--------+
| ENAME |
+--------+
| WARD |
| MARTIN |
| JAMES |
+--------+