前言
本篇文章我们学习一下表的增删改查的一些基础操作,有关约束等相对较难理解的操作在下篇文章再来学习。
一、新增数据
语法:insert into 表名 values( 名称 属性,名称 属性 );(按属性的顺序)
注意:1.可以一次插入多列,中间用逗号隔开(这个插入的效率比较高):
2.insert还能指定列插入,插入的时候只插入指定的列,而不是所有的列
二、查询数据
1.全列查找
语法:select * from 表名;
2.指定列查找
select 列名 from 表名;
3.查询字段为表达式
表达式查询,还可以列和列之间进行运算:
注意:运算的时候使用数字和字符串进行计算是不行的。
比如姓名+语文成绩:
4.给查询结果的列起别名
语法: 查询的列 as total
注意:不加as也可以,但是容易搞混,所以还是加上as.
5.去重操作
distinct关键字,修饰某个列,针对这列的数据进行去重.
左边是没有去重的,右边是已经去重的。
去重操作也可以对多个列执行,但是规则有点不同,比如:
6.查询结果进行排序
语法:select 列名 from 表名 order by 列名( asc);(不写asc也许,默认是asc升序排序)
降序语法:select 列名 from 表名 order by 列名 desc;
排序还能指定多个列进行排序,指定多个列的时候,哪个列靠前,哪个列的优先级就高:
7.条件查询
语法:select 列名 from 表名 where 条件;
先来看一下sql中比较重要的运算符:
比较运算符:
运算符 |
说明 |
= |
等于,NULL 不安全,例如 NULL = NULL 的结果是 NULL |
<=> |
等于,NULL 安全,例如 NULL <=> NULL 的结果是 TRUE |
between a and b |
范围匹配,[a, b],如果 a <= value <= b,返回 TRUE |
in ( option,…) |
如果是 option 中的任意一个,返回 TRUE |
is null |
是null |
is not null |
不是null |
LIKE |
模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字符 |
运算符 |
说明 |
AND |
多个条件必须都为 TRUE,结果才是 TRUE |
or |
任意一个条件为 TRUE, 结果为 TRUE |
not |
条件为 TRUE,结果为 FALSE |
注意:1.AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分。
2.WHERE条件可以使用表达式,但不能使用别名。
示例:
1.查询英语不及格同学的成绩:
2.查询语文成绩好于英语成绩的同学:
3.查询总分再200分以下的同学:
4.查询语文大于80分且英语大于80分的同学:
4.查询语文大于80分或英语大于80分的同学:
(这里牵扯到一个and和or优先级的问题,and比or的优先级更高,不过我建议and和or都出现的时候,加括号!不然很容易搞混!!!)
5.查询语文成绩在80-90的同学:
6.查询数学成绩是58,59或者98 99的同学:
8.分页查询
语法:limit关键字
select 列名 from 表名 limit N;查询前n条记录
select 列名 from 表名 limit N offset M;从第M条记录开始,查询N条记录(M从0开始算)
示例:
1.查询前三条记录:
2.从第4条开始查询3条记录:
(注意offset 后面的M是从0开始算)
三丶修改数据
语法:update 表名 set 列名=值,列名=值,where 条件;
示例:1.将孙悟空同学的数学 成绩变为80
2.曹孟德同学的数学成绩变为60,语文成绩变为70。
3.将总成绩倒数前三的同学的数学成绩加上10分
四丶删除数据
语法:delete from 表名 where 条件;
删完了之后再查找就没孙尚香的记录了:
总结
增删查改中,查最为复制,我们要熟练的去练习查数据。