MySQL数据库——DML基本操作

2023-11-06

在这里插入图片描述

前言

前面我们学习了MySQL——DDL操作,对数据库和表的结构的操作,那么今天我将为大家分享MySQL——DML操作,对表数据的操作。

MySQL DML操作有以下几种:

  1. 插入操作(INSERT):用于向数据库中插入新的数据行。可以一次插入单行数据,也可以使用一条SQL语句一次性插入多行数据。

  2. 更新操作(UPDATE):用于修改数据库中已有的数据行。可以根据指定的条件更新满足条件的数据行。

  3. 删除操作(DELETE):用于从数据库中删除数据行。可以根据指定的条件删除满足条件的数据行。

插入数据

MySQL中,向1表中插入数据的方式有两种:insert into 表名 values (值1,值2,值3);insert into 表名 (列名1,列名2) values (值1,值2);

全列插入

第一种插入方式是插入所有列的数据 insert into 表名 values (值1,值2,值3);,并且列的数据需要跟列的位置相对应。

create table student(
	id int,
	name varchar(20),
	chinese decimal(3,1),
	math decimal(3,1),
	english decimal(3,1));
	
insert into student values(01,'张三',85,95.5,90);

在这里插入图片描述

如果需要添加的数据很多,我们是不是也只能一个一个的添加呢?当然不是,我们可以一次添加多个数据。每一组数据之间使用逗号 , 分隔。

insert into student values(02,'李四',87,97.5,87.5),
						(03,'王五',88,90,96);

在这里插入图片描述

指定列插入

有些时候,插入数据的时候,不需要插入所有列的数据,而是可以指定列来插入 insert into 表名 (列名1,列名2) values (值1,值2);

insert into student(name,math) values('李华',98);

在这里插入图片描述
没有被插入数据的列会是默认值。

指定列插入同样可以一次插入多组数据。

insert into student(name,chinese) values('小美',96),
										('小帅',92);

在这里插入图片描述

修改数据

当我们添加完数据之后,我们可以对已添加的数据进行修改。修改全部列的数据: update 表名 set 列名 值;,修改指定行的数据:update 表名 set 列名 值 where 条件;

在这里插入图片描述

将所有人的语文成绩加上3分。

update student set chinese = chinese + 3;

在这里插入图片描述
将张三的语文成绩减去2分。

update student set english = english - 2 where name = '张三';

在这里插入图片描述

删除数据

MySQL 删除数据删除的是一行的数据。在MySQL中删除数据主要有两种方式:
delete from 表名 [where 条件];truncate table 表名 / truncate 表名;

delete from 表名 [where 条件]; 删除数据通常搭配着后面的 where 条件语句,如果没有后面的 where 条件语句,将会删除整个表。

delete from student;

在这里插入图片描述

delete from 表名 where 条件; 删除符合条件的行数据。

delete from student where name = '小美';

在这里插入图片描述

truncate table 表名; / truncate 表名; 删除表中的所有数据,它跟 delete 删除数据是有点区别的,当 delete 删除表中的所有数据时,只是删除了表中的所有数据,而 truncate 删除数据类似于 drop table 表名 ,它会先将表给删除,然后再创建一个没有数据的空表。

