查询
全列查询
指定列查询
查询字段并添加自定义表达式
自定义表达式重命名
查询指定列并去重
where条件
查询列数据不为null的
查询某列数据指定范围
select * from 表名 where 列名 between 起点 and 末尾;
若未指定,其他不满足的数据也会显示,因为本身命令没要求他们不显示,其次也没要求他们不显示。
查询某列数据指定范围并且指定显示
select 列名… from 表名 where 列名 between 起点 and 末尾
select 列名… from 表名 where 列名>范围 and 列名<范围
select 列名… from 表名 where 列命 in(指定范围)
查找列指定数据
模糊匹配
查找第一个为孙的
查找以孙开头两个字的
查找以孙开头三个字的
查找不以孙字开头的
查找两个列比较大小的
查找语文>数学
查找语文大于80并且name不以孙字开头的
查找总分>200的
为什么这里用别名会报错?
可以看到select的执行顺序,先找到表,其次是条件,再去表里查找,而条件是 ’总分‘ 但并没用这个条件,因为总分是在第四次才开始重命名的,所以报错了。
正确做法
结果排序
查询chinese的降序
查询以数学降序,英语升序,语文升序的方式显示
以数学为key先排 如果数学数据相同,以英语来排,如果英语数据也相同,以语文来排。
查询姓孙的同学或者姓曹的同学数学成绩,结果按数学成绩由高到低显示
以总分排降序
为什么这里用别名可以,而where不行?这也跟select执行顺序有关
因为排序是最后才执行的,所以第二步时其实并没用用到 ‘总分‘ ,执行排序时,排序是第五梯队,而重命名是第四梯队,所以排序时总分已经重命名了,即可以使用,不会报错。
查询总分降序并且只显示前三个。
limit 3 取得结果后的前三行
limit s,n 取第s个到n个
更新
update 表名 set 修改的数据 where 条件
将孙悟空的英语修改为90
update test12 set chinese=80; 谨慎使用!
将总成绩倒数前三的 3 位同学的数学成绩加上 30 分
update 表名 set 条件 order by 排序的分数 desc limit n(要修改的n行)
删除
delete from 表名 where 条件
delete from 表名 order by 总分 limit n(要删除n行)
都是清空表数据 delete不会重置auto_increment(自增长) truncate会重置auto_increment(自增长)
原文地址:https://blog.csdn.net/weixin_57535054/article/details/134632068
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_18099.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!