以下操作均以student表为基础:
一、增
insert into 表名 values(...);
例如:新增张三同学的个人信息;
insert支持多行插入,这样也会同时提高插入的效率。
insert into 表名 values(...),(...),...(...);
二、查
a、全列查询
select * from 表名;
用于查询数据表的全部内容。
b、指定列查询
select 列名 from 表名;
注意:
- 列名的顺序不一定要和表结构的顺序一致;
- 列名可以为一个,也可以为多个;
c、查询字段为表达式
select 表达式1,表达式2,…… from 表名;
此处的表达式是针对列名进行有关计算
例如:查找语文成绩高于数学成绩的学生信息
显然并不符合要求,在查询字段为表达式中,指定的表达式即为查询结果表的列名,查询结果是表达式的计算结果。大于为1,小于为0,可以在查询字段中加上学生的姓名,班级等相关信息使查询结果更加清晰。
例如:查询所有学生语文成绩加5的结果
注意:select中的操作并不会影响实际数据库的内容,查询结果只是一个临时表。
例如:查询所有学生数学成绩加10的结果
这里的结果已经并不符合当初设置math为double(3,1),此时有效数字已经为4位,但是能执行成功的原因就是这些结果并没有插入到实际的数据表中,只是临时表。
d、别名查询
select 表达式 as 别名 from 表名;
例如:查询学生的总成绩
e、对查询结果进行去重
select distinct 列名 from 表名;
此处的列名可以为多个。
例如:想查询表中的学生都来自那些班级。
f、排序
select 列名 from 表名 order by 列名 asc(升序)/desc(降序);
默认为升序
例如: 对学生的语文成绩进行降序排列。
排序支持使用别名
例如:对学生的总成绩进行排名
g、条件查询
select 列名 from 表名 where 表达式;
比较运算查找
使用比较运算符:>, >=, <, <=
等于:=
不等于:!=、<>
例如:查找语文成绩高于数学成绩的学生信息
逻辑运算查找
and:与
or:或
not:非
and的优先级高于or,在两者同时使用时,需使用小括号
例如:查找语文成绩大于85或者数学成绩大于90并且是一班学生的信息。
范围查找
between a and b
此处是左右闭区间,即[a,b],相当于>=a AND <=b
in(……)
表示是括号内的情况之一,相当于连用多个or
例如:查找数学成绩在80分~90分的学生信息。
例如:查找1班和2班学生的信息。
模糊查找
关键字:like
%:表示0个或多个字符
_:表示一个字符
例如:查找姓张的且名字只有两个字的学生信息。
例如:查找名字中包含‘强’ 的学生信息。
分页查询
limit m offset n;
从n开始筛选m条结果,默认从0开始
例如:查找总分前三的学生信息
注意:这些所有的查询类型可以叠加使用
三、改
update 表名 set 列名= 修改值 where /order by/limit;
例如:将张三的数学成绩修改为65;
四、删
delete from 表名 where /order by/limit;
例如:删除总分最后一名学生的信息