被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)

MySQL表的增删改查(基础)

  • 新增数据
  • 查询数据
    • 查找
    • 去重
    • 排序
    • 条件查询(常用)
    • 分页查找
  • 修改数据
  • 删除数据

数据库语句中不区分大小写
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第1张图片

新增数据

全列插入:
insert into [表名] value()

在这里插入图片描述
指定列插入:
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第2张图片
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第3张图片
插入多组数据
在这里插入图片描述

查询数据

所有的select操作都不会对原来的表造成任何改变。

查找

1、全列查找

仅限于在测试环境查找,不能在生产环境上使用
生产环境的服务器压力大,数据库数据量非常多,一旦执行select*操作,可能给生产环境的服务器造成很大的负担,甚至导致服务器卡死或者死机。

1. 查询的列越多,意味着需要传输的数据量越大;
2. 可能会影响到索引的使用。

命令:
select * from [表名];

被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第4张图片
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第5张图片
指定列查找
命令
select[列名]from[表名]

被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第6张图片
查找所有姓名和总成绩
列求和:同一行的若干列求和
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第7张图片
查找所有名字和语文加10
mysql> select 名字,语文 + 10 from exam_result;
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第8张图片
查询字段指定别名
select 名字,语文 + 数学 + 英语 as 总成绩 from exam_result;
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第9张图片

去重

被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第10张图片
指定列去重
select distinct 列名 from 表名;
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第11张图片
多列去重
select distinct 列名 from 表名;
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第12张图片

排序

升序
select * from exam_result order by 语文 asc; asc也可以省略
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第13张图片
降序
select * from exam_result order by 语文 desc;
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第14张图片
按总成绩降序
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第15张图片
按照总成绩排序,使用别名
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第16张图片
按照多个列排序

如果数据为null排序默认为第一个
先按照语文降序、再数学降序排序、最后按英语降序排序
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第17张图片

条件查询(常用)

条件查询中涉及的运算符
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第18张图片
如果表达式 null = null =>null 相当于条件不成立;
如果表达式 null <=>null =>true 相当于条件成立

被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第19张图片
查找语文为null的数据
在这里插入图片描述
上述为错误写法,null=null结果为false
null参与运算 值都是null
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第20张图片
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第21张图片
查找数学低于75的
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第22张图片
查找总分低于200的数据

被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第23张图片被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第24张图片
查询语文成绩>80并且英语成绩也>80
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第25张图片
查询语文成绩>80或者英语成绩>80
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第26张图片
and和or同时使用时,and的优先级更高一点
查询语文成绩在[80,100]之间
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第27张图片
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第28张图片
查询数学成绩是38.6或者68.6的
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第29张图片
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第30张图片
模糊匹配like操作要搭配通配符使用,针对字符匹配或者数字,但是查询效率比较低
%:匹配任意个任意字符
_:匹配一个任意字符

查找所有姓孙的成绩
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第31张图片
下划线和数量匹配
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第32张图片
查找所有同学姓孙并且语文成绩>60的同学
在这里插入图片描述
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第33张图片

分页查找

避免查询卡死
查找同学信息中总分最高的前3名
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第34张图片
=查找同学信息中总分最高的4名-6名==
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第35张图片
如果limit后面的数字太大,超出的记录的数目,返回结果不会有错误。
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第36张图片
如果offset过大,得到的结果可能是一个空的结果
在这里插入图片描述

修改数据

update[表名]set[列名]=[修改的值],[列名]=[修改的值]where 子句

孙悟空的数学成绩改为80
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第37张图片
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第38张图片
如果不加任何的where限定条件,此时就会把所有的数据进行修改
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第39张图片
修改多列
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第40张图片

所有同学语文成绩都-10
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第41张图片
将总成绩倒数3名的人,数学成绩+10
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第42张图片

删除数据

删除曹孟德同学的考试成绩
delete from exam_result where 名字 = ‘曹孟德’;
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第43张图片
删除整表数据

delete from 表名;
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第44张图片
再次查询为空
被人打掉奶瓶都要来写的数据库(MySQL)表的CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)(基础)_第45张图片

你可能感兴趣的:(数据库)