mysql3 表的增删查改

    • 创建数据表
    • 单行插入
    • 多行插入
    • 指定列插入
    • 替换
    • select列
      • 全列查询
      • 指定列查询
      • 表达式中可以包含一个字段
      • 给输出的结果重命名
      • 去除重复结果
    • where条件
      • 比较运算符
      • 逻辑运算符
    • order by排序
    • 筛选分页结果
      • 从0开始,筛选n条结果
      • 从s开始,筛选n条结果
    • 删除数据
    • 截断表
  • 聚合函数
  • group by子句使用

创建数据表

create table [表名]([列1] [数据类型1], [列2] [数据类型2], ...);

单行插入

insert into [表名] values(数据1, 数据2, ...);

多行插入

insert into [表名] values(第一行数据1, 第一行数据2, ...),(第二行数据1, 第二行数据2, ...);

指定列插入

insert into [表名](列1, 列2, ...) values(列1数据, 列2数据, ...);

替换

replace into [表名] values(数据1, 数据2, ...);
replace into [表名](列1, 列2, ...) values(列1数据, 列2数据, ...);
替换的时候需要注意:
一定要在替换的数据当中,能够唯一标识是哪一行数据(否则就重新插入了)
替换的步骤:先将原先的数据删除,再重新插入

select列

为全表查询,会输出全表中查询列的所有数据

全列查询

select * from [表名];
数据量小时可以使用,数据量多时不建议使用

指定列查询

select [列1],[列2],... from [表名];
注意:在指定列查询时,如果指定列不在表中,则默认输出行的数值为指定列的数值
所有的查询都不改变原表数据

表达式中可以包含一个字段

select [列1想要进行的操作],[列2想进行的操作],... from [表名];
例如:在stu表中想查询序号姓名分数时给分数(grade)加10
select id,name,grade+10 from stu;

给输出的结果重命名

select [列1想要进行的操作] [想要输出时更改的名称],[列2想进行的操作] [想要输出时更改的名称],... from [表名];

select [列1想要进行的操作] as [想要输出时更改的名称],[列2想进行的操作] as [想要输出时更改的名称],... from [表名];

去除重复结果

select distinct [列1],[列2],... from [表名];

where条件

select [列1],[列2],... from [表名] where [约束条件];
例如:
select id,name,grade from stu where name='张三';

比较运算符

>,>=,<,<=          大于,大于等于,小于,小于等于可以查询一个列大于另一个列,例如语文(yuwen)大于英语(yingyu) -> where yuwen > yingyu
=                  等于,NULL不安全,例如NULL=NULL的结果为NULL
<=>                  等于,NULL安全,例如NULL=NULL的结果为TRUE(1)
!=,<>                不等于
BETWEEN a0 AND a1   范围匹配,[a0, a1],如果a0 <= value <= a1,返回TRUE(1)
IN(option, ...)     如果是option中的任意一个,返回TRUE(1)
IS NULL             是NULL
IS NOT NULL         不是NULL
LIKE                模糊匹配    ,% 表示任意多个(包括0个)任意字符,_ 表示任意一个字符例如:查找姓孙的同学             where name like '孙%'查找姓孙且名字为一个字的同学    where name like '孙_'查找不姓孙的同学              where name not like '孙%'假设有英语(yingyu)语文(yuwen)数学(shuxue)三项成绩,想查询总分200以下的:

逻辑运算符

AND      多个条件必须都为TRUE(1),结果才是TRUE(1)
OR      任意一个条件为TRUE(1),结果就是TRUE(1)
NOT     条件为TRUE(1),结果为FALSE(0)

order by排序

select ... from [表名] [where ...] [order by ...];
NULL视为比任何数都小
默认为ASC(升序),如果需要降序则在后面加上DESC例如数学语文英语,需要数学降序,语文英语升序

或是总分降序排列

添加几个数据,查询姓赵的同学的数学成绩并降序排列


筛选分页结果

从0开始,筛选n条结果

select ... from [表名] [where ...] [order by ...] limit n;

从s开始,筛选n条结果

select ... from [表名] [where ...] [order by ...] limit s,n;
select ... from [表名] [where ...] [order by ...] limit n offest s;


update [表名] set [列名1] = [想要修改的值], [列2] = [想要修改的值], ... [where ...] [order by ...] [limit ...];
注意:如果仅使用 update [表名] set [列名1] = [想要修改的值];会将这一列所有的值都变成想要修改的值
所以一般需要加一个约束条件,用来框定需要更新哪些具体的行例如想把赵铁柱的数学改成80分:

想让总分排名倒数三的人的数学成绩加上30分
首先先查哪些是倒数三的人

随后使用in约束条件来给他们加上30分

好家伙都给铁柱改成80了咋分还是倒数呢,这就是木桶效应吗

删除数据

delee
1、delete只删除表数据,不会修改表结构
2、删除数据要慎用(物理删除)
delete from [表名] [where ...];
可以用约束条件来框定删除范围
例如删除铁柱的成绩


心疼铁柱三秒

截断表

重置表结构(表结构当中有些自增选项)
表数据也被清空,需慎用
truncate [表名];

聚合函数