truncate table student;
truncate student;

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL数据库——DML基本操作 的相关文章

  • INSERT..RETURNING 在 JOOQ 中不起作用

    我有一个 MariaDB 数据库 我正在尝试在表中插入一行users 它有一个生成的id我想在插入后得到它 我见过this http www jooq org doc 3 8 manual sql building sql statemen
  • 从按日期时间排序的 MySQL 表中获取用户的最后一个条目

    我有一张看起来像这样的桌子 USERNAME DATA DATETIME Jhon text1 2010 06 01 16 29 43 Mike text2 2010 06 01 16 29 22 Silver text3 2010 05
  • 仅当值发生更改时如何插入数据库?

    我需要更新 替换 MySQL 数据库中的字段 但前提是它们已更改 该表包含 ID 文本字段和更改日期 用户根据更改日期通过 ID 查询数据 即 如果该日期早于用户上次查询数据的时间 则他不想要它 仅当文本字段与具有相同 ID 的现有文本字段
  • covertJSONtoSQL 在 NiFi 中返回空值

    我正在设计一项工作 使用以下命令将数据从 MySQL 中的数据库转移到另一个数据库 MySQL 执行SQL处理器随后将Avro转换为Json then 将Json转换为SQL then PutSQL如下流程图所示 将JSON转换为SQL返回
  • PHP MYSQL文件内容转义问题

    我正在尝试使用 php 将 pdf 文件上传到 mysql 数据库中 除了文件内容之外 一切都很好 无论我如何尝试转义特殊字符 查询总是失败 主要是 未知命令 n 我使用过addslashes mysql real escape strin
  • libmysqlclient.a 和 libmysqlclient_r.a 有什么区别?

    我应该使用哪个来链接 mysqlclient 库 它们之间有什么区别 我似乎找不到答案 谢谢 较新版本的 MySQL 客户端发行版不包含 r 版本 有些可能有从 libmyqslclient r a 到 libmyqslclient a 的
  • 无法在 Mac 上启动 MySQL

    使用 Brew 安装后 我无法运行 MySQL 我使用的是 OS X El Capitan 版本 10 11 3 和 MySQL Server 版本 5 7 11 当我启动服务器时 我收到 启动 MySQL 错误 服务器退出而不更新 PID
  • MySQL 错误 1172 - 结果包含多行

    在存储过程中运行查询时 我从 MySQL 收到此错误 错误代码 1172 结果包含多行 我理解错误 我正在做一个SELECT INTO var list 因此查询需要返回单行 当我使用LIMIT 1 or SELECT DISTINCT 错
  • 如何在 MySQL 中测试 Select for Update

    我正在表演SELECT FOR UPDATE或 InnoDB 表的行级锁定 我的目的是只有一个请求可以读取同一行 因此 如果两个用户同时请求相同的数据 其中只有一个人获取数据 即第一个触发查询的人 但是我如何测试锁定是否已放置 因为我正在通
  • 用 pandas DataFrame 替换 mysql 数据库表中的行

    Python 版本 2 7 6 熊猫版本 0 17 1 MySQLdb 版本 1 2 5 在我的数据库中 PRODUCT 我有一张桌子 XML FEED 表 XML FEED 很大 数百万条记录 我有一个 pandas DataFrame
  • 如何从批量数据中的mysql列中删除所有非数字字符

    我想从列中删除所有非数字字符 我的数据库中有大量数据 目前我正在使用以下链接中描述的方法 http venerableagents wordpress com 2011 01 29 mysql numeric functions http
  • 让登录更安全

    我已使用此代码进行管理员登录 仅当用户输入正确的用户名和密码时才应打开loginhome php 但后来我意识到这根本不安全 任何人都可以直接访问 mywebsite loginhome php 而无需登录 注销后 可以使用后退按钮打开 l
  • 如何在 SEQUELIZE (nodeJS) 中创建触发器?

    我正在尝试使用sequelize 创建一个触发器 主要思想是创建一个实例CONFIG创建后USER USER MODEL module exports function sequelize DataTypes var User sequel
  • 将庞大数据库从亚马逊RDS导出到本地mysql

    我在 Amazon RDS 上有一个 mysql 数据库 大约 600GB 数据 我需要将其移回本地专用服务器 但我不知道从哪里开始 每次我尝试初始化 sqldump 时它都会冻结 有没有办法将其移至 S3 甚至可能在开始下载之前将其分成更
  • MySQL 与日语字符

    我试图弄清楚如何创建一个表 以便我可以在其中插入日语名字 现在我有 Type InnoDB Encoding UTF 8 Unicode utf8 Collation utf8 general ci 但是 当我插入字符时 它显示为 当我使用
  • MYSQL从每个类别中随机选择一条记录

    我有一个数据库Items表看起来像这样 id name category int 有几十万条记录 每个item可以是 7 种不同的之一categories 对应于categories table id category 我想要一个从每个类别
  • 随机组合 MySQL 数据库中的两个单词

    我有一个包含名词和形容词的数据库 例如 id type word 1 noun apple 2 noun ball 3 adj clammy 4 noun keyboard 5 adj bloody ect 我想创建一个查询 它将抓取 10
  • 通过触发器应用表的列权限

    现在 我有一个名为 Members 的表 其中包含内容 分为联系人数据 银行数据 现在 管理员应该能够创建 更新 删除用户 这些用户保存在另一个表中 该表只能访问管理员 用户应该获得自己的 mysql 用户帐户 管理员还应该能够设置权限 例
  • mysql排序和排名语句

    我需要一些 mysql 语句的帮助 我的表 1 有 7 列 表 2 有 8 列 额外的列名为排名 我的语句应该是这样的 从表 1 中选择全部 然后按 用户数 排序 将其插入表 2 中并排名开始 1 2 3 等 table 1 usernam
  • 内部 while 循环不工作

    这是我项目网页上的代码片段 这里我想显示用户选择的类别 然后想显示属于该类别的主题 在那里 用户可以拥有多个类别 这没有问题 我可以在第一个 while 循环中打印所有这些类别 问题是当我尝试打印主题时 结果只显示一行 但每个类别中有更多主

