1. 逻辑运算符
- >
- <
- =
- !=
- <> 等价于 !=
- or
- and
2. 通配符
- % -> 表示可以有任意多个字符
- _ -> 表示一个任意字符
3. where 条件筛选关键字
- 不能使用 where 对聚合函数的结果进行条件筛选
4. 插入数据
- 添加一条数据
insert into t1(id,name) values(1,'凯文');

- 同时添加多条数据
insert into t1(id,name) values(1,'凯文'),(2,'Kevin'),(3,'Yeung');

- 获取另一个表的数据添加到自身表当中
insert into t2(name,age) select name,age from t1;

5. 查询数据
- 通过 * 查询表中的所有数据 -> 不建议使用 * 来进行数据的查询,因为查询效率低(在平时练习可以使用,但是在工作中就不要使用了)
# select * from 表名;
select * from t1;

- 查询某几列的数据
# select 字段名,字段名,字段名 from 表名;
select name,sex from t1;

- 条件查询
# select 字段名,字段名 from 表名 where 条件;
select name,age,sex from t1 where age>23 and age<40;

- 给字段起别名
# select 字段名 as 别名 from 表名
select name as n, sex as s from t1;

- 给表起别名
# select 字段名 from 表名 as 别名
# 在这里看不出什么使用效果,但是在 Mysql 练习题中的有相关的例子 -> 按平均成绩从高到低,显示所有学生的生物、物理、体育、美术四门的课程成绩,按如下形式显示: 学生ID,语文,数学,英语,课程数,平均分
select name,age,sex from t1 as t1_alias;

- 给表或字段起别名的时候可以省略 as 关键字,但是不建议这样做,因为可读性差
# select 字段名 字段别名 from 表名 表别名
select name n,age a,sex s from t1 t;

- 对查询到的数据进行运算
# select 字段名 + 1 from 表名
select name, age + 1 as age from t1;

- 如果在查询数据的过程中写了一个常量(数字),那么该常量就会形成一个新的列
# select 字段名,字段名,常量 from t1;
select name,sex,22 from t1;

- 在 select 语句中的字段名那一块可以使用 select 语句(字段名那一块的select语句查询的结果数量必须是一个,不然就会报错),其实和上面的常量差不多只不过它是通过 select 查询出来的
# select 字段名,(select查询语句) from 表名 where 条件
# 在 Mysql 练习题中的有相关的例子 -> 按平均成绩从高到低,显示所有学生的生物、物理、体育、美术四门的课程成绩,按如下形式显示: 学生ID,语文,数学,英语,课程数,平均分
- 注意事项: select语句在进行条件筛选的时候只能使用自己表内的字段,而通过select语句额外添加的字段是无法获取到的该字段的数据,解决办法将查询出来的所有数据作为临时表然后就可以获取到通过select语句额外添加的字段中的数据对它进行条件的筛选了
# 在 Mysql 练习题中的有相关的例子 -> 查询各科成绩前三名的记录: 不考虑成绩并列情况
- in 查询xxx在这堆数据里的数据
select * from t1 where id in (1,3,5);

# 查询xxx在这堆数据(而这堆数据是另一个表的数据,且只允许获取一列的数据)里的数据
select * from t1 where id in (select sid from t2);

- not in 查询xxx不在这堆数据里的数据
select * from t1 where id not in (1,2,3,5);

- between 查询 xxx 在这个范围里的数据
select * from t1 where id between 2 and 5;

6.修改数据
- 某个字段中的所有数据修改为xxx
# update 表名 set 字段名 = xxx;
update t1 set name='凯文';

- 通过条件进行判断修改
# update 表名 set 字段名 = xxx where 条件;
update t1 set name = 'Yeung' where id>=3;

- 同时修改两列的数据
update t1 set name='Eric',age=25 where id<3;

7.删除某些数据
# delete from 表名 where 条件;
delete from t1 where id=2;
