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;