第七篇: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博客


三,删除数据(DELETE)

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

delete from 表名 <where 条件>

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

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

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


四,测试

小练习

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

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

(懵了吧😂😉,不知道怎么查看表的内容?不是【desc 表名】阿😫,这个是用来查询表结构的,查询表内容到第七篇还没学捏,让阿晴偷偷提前告诉你吧,先用着噢!)

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数据库

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

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

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

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

select * from users;

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

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

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

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

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

select * from users;

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

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, "我先占个位儿", "无");

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

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

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

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

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

delete from users where id=5;

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

小手一抖,表格没有🤣

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

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

相关文章

数据结构——lesson2线性表和顺序表

目录 前言 一、顺序表是什么&#xff1f; 1. 静态顺序表&#xff1a;使用定长数组存储元素 2. 动态顺序表&#xff1a;使用动态开辟的数组存储。 二、接口实现 1.动态顺序表存储 2.基本增删查改接口 (1)初始化顺序表 (2)顺序表摧毁 (3)检查空间 (4)顺序表打印 (5)顺…

深入了解JavaScript混淆工具:jsjiami.v6

JavaScript混淆工具在前端开发中发挥着重要的作用&#xff0c;帮助开发者保护源代码&#xff0c;减少代码被轻易破解的风险。其中&#xff0c;jsjiami.v6 是一款备受开发者关注的混淆工具之一。本文将深入介绍jsjiami.v6的基本原理和使用方法&#xff0c;并通过案例代码演示其效…

网站怎么接入qq互联(vue+springboot前后端)

准备工作 互联的方式有多种&#xff0c;包含了微信&#xff0c;qq,github,gitee等等。 平常自己设计一个网站都要设计一个登录注册的网页给用户去进行登录注册使用。我们可以使用更加加单的方式方便用户去登录注册。不要让用户去自己输入信息&#xff0c;可以通过认证授权这样的…

Java 三大并大特性-可见性介绍(结合代码、分析源码)

目录 ​编辑 一、可见性概念 1.1 概念 二、可见性问题由来 2.1 由来分析 三、可见性代码例子 3.1 代码 3.2 执行结果 四、Java 中保证可见性的手段 4.1 volatile 4.1.1 优化代码 4.1.2 测试结果 4.1.3 volatile原理分析 4.1.3.1 查看字节码 4.1.3.2 hotspot 层面…

netstat命令

netstat 是一个计算机网络命令行工具&#xff0c;用于显示网络连接、路由表和网络接口等网络相关信息。netstat 命令可以在各种操作系统上使用&#xff0c;包括 Windows、Linux 和 macOS 等。 在使用 netstat 命令时&#xff0c;可以提供不同的选项来显示不同类型的网络信息。…

(AtCoder Beginner Contest 334) --- F - Christmas Present 2 -- 题解

F - Christmas Present 2 F - Christmas Present 2 题目大意&#xff1a; 思路解析&#xff1a; 因为他是顺序前往每个孩子的家&#xff0c;前往时必须要带一个礼物&#xff0c;并且最多只能带k个礼物&#xff0c;所以它每次前往最多k个孩子之后就要回到初始点重新出发。…

哈工大计算机网络考试经验及资源分享

如果你觉得资源对你有用&#xff0c;在收藏的同时不要忘记点个赞(●◡●)&#xff0c;你的支持&#xff0c;是我坚持创作的最佳动力。 哈工大计算机网络是一门重要的课程&#xff0c;对于学习计算机网络知识非常有帮助。在学习这门课程时&#xff0c;我选择了中科大zq老师的网…

二叉树的垂直遍历

1.题目 这道题是2024-2-13的签到题&#xff0c;题目难度为困难。 考察的知识点是DFS算法和自定义排序。 题目链接&#xff1a;二叉树的垂直遍历 给你二叉树的根结点 root &#xff0c;请你设计算法计算二叉树的 垂序遍历 序列。 对位于 (row, col) 的每个结点而言&#xff…

VTK 正交投影 透视投影

1.VTK默认透视投影&#xff08;近大远小&#xff09;&#xff1b; 1.调用vtkCamera的ParallelProjectionOn函数开启 2.通过vtkCamera的SetParallelScale缩放 3.通过vtkCamera的SetClippingRange设置前后裁剪平面 2.正交投影&#xff08;平行投影&#xff0c;远近一样&#xf…

openGauss学习笔记-218 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-I/O

文章目录 openGauss学习笔记-218 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-I/O218.1 查看I/O状况218.2 性能参数分析 openGauss学习笔记-218 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-I/O 获取openGauss节点的CPU、内存、I/O和网络资源使用情况&#xf…

LeetCode:83和82.删除排序链表中的重复元素I,II

这两题算是链表的基础题&#xff0c;就遍历删除没啥特点&#xff0c; 83甚至不需要考虑第一个结点的特殊情况&#xff0c;属实是名副其实的easy了 LeetCode&#xff1a;21.合并两个有序链表之第一次的特殊情况-CSDN博客 83. 删除排序链表中的重复元素 - 力扣&#xff08;Lee…

第三百二十二回

文章目录 1. 概念介绍2. 使用方法2.1 基本用法2.2 缓冲原理 3. 示例代码4. 内容总结 我们在上一章回中介绍了"FadeInImage组件"相关的内容&#xff0c;本章回中将介绍CachedNetworkImage组件.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章…