mysql表的增删查改
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表的增删查改相关推荐
- MySQL学习(2)——MySQL表的增删查改(基础)
1.CRUD CRUD 即增加(Create).查询(Retrieve).更新(Update).删除(Delete) 四个单词的首字母缩写 2.新增(Cteate) 语法: INSERT [INTO] ...
- MySQL:带你掌握表的增删查改
表的增删查改 Create 单行数据 + 全列插入 多行数据 + 指定列插入 插入否则更新 替换 Retrieve SELECT 列 WHERE 条件 结果排序 筛选分页结果 Update Delet ...
- MySQL - 对数据表进行“增删查改”的基础操作 - 细节狂魔
文章目录 前文知识点回顾 正文 :对数据表进行"增删查改"操作 新增操作 - insert 关键字 查找语句(基础操作) - select关键字 - 重点!!!!!!!! 1.最基 ...
- 【MySQL】6.0 表的增删查改
英语单词 Create 创建 Retrieve 读取 Update 更新 Delete 删除 duplicate 复制 updata 更新数据 replace 替换 constraint 限制 cru ...
- python学习之flask sqlalchemy介绍和使用 表操作增删查改
flask sqlalchemy介绍和使用 表操作增删查改 内容详细 1 sqlalchemy介绍和快速使用 1.1 介绍 # SQLAlchemy是一个基于Python实现的ORM框架# djang ...
- ASP.NET两个关联的表的增删查改
两个关联的表的增删查改 主要用了参数 SqlParameter,事务执行多条sql 表Users ID int Name varchar 表UsersDetail ID ...
- C++实现静态顺序表的增删查改以及初始化
C++实现静态顺序表的增删查改 顺序表:用一段地址连续的存储单元依s次存储数据元素的线性结构,是线性表的一种. //SeqList.h#pragma once#include <assert.h ...
- 【TcaplusDB知识库】GO快速上手PB表的增删查改操作
PROTOBUF说明 PROTO表是基于PROTOBUF协议设计的TcaplusDB表,PROTOBUF协议是Google开源的通用RPC通信协议,用于TcaplusDB存储数据的序列化.反序列化等操 ...
- 【线性表】—动态顺序表的增删查改实现
小菜坤日常上传gitee代码:https://gitee.com/qi-dunyan(所有的原码都放在了我上面的gitee仓库里) 数据结构知识点存放在专栏[数据结构]后续会持续更新 ❤❤❤ 个人简介 ...
最新文章
- 跟我一起学.NetCore之熟悉的接口权限验证不能少(Jwt)
- 令人惋惜的天才新秀:16岁上剑桥大学,27岁就出名,数学事业一路畅通无阻,但自从结婚后,人生从此翻天覆地······
- vue2.0移除或更改的一些东西
- ​老男孩教育每日一题-第73天 -基础命令点:可恶的^C
- 动态修改服务器配置文件,asp.net(c#)动态修改webservice的地址和端口(动态修改配置文件)...
- 生产系统仿真软件,实现数字化工厂的利器!
- CompoundButton 选中/未选中状态的按钮
- 头部姿态估计:《Fine-Grained Head Pose Estimation Without Keypoints》
- 在路上——黄山、宏村
- postgresql unsupported frontend protocol 1234.5680问题
- 微信小程序正式上线,服务端请求必须HTTPS
- Windows 10操作系统配置L2TP方法
- 计算机运行速度和科学研究,()的计算机运算速度可达到一太次以上,主要用于国家高科技领域与工程计算和尖端技术研究。...
- 中国医师节丨华为IdeaHub用远程诊疗护佑人民健康,为医生减负
- 液体点滴速度监控报警装置(51单片机)
- python:gettext --- 多语种国际化服务
- SCO OpenServer 5.0.7安装心得
- 飞冰(ICE) 阿里家的前端图形化一键工具
- ue4 体积光与体积雾 快速入门
- 服务器虚拟化vmware价格,vmware服务器虚拟化实施方案(vmware服务器虚拟化收费)...