随机推荐

  • MySQL主从复制原理、半同步操作步骤及原理

    原文地址 http blog csdn net linuxlsq article details 52606292 1 1 企业Linux运维场景数据同步方案 1 1 1 文件级别的异机同步方案 1 scp sftp nc 命令可以实现远程
  • iOS是伪多任务?

    iOS是伪多任务 Android系统原生就支持多任务 而iOS系统是从4开始的 它的多任务并不是传统意义上的多任务 不是任何应用进程都可以在后台自由运行 真正做到支持多任务的只有苹果Safari和Mail 很多苹果亲生的应用也都并不支持 对
  • TensorRT学习笔记3 - 运行sampleMNIST

    目录 步骤 遇到的问题 步骤 cd your tensorrt path samples sampleMNIST make cd your tensorrt path bin sudo sample mnist h datadir your
  • 多分支git合并流程

    阅读摘要 推荐一个git合并步骤 开发分支可能会多次提交合并到dev master主干分支也会显示很多个提交点 这样不方便代码分支管理和回溯发布记录 所以推荐如下方法 不出意外 这也是个新手教程 git 合并步骤 本地开发分支建立格式建议
  • 2023年电工杯

    电工数学建模竞赛 中国电机工程学会杯 全国大学生电工数学建模竞赛是全国性大学生学科竞赛活动 目的在于按照紧密结合教学实际 着重基础 注重前沿的原则 促进电气类专业建设 引导学生注重动手能力 创新能力和协作精神的培养 提高学生针对实际问题进行
  • 怎么解决idea版本不兼容?

    怎么解决2020 3 1版本的idea的jdk不兼容 希望好心的大哥哥回答 在线等 挺急的 谢谢
  • springboot 框架学习 thymeleaf静态模板引擎实现页面跳转

    最近在深啃jvm虚拟机 主要方法是阅读 深入java虚拟机 这本书 写的很形象深入 简单易懂 今天上web课程老师讲到servlet时突然想到boot的页面跳转与数据响应 之前的springmvc在boot中也有集成 但是boot的常用页面
  • 【transformers】tokenizer用法(encode、encode_plus、batch_encode_plus等等)

    tranformers中的模型在使用之前需要进行分词和编码 每个模型都会自带分词器 tokenizer 熟悉分词器的使用将会提高模型构建的效率 string tokens ids 三者转换 string tokens tokenize te
  • scanf与printf的用法

    文章目录 前言 一 scanf与printf 二 使用方法 1 printf的使用方法 2 scanf的使用方法 总结 前言 学习c语言编程 必不可少的操作就是键盘输入与屏幕输出 今天我想讲讲自己对scanf与printf使用的看法 一 s
  • Ajax详细讲解

    Ajax Asynchronous JavaScript And XML 即异步 JavaScript 和 XML 是一组用于在网页上进行异步数据交换的 Web 开发技术 可以在不刷新整个页面的情况下向服务器发起请求并获取数据 然后将数据插
  • ES学习之分片路由

    本文主要内容 1 路由一个文档到一个分片 2 新建 索引和删除请求 3 取回单个文档 4 局部单个文档 5 多文档模式 6 理解一下ES深度分页 from size 的劣势 路由一个文档到一个分片 当索引一个文档的时候 文档会被存储到一个主
  • Java--javac Hello.java找不到文件

    刚开始编写java代码时 肯定会遇到各种各样的bug 当然对于初学者这也是能理解的 首先来说一个比较常见的错误 如下 一般编写新的程序时 都是从Hello World开始的 比如在DOS上运行javac Hello java时 就会报错 找
  • Jupyter Lab 启用在线实时协同功能 实现协作编程

    文章目录 一 前言 二 主要内容 三 总结 CSDN 叶庭云 https yetingyun blog csdn net 一 前言 Jupyter Notebook 是一个开源的 Web 应用程序 允许你创建和共享包含实时代码 方程 可视化
  • 博客迁移通告

    各位博友 鉴于一些个人原因 本人博客迁移至博客园 https www cnblogs com horacle 欢迎访问和关注
  • 七、Redis 主从复制以及哨兵模式的详细图解

    概念 主从复制 是指将一台Redis服务器的数据 复制到其他的Redis服务器 前者称为主节点 master leader 后者称为从节点 slave follower 数据的复制是单向的 只能由主节点到从节点 Master以写为主 Sla
  • 计算机网络---应用层

    文章目录 域名系统DNS 互联网的域名结构 域名服务器 文件传送协议FTP FTP的基本工作原理 简单文件传送协议TFTP 远程终端协议TELNET 万维网 统一资源定位符URL 超文本传送协议HTTP 万维网的文档 电子邮件294 动态主
  • e7用什么主板_【有趣】第3期:八路E7的结局如何?盘点历代至尊版处理器现价...

    0 前言 什么八路E7 四路泰坦 你想在显卡吧出人头地受人膜拜 进阶的门槛似乎有些高 不过不论是当年人们口中顶级的至强E7 8870 还是GTX Titan 都经受不住时间的考验 现在组8路E7要不是主板不好买 要不然 这8个CPU加起来
  • no model named “compat“ ,Tensorflow 版本问题

    查看我的版本 Module tf compat TensorFlow Core v2 6 0Compatibility functions https tensorflow google cn versions r2 6 api docs
  • ChatGPT写文章教程_如何使用ChatGPT写文章

    如何用ChatGPT写出高质量文章 ChatGPT是一种基于人工智能技术的自然语言处理工具 它可以生成高质量的文章 但是如何利用它来写出优秀的文章呢 本文将为你介绍如何使用ChatGPT来写出高质量的文章 一 什么是ChatGPT Chat
  • MySQL数据库——DML基本操作

    文章目录 前言 插入数据 全列插入 指定列插入 修改数据 删除数据 前言 前面我们学习了MySQL DDL操作 对数据库和表的结构的操作 那么今天我将为大家分享MySQL DML操作 对表数据的操作 MySQL DML操作有以下几种 插入操