一文带你玩转SQL中的DML(数据操作)语言:从概念到常见操作大解析!数据操作不再难!

YunDuanCode · · 1376 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

前面我们介绍了SQL语句中数据定义语言(DDL)的概念以及它的常用语句,那么DML又是什么呢?二者有什么区别呢?本篇文章将为你讲述。 ## 一、DML简介 DML是指数据操作语言,英文全称是Data Manipulation Language,用来对数据库中表的数据记录进行更新。 ![image.png](https://static.golangjob.cn/231113/600f486045ef03cd4ebf70f70b082b90.png) 它创建的模式(表)使用数据操作语言来填充。DDL填充表的行,每行称为Tuple。使用DML,您可以插入,修改,删除和检索表中的信息。DML命令有助于管理存储在数据库中的数据。但是,DML命令不会自动提交,因此变化不是永久性的。所以,可以回滚操作。 ![image.png](https://static.golangjob.cn/231113/a170962e102940053d20c1f4f1a3bda2.png) 一些DML命令包括insert,update,delete和select。insert命令有助于将新记录或行存储到表中;update命令有助于修改表中的现有记录;delete命令允许从表中删除某个记录或一组记录;select命令允许从一个或多个表中检索特定记录。 关键字: - 插入 insert - 删除 delete - 更新 update ## 二、DDL 语句与DML 语句的主要区别 DDL 语句与DML 语句是SQL语言中的两种主要语句类别,它们在数据库操作中起到了不同的作用。 ![image.png](https://static.golangjob.cn/231113/858cd92ec6bc1ba10dcc72f6d2a777b8.png) 具体来说,DDL有助于更改数据库的结构。它主要用于定义或修改数据库的架构,包括创建、删除和修改表、数据类型、索引等。常用的DDL语句关键字包括CREATE、DROP和ALTER等。例如,可以使用CREATE TABLE语句来创建一个新表,使用ALTER TABLE语句来修改现有表的结构。 相反,DML有助于管理数据库中的数据。它涵盖了SQL中处理数据的基本操作,包括查询、插入、更新和删除数据。DML语句通常用于从数据库中提取信息、修改现有数据或添加新数据。一些常用的DML语句关键字包括SELECT、INSERT、UPDATE和DELETE等。通过这些语句,用户可以对数据库中的数据进行各种操作,以满足其需求。 总之,DDL和DML分别代表了在数据库操作中的结构定义和管理数据的两个关键方面,它们共同构成了SQL语言的核心功能,使用户能够有效地创建和管理数据库。 >编程学习,从[云端源想](https://www.ydcode.cn/?sourceId=222)开始,课程视频、在线书籍、在线编程、一对一咨询……你想要的全部学习资源这里都有,重点是统统免费![点这里即可查看](https://www.ydcode.cn/?sourceId=222) ## 三、DML 常见操作 前面我们已经了解了DML的概念和与DDL 语句的主要区别,下面我们来看看DML 常用语法有哪些。 首先,准备一张表: ![image.png](https://static.golangjob.cn/231113/0a6cdc2db73f1281d2b007002dfbb8c5.png) ### 1. 插入数据(INSERT) #### 1.1 语法: ``` INSERT INTO 表名[(字段1,字段2,...)] VALUES(字段的1值,字段2的值,...) ``` 注:在语法定义上"[]"中的内容表示可写可不写。 例: ![image.png](https://static.golangjob.cn/231113/0da987c3ea90316f25a4a0170cfb4aca.png) 注: - 数据库中字符串的字面量是使用单引号’'表达的 - VALUES中指定的值要与指定的字段名个数,顺序,以及类型完全一致 - 查看表中数据 ``` SELECT * FROM person ``` #### 1.2 插入默认值 当插入数据时不指定某个字段,那么该字段插入默认值。若创建表时字段没有显示的指定默认值时,默认值插入NULL。 例: ![image.png](https://static.golangjob.cn/231113/9052277e0415d73c5dd552cdd2b138d7.png) 注意事项: - age字段没有指定,因此插入默认值NULL; - 数据库中任何字段任何类型默认值都是NULL,当然可以在创建表时使用DEFAULT指定。 ![image.png](https://static.golangjob.cn/231113/b3c95103c99856962626e443b5c6e428.png) #### 1.3 全列插入 当我们插入数据不指定任何字段名时,就是全列插入。此时VALUES子句中需要为每个字段指定值。并且要求(个数,顺序,类型必须与表完全一致) 例: ![image.png](https://static.golangjob.cn/231113/ee78ac760a9ad45880d50cfe36b4ba25.png) ### 2. 修改数据(UPDATE) #### 2.1 语法 ``` UPDATE 表名 SET 字段1=新值1[,字段2=新值2,...][WHERE 过滤条件] ``` 例: ![image.png](https://static.golangjob.cn/231113/883bb3dd735e703ee633f06779731d04.png) 注意: UPDATE语句通常都要添加WHERE子句,用于添加要修改记录的条件,否则全表修改! 2.2 修改指定记录(添加WHERE子句) 例: ![image.png](https://static.golangjob.cn/231113/5ad447e866882c06f75f700e73346670.png) **WHERE子句中常用的条件** =, <, <= ,> ,>= ,<>(不等于使用<>。!=不是所有数据库都支持) ![image.png](https://static.golangjob.cn/231113/372ecfa38b4aa078332198b63b1bbe83.png) ### 2.3 将一个计算表达式的结果作为值使用 ![image.png](https://static.golangjob.cn/231113/b6631ae2ab0d34ab8ae9e0d20952e400.png) ### 2.4 同时修改多个字段 ![image.png](https://static.golangjob.cn/231113/3e290895546c02d80b9112f6e26470b4.png) ### 3. 删除语句(DELETE) #### 3.1 语法: ``` DELETE FROM 表名 [WHERE 过滤条件] ``` 注:DELETE语句通常都要添加WHERE子句,否则是清空表操作 例: ![image.png](https://static.golangjob.cn/231113/be12a281a1eb85fe7b12ee2e467904bf.png) #### 3.2 清空表操作 ``` DELETE FROM person ``` 练习: ![image.png](https://static.golangjob.cn/231113/7b8faf306e48ce9803351f3a8662a7f7.png) ## 四、总结 DML是一种用于操作数据库中数据的语言。它提供了对数据的增、删、改、查等基本操作,是进行数据库编程的重要工具之一。 ![image.png](https://static.golangjob.cn/231113/dba71b68c7e9413098ef4066a0f6264d.png) 在DML中,我们可以使用SELECT语句来查询数据库中的数据,使用INSERT语句来插入新的数据,使用UPDATE语句来更新已有的数据,以及使用DELETE语句来删除数据。这些操作可以通过简单的语法来实现,使得开发者能够更方便地对数据库中的数据进行处理。 除了基本操作外,DML还支持事务处理机制。事务可以确保一系列操作的完整性和一致性,如果其中任何一个步骤失败,则所有步骤都会被回滚,否则它们将被提交到数据库中。这种机制对于需要保证数据一致性的应用程序非常重要。 总的来说,DML是进行数据库编程不可或缺的一部分。通过熟练掌握DML的基本操作和事务处理机制,我们可以更高效地管理和操作数据库中的数据。同时,在实际应用中需要注意一些技巧和安全问题,如避免SQL注入攻击、优化查询语句等。

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1376 次点击  ∙  1 赞  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传