本文目录:
 
 
 

    增加数据

 insert [into] 表名[(可选字段名)] values(一堆值1),(一堆值2),.....
   into 可以省略
   表名后的字段可以选
   如果写了 后面的values中的值必须与表名后的字段一一对应
   如果没写 后面的values中的值必须与表的所有字段一一对应
   values后面可以给多组值 用逗号隔开

    删除数据

delete from 表名[where 条件]
  条件不写 是删除所有记录 是一行一行删除   注意自增id 不会归零
  truncate 重建表  先记录表结构 删除整个表再重新建出来表 自增id 会归零

    更新数据

  update 表名 set 字段名 = 值[,字段2 = 值2],[where 条件]
  可以一次性修改多个字段的值用逗号隔开
  条件如果不写 修改所有记录

 

二、单表查询

 不带关键字的查询
    select  {1.*|2.字段名|3.运算|4.聚合函数} from 表名 [where 条件]
    1.* 表示查询所有字段
    2.可以手动要查询的字段
    3.字段的值可以进行加减乘除运算
    4.聚合函数,用于统计
    where 是可选的
 
数据准备1:
create table stu(id int primary key auto_increment,name
char(10),math float,english float);
insert into stu values(null,"赵云",90,30);
insert into stu values(null,"小乔",90,60);
insert into stu values(null,"小乔",90,60);
insert into stu values(null,"大乔",10,70);
insert into stu values(null,"李清照",100,100);
insert into stu values(null,"铁拐李",20,55);
insert into stu values(null,"小李子",20,55);

关键字的作用
distinct  去除重复数据 所有数据全都重复才算重复
where  在逐行读取数据时的一个判断条件
group by  对数据分组
having   对分组后的数据进行过滤
order by 对结果排序
by 后面可以有多个排序依据
limit 指定获取数据条数
  limit 限制显示条数

  limit a,b
  limit 1,5
  从1开始 到5结束 错误
  从1开始 不包含1 取5条

  分页查询
  每页显示3条  共有10条数据
  if 10 % 3 == 0:
      10 / 3
  else:
      10/3 +1
  总页数4

  第一页
  select *from emp limit(0,3)
  第二页
  select *from emp limit(3,3)
  第二页
  select *from emp limit(6,3)

  起始位置的算法
  页数 - 1 * 条数
  1 - 1 = 0 * 3 = 0
  2 - 1 = 1 * 3 = 3

 

栗子1:查询去重后所有学生的名字 

mysql数据库:mysql增删改、单表、多表及子查询

 

 栗子2:获取大乔的数学与英语的成绩

mysql数据库:mysql增删改、单表、多表及子查询

 

栗子3:对全班数学分数做升序排列(order by后面不加默认升序)

mysql数据库:mysql增删改、单表、多表及子查询

 

栗子4:对全班英语分数做降序排列(升序asc,降序desc)

 mysql数据库:mysql增删改、单表、多表及子查询

 

栗子5:获取英语成绩为55分的第一条记录

mysql数据库:mysql增删改、单表、多表及子查询

 

完整的select 语句 语法 *****
select [distinct] * from 表名
[where
group by
having
order by
limit
]
 

注意 在书写时 必须按照这个顺序来写  但是顺写不代表执行顺序
数据库伪代码
def from():
    打开文件
def where():
    对读取的数据进行过滤
def group_by():
    对数据分组
def having():
    对分组后的数据进行过滤
def distinct():
    去除重复数据
def order():
    排序
def limit():
    指定获取条数
select 语句的执行顺序 *****
def select(sql):
    data = from()
    data = where(data)
    data = group by(data)
    data = having(data)
    data = distinct(data)
    data = orderby(data)
    data = limit(data)
    return data;
    concat()函数用于拼接字符串
    select
        (
        case
        when english + math > 120 then
        concat(name," nice")
        when english + math <= 130 then
        concat(name," shit")
        end
    ) ,english,math from stu;    *完全不重要
拓展

 

相关文章:

  • 2021-12-31
  • 2022-12-23
  • 2022-01-07
  • 2021-09-09
  • 2022-12-23
  • 2022-12-23
  • 2021-10-10
猜你喜欢
  • 2021-12-17
  • 2021-09-30
  • 2022-12-23
  • 2022-02-18
  • 2022-12-23
  • 2022-12-23
  • 2021-08-18
相关资源
相似解决方案