数据库语句中不区分大小写
新增数据
全列插入:
insert into [表名] value()
指定列插入:
插入多组数据
查询数据
所有的select操作都不会对原来的表造成任何改变。
查找
1、全列查找
仅限于在测试环境查找,不能在生产环境上使用
生产环境的服务器压力大,数据库数据量非常多,一旦执行select*操作,可能给生产环境的服务器造成很大的负担,甚至导致服务器卡死或者死机。
1. 查询的列越多,意味着需要传输的数据量越大;
2. 可能会影响到索引的使用。
命令:
select * from [表名];
指定列查找
命令
select[列名]from[表名]
查找所有姓名和总成绩
列求和:同一行的若干列求和
查找所有名字和语文加10
mysql> select 名字,语文 + 10 from exam_result;
查询字段指定别名
select 名字,语文 + 数学 + 英语 as 总成绩 from exam_result;
去重
指定列去重
select distinct 列名 from 表名;
多列去重
select distinct 列名 from 表名;
排序
升序
select * from exam_result order by 语文 asc; asc也可以省略
降序
select * from exam_result order by 语文 desc;
按总成绩降序
按照总成绩排序,使用别名
按照多个列排序
如果数据为null排序默认为第一个
先按照语文降序、再数学降序排序、最后按英语降序排序
条件查询(常用)
条件查询中涉及的运算符
如果表达式 null = null =>null 相当于条件不成立;
如果表达式 null <=>null =>true 相当于条件成立
查找语文为null的数据
上述为错误写法,null=null结果为false
null参与运算 值都是null
查找数学低于75的
查找总分低于200的数据
查询语文成绩>80并且英语成绩也>80
查询语文成绩>80或者英语成绩>80
and和or同时使用时,and的优先级更高一点
查询语文成绩在[80,100]之间
查询数学成绩是38.6或者68.6的
模糊匹配like操作要搭配通配符使用,针对字符匹配或者数字,但是查询效率比较低
%:匹配任意个任意字符
_:匹配一个任意字符
查找所有姓孙的成绩
下划线和数量匹配
查找所有同学姓孙并且语文成绩>60的同学
分页查找
避免查询卡死
查找同学信息中总分最高的前3名
=查找同学信息中总分最高的4名-6名==
如果limit后面的数字太大,超出的记录的数目,返回结果不会有错误。
如果offset过大,得到的结果可能是一个空的结果
修改数据
update[表名]set[列名]=[修改的值],[列名]=[修改的值]where 子句
孙悟空的数学成绩改为80
如果不加任何的where限定条件,此时就会把所有的数据进行修改
修改多列
所有同学语文成绩都-10
将总成绩倒数3名的人,数学成绩+10
删除数据
删除曹孟德同学的考试成绩
delete from exam_result where 名字 = ‘曹孟德’;
删除整表数据
delete from 表名;
再次查询为空
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/152985.html