第七篇:SQL语法-DML-数据操作语言

DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增删改操作。它主要包含以下操作,

  • 添加数据(INSERT)
  • 修改数据(UPDATE)
  • 删除数据(DELETE)


一,添加数据(INSERT)

注意:

  • 插入数据时,指定的字段顺序与值的顺序一一对应
  • 字符串类型和日期类型的数据必须包含在英文引号(单或双均可)中
  • 插入数据的大小要在字段的规定范围内

MySQL常见数据类型及其相应的大小范围查询此篇->

第五篇:MySQL常见数据类型-CSDN博客

(一)给所有字段添加数据

insert into 表名 values(值1,值2,...);

(二)给指定字段添加数据

(在表名之后指定字段)

insert into 表名(字段名1,字段名2,...) values(值1,值2,...);

(三)批量添加数据

(1)批量给全部字段添加数据

(在values后面添多值)

insert into 表名 values(值1,值2,...), (值1,值2,...)...;

(2)批量给指定字段添加数据

(在表名之后指定字段)

insert into 表名(字段名1,字段名2,...) values(值1,值2,...), (值1,值2,...)...;


二,修改(更新)数据(UPDATE)

(注:<尖括号>内的内容是可选项

where之后的条件一般选用一个唯一的字段,如果有多个条件则用【and】连接

例如:

where id=1】表示修改操作将作用于id=1的数据

where name="张三" and gender="女"】表示修改操作将作用于name="张三"且gender="女"的数据

update 表名 set 字段名1=值1, 字段名2=值2,...<where 条件>;

注意注意!

如果没有写<where 条件>,修改操作将作用于表中所有数据,是比较危险的操作,如果是误操作,则会瞬间污染表中所有数据!如果MySQL工具相对智能,此时就会报出警告让你确认运行(相当人性化的设计,SQLyog就没有这个功能,也可能是我没找到开关吧,至于cmd命令行窗口就别想了……),如下图是【HeidiSQL】的警告提示,【HeidiSQL】的安装在本专栏的第六篇博客中有详细介绍->第六篇:MySQL图形化管理工具-CSDN博客

842521039373417ab11d9bfa1c6116e1.png


三,删除数据(DELETE)

(注:<尖括号>内的内容是可选项)

delete from 表名 <where 条件>

此处的<where 条件>的规则和二,修改数据(UPDATE)的规则是一模一样的(就在上面,往上翻一下),如果不写的话删除操作将作用于表中所有数据,如果是误操作则会瞬间清空表的所有内容

这操作有多危险就不必赘述了吧……如果没有提前备份sql文件的话,实际开发中真的是靠这一行命令毁一生了/(ㄒoㄒ)/~~(删库跑路,牢底坐穿🤣)

4ee55502d996435cbae7babaa982af87.png

因此如果有图形化管理工具的警告保障,则能避免一步跳崖式的惨案

8a5f8c4d5ef143f98eb440fb8b65ad33.png


四,测试

小练习

(保留节目)下面给出一个博主自拟的小练习(下面有详解答案,一定要多写多练阿!),通过这个练习来对DML数据操作的相关命令加以熟练,顺便多熟悉一下上一篇刚安装好的图形化管理工具,博主就拿【HeidiSQL】做演示了——

在完成每一步操作之后,请用查询表内容的命令查看表格内容是否符合预期操作!

(懵了吧😉😂,不知道怎么查看表的内容?不是【desc 表名】阿😫,这个是用来查询表结构的,查询表的命令是下一篇DQL语句的内容,让阿晴偷偷提前告诉你吧,先用着噢!快说:谢谢阿晴!)

c3d9225edf9646f485969f3128d1a896.png

select * from 表名;

1.创建一个名为test的数据库,并在该库中创建一个名为users的表,其中包括4个字段,分别是:id intname varchar(20)gender varchar(1)

直接通过图形化界面输入字段完成创建即可,不使用命令

2.使用【insert】命令,给所有字段添加新数据:id=1, name="keqing", gender="女"

3.使用【insert】命令,给name和gender两个字段添加新数据:name="furina", gender="女"

4.使用【insert】命令,批量给所有字段添加新数据,数据分别是:

id=3, name="tartaglia", gender="男"

id=4, name="zhongli", gender="男"

id=5, name="我先占个位儿"

5.使用【update】命令,给目前表格中唯一一条没有id的数据添加id=2

6.使用【delete】命令,把name="我先占个位儿"的这条奇奇怪怪的数据给删了,记得加<where 条件>

7.使用【delete】命令,故意不加<where 条件>,感受一下【HeidiSQL】的人性化警报提醒,如果你用的是其它图形化管理工具,博主就不保证都有这个功能咯~

对答案

1.创建一个名为test的数据库,并在该库中创建一个名为users的表,其中包括4个字段,分别是:id intname varchar(20)gender varchar(1)

直接通过图形化界面输入字段完成创建即可,不必使用命令

创建test数据库

e34ad38b20f04469b8300e0b39b994bd.png

3820f96816db4c4fb72ef3bb8dcff551.png

2.使用【insert】命令,给所有字段添加新数据:id=1, name="keqing", gender="女"

直接在【查询】界面使用命令->(括号内的数据不用带字段名的噢,你不会直接复制上面的吧哈哈😉,这样数据会变成NULL,删掉重新做吧)

insert into users values(1, "keqing", "女");

然后查询表内容的命令->

select * from users;

最后【右键】->【运行】运行代码或者快捷键【F9】直接运行代码

c89ae56fc5fa4c0495b3ce91b96f22c0.png

3.使用【insert】命令,给name和gender两个字段添加新数据:name="furina", gender="女"

 跟上面的差不多吧,在表名后面加上指定字段就好了->(给指定字段添加数据,数据和字段的顺序一定要一一对应阿!)

insert into users(name, gender) values("furina", "女");

然后查询表内容的命令->

select * from users;

最后【右键】->【运行】运行代码或者快捷键【F9】直接运行代码,对了,一定记得要把之前的代码删掉或者注释掉再运行,否则之前的代码会被再执行一次的

4af3193432034cb5be6277c000dbc09e.png

4.使用【insert】命令,批量给所有字段添加新数据,数据分别是:

id=3, name="tartaglia", gender="男"

id=4, name="zhongli", gender="男"

id=5, name="我先占个位儿", gender="无"

批量添加数据其实就是多加几个括号而已->

insert into users VALUES(3, "tartaglia", "男"), (4, "zhongli", "男"), (5, "我先占个位儿", "无");

5199ed604c6c47ad89084efed5796eb8.png

5.使用【update】命令,给目前表格中唯一一条没有id的数据修改其id=2

一定要写<where 条件>噢,否则所有数据的id都变成2了!

UPDATE users SET id=2 WHERE NAME="furina";

ad1845659d4d40ee8ca56c903f8baaff.png

6.使用【delete】命令,把name="我先占个位儿"的这条奇奇怪怪的数据给删了,记得加<where 条件>

一定要写<where 条件>噢,否则所有数据都会被删除!

delete from users where id=5;

07071c849bfe4444b61106aa9fb18c79.png

7.使用【delete】命令,故意不加<where 条件>,感受一下【HeidiSQL】的人性化警报提醒,如果你用的是其它图形化管理工具,博主就不保证都有这个功能咯~

小手一抖,表格没有🤣

f0aa9c8637af4144a8e951c7f240966d.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/681939.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解析基于检索排序的知识图谱问答系统

目录 前言1 问句的表示与语义理解1.1 问句表示的重要性1.2 端到端网络的优势 2 知识图谱中的排序问题2.1 知识图谱的核心作用2.2 查询匹配的转化与排序问题2.3 实体链接的关键性2.4 路径的构建与系统优化 3 难点与挑战3.1 实体链接、命名实体识别和消歧3.2 排序模型的挑战 4 优…

【C++】模版初阶

目录 泛函编程 函数模版 概念 格式 原理 实例化 模版函数的匹配原则 类模板 定义格式 泛函编程 如何实现一个通用的交换函数呢&#xff1f; void Swap(int& left, int& right) {int temp left;left right;right temp; } void Swap(double& left, dou…

Java中锁的应用

文章目录 前言一、场景描述二、加锁1.synchronized2.ReentrantLock 三、扩展1.ThreadLocal 总结 前言 在多线程场景下&#xff0c;多个线程同时对共享变量进行操作是存在风险的&#xff0c;这时候就需要加锁来保证数据的正确性。 一、场景描述 我这里有5个无人机,准备卖到乌克…

去除vue自带的边距

使用vue时发现总有去不掉的外边距&#xff0c;在index.vue里面怎样设置样式都不管用 查阅资料后发现要在vue项目自带的index.html文件内添加下面的样式代码才行 <style>*{margin: 0;padding: 0;}body,html{margin: 0;padding: 0;} </style>

【MATLAB】PSO_BP神经网络回归预测(多输入多输出)算法原理

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 PSO-BP神经网络回归预测&#xff08;多输入多输出&#xff09;算法是一种结合粒子群优化算法&#xff08;PSO&#xff09;和反向传播&#xff08;BP&#xff09;神经网络的混合算法。该算…

在小区门口开什么店比较好?把握商机从这里开始

作为一位资深的鲜奶吧创业者&#xff0c;我已经在这个行业摸爬滚打了五年。这五年的时间里&#xff0c;我见证了社区商业的繁荣与变迁&#xff0c;也深刻体会到了在小区门口开店的商机与挑战。今天&#xff0c;我想和大家分享一些关于在小区门口开店的见解&#xff0c;特别是针…

js中正则表达式的详解(应用场景)

文章目录 一、是什么二、匹配规则正则表达式标记贪婪模式懒惰模式分组 三、匹配方法str.match(regexp)str.matchAll(regexp)str.search(regexp)str.replace(regexp)str.split(regexp)regexp.exec(str)regexp.test(str) 四、应用场景参考文献 一、是什么 正则表达式是一种用来匹…

寒假作业-day11

1>编程实现二维数组的杨辉三角 2>编程实现二维数组计算每一行的和以及列和 3>编程实现二维数计算第二大值 代码&#xff1a; #include<stdio.h> #include<stdlib.h> #include<string.h>void yanghui(int n){int arr[n][n];for (int i 0; i <…

从零开始实现消息队列(一)

从零开始实现消息队列 .什么是消息队列需求分析核心概念模型 . 什么是消息队列 相信大家都了解过阻塞队列和生产者消费者模型,而阻塞队列最大的用途,就是用于实现生产者消费者模型,生产者消费者模型有以下好处: 解耦合 解释: 当主机A给主机B发消息时,A给B发送请求,B给A返回响应…

app逆向-⽹络请求库Retrofit2

文章目录 一、前言二、POST应用三、GET应用 一、前言 Retrofit2 是基于 OkHttp 构建的 RESTful HTTP 客户端&#xff0c;专门用于简化 HTTP 请求的过程&#xff0c;尤其是用于访问 RESTful API。 Retrofit2 提供了一个声明式的方式来定义 REST API 接口&#xff0c;通过注解来…

【NLP 自然语言处理(一)---词向量】

文章目录 什么是NLP自然语言处理发展历程自然语言处理模型模型能识别单词的方法词向量分词 一个向量vector表示一个词词向量的表示-one-hot多维词嵌入word embeding词向量的训练方法 CBOW Skip-gram词嵌入的理论依据 一个vector&#xff08;向量&#xff09;表示短语或者文章ve…

P1990 覆盖墙壁题解

题目 有一个长为N宽为2的墙壁&#xff0c;给你两种砖头&#xff1a;一个长2宽1&#xff0c;另一个是L型覆盖3个单元的砖头。如下图&#xff1a; 0 0 0 00砖头可以旋转&#xff0c;两种砖头可以无限制提供。你的任务是计算用这两种来覆盖N2的墙壁的覆盖方法。例如一个23的墙…

13种2023年智能算法进行PK,免费获取matlab代码

本期推出13种2023年智能算法进行PK&#xff0c;在CEC2005和CEC2022函数集进行测试。文末有代码获取方式。 13种算法都是2023年提出的&#xff0c;分别为&#xff1a; 淘金优化器(GRO)&#xff0c;雪消融优化器(SAO)&#xff0c;霜冰优化算法(RIME)&#xff0c;减法优化器(SABO)…

easyx搭建项目-永七大作战(割草游戏)

永七大作战 游戏介绍&#xff1a; 永七大作战 游戏代码链接&#xff1a;永七大作战 提取码&#xff1a;ABCD 不想水文了&#xff0c;直接献出源码&#xff0c;表示我的诚意

(三十七)大数据实战——Solr服务的部署安装

前言 Solr是一个基于Apache Lucene的开源搜索平台&#xff0c;它提供了强大的全文搜索、分布式搜索和数据分析功能。Solr 可以用于构建高性能的搜索应用程序&#xff0c;支持从海量数据中快速检索和分析信息。Solr 使用倒排索引和先进的搜索算法&#xff0c;可实现快速而准确的…

计算机组成原理:存储系统【一】

&#x1f308;个人主页&#xff1a;godspeed_lucip &#x1f525; 系列专栏&#xff1a;计算机组成与原理基础 1 主存的模型、寻址1.1 总览1.2 存储器的层次化结构1.3 存储器的分类1.3.1 按层次1.3.2 按照介质1.3.3 按照访问方式1.3.4 按照信息的可更改性1.3.5 按照信息的可保存…

28.Stream流

Stream流 1. 概述2. 方法2.1 开始生成方法2.1.1 概述2.1.2 方法2.1.3 代码示例 2.2 中间操作方法2.2.1 概述2.2.2 方法2.2.3 代码示例 2.3 终结操作方法2.3.1 概述2.3.2 方法2.3.3 代码示例 2.4 收集操作方法2.4.1 概述2.4.2 方法2.4.3 代码示例 3. 代码示例14. 代码示例25. 代…

Linux入门(1)Linux介绍

目录 1. 认识 Linux, 了解 Linux 的相关背景 1.发展史 2. 学会如何使用云服务器 3. 掌握使用远程终端工具 xshell 登陆 Linux 服务器 1. 认识 Linux, 了解 Linux 的相关背景 1.发展史 学习Linux系统编程&#xff0c;你可能要问Linux从哪里来&#xff1f;它是怎么发展的&am…

百面嵌入式专栏(面试题)驱动开发面试题汇总 2.0

沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们将介绍驱动开发面试题 。 1、Linux系统的组成部分? Linux内核、Linux文件系统、Linux shell、Linux应用程序。 2、Linux内核的组成部分? (1)第一种分类方式:内存管理子系统、进程管理子系统、文件管理子系…

RSIC-V“一芯”学习笔记(三)——读后感以及部分PA0工作

文章目录 一、别像弱智一样提问二、提问的智慧三、安装linux以及配置问题3.1 关于问题配置 一、别像弱智一样提问 提问前&#xff0c;应该清晰问自己几个问题&#xff0c;1. 是否尝试了在搜索引擎进行搜索过2. 相关的手册和文档是否看了3. 找找有没有常见的问题文档&#xff0…