COUNT(列名或*)  返回查询到的数据的数量
SUM(列名或*)       返回查询到的数据的总和,不是数字没有意义
AVG(列名或*)       返回查询到的数据的平均值,不是数字没有意义
MAX(列名或*)       返回查询到的数据的最大值,不是数字没有意义
MIN(列名或*)       返回查询到的数据的最小值,不是数字没有意义

group by子句使用

可以对指定列进行分组查询
select [列1],[列2],... from [表名] group by [按照某一列进行分组];
例如想求两个班级分别的平均分:可以先分组,对分组的结果进行聚合


同时可以在后边加上having进行约束
select [列1],[列2],... from [表名] group by [按照某一列进行分组] [having ...];

mysql表的增删查改相关推荐

  1. MySQL学习(2)——MySQL表的增删查改(基础)

    1.CRUD CRUD 即增加(Create).查询(Retrieve).更新(Update).删除(Delete) 四个单词的首字母缩写 2.新增(Cteate) 语法: INSERT [INTO] ...

  2. MySQL:带你掌握表的增删查改

    表的增删查改 Create 单行数据 + 全列插入 多行数据 + 指定列插入 插入否则更新 替换 Retrieve SELECT 列 WHERE 条件 结果排序 筛选分页结果 Update Delet ...

  3. MySQL - 对数据表进行“增删查改”的基础操作 - 细节狂魔

    文章目录 前文知识点回顾 正文 :对数据表进行"增删查改"操作 新增操作 - insert 关键字 查找语句(基础操作) - select关键字 - 重点!!!!!!!! 1.最基 ...

  4. 【MySQL】6.0 表的增删查改

    英语单词 Create 创建 Retrieve 读取 Update 更新 Delete 删除 duplicate 复制 updata 更新数据 replace 替换 constraint 限制 cru ...

  5. python学习之flask sqlalchemy介绍和使用 表操作增删查改

    flask sqlalchemy介绍和使用 表操作增删查改 内容详细 1 sqlalchemy介绍和快速使用 1.1 介绍 # SQLAlchemy是一个基于Python实现的ORM框架# djang ...

  6. ASP.NET两个关联的表的增删查改

    两个关联的表的增删查改 主要用了参数 SqlParameter,事务执行多条sql 表Users ID         int Name   varchar 表UsersDetail ID       ...

  7. C++实现静态顺序表的增删查改以及初始化

    C++实现静态顺序表的增删查改 顺序表:用一段地址连续的存储单元依s次存储数据元素的线性结构,是线性表的一种. //SeqList.h#pragma once#include <assert.h ...

  8. 【TcaplusDB知识库】GO快速上手PB表的增删查改操作

    PROTOBUF说明 PROTO表是基于PROTOBUF协议设计的TcaplusDB表,PROTOBUF协议是Google开源的通用RPC通信协议,用于TcaplusDB存储数据的序列化.反序列化等操 ...

  9. 【线性表】—动态顺序表的增删查改实现

    小菜坤日常上传gitee代码:https://gitee.com/qi-dunyan(所有的原码都放在了我上面的gitee仓库里) 数据结构知识点存放在专栏[数据结构]后续会持续更新 ❤❤❤ 个人简介 ...

最新文章

  1. 跟我一起学.NetCore之熟悉的接口权限验证不能少(Jwt)
  2. 令人惋惜的天才新秀:16岁上剑桥大学,27岁就出名,数学事业一路畅通无阻,但自从结婚后,人生从此翻天覆地······
  3. vue2.0移除或更改的一些东西
  4. ​老男孩教育每日一题-第73天 -基础命令点:可恶的^C
  5. 动态修改服务器配置文件,asp.net(c#)动态修改webservice的地址和端口(动态修改配置文件)...
  6. 生产系统仿真软件,实现数字化工厂的利器!
  7. CompoundButton 选中/未选中状态的按钮
  8. 头部姿态估计:《Fine-Grained Head Pose Estimation Without Keypoints》
  9. 在路上——黄山、宏村
  10. postgresql unsupported frontend protocol 1234.5680问题
  11. 微信小程序正式上线,服务端请求必须HTTPS
  12. Windows 10操作系统配置L2TP方法
  13. 计算机运行速度和科学研究,()的计算机运算速度可达到一太次以上,主要用于国家高科技领域与工程计算和尖端技术研究。...
  14. 中国医师节丨华为IdeaHub用远程诊疗护佑人民健康,为医生减负
  15. 液体点滴速度监控报警装置(51单片机)
  16. python:gettext --- 多语种国际化服务
  17. SCO OpenServer 5.0.7安装心得
  18. 飞冰(ICE) 阿里家的前端图形化一键工具
  19. ue4 体积光与体积雾 快速入门
  20. 服务器虚拟化vmware价格,vmware服务器虚拟化实施方案(vmware服务器虚拟化收费)...

热门文章

  1. python求极值(极大值、极小值)
  2. windows使用WSL安装linux子系统
  3. Linux/Ubuntu 单机配置Hbase
  4. selenium隐式等待
  5. antd 下拉框怎么联动_Antd的Table组件嵌套Table以及选择框联动操作
  6. .net Core 介绍
  7. Java servlet ajax
  8. Hibernate 一对一关联查询
  9. 强连通分量 Kosaraju PK Tarjan(转)
  10. hdu 2082 找单词(母函数)