MySQL数据操纵:DML详解
76 浏览量
更新于2024-08-30
收藏 232KB PDF 举报
"MySQL之DML语言"
MySQL中的DML(Data Manipulation Language)是用于操作数据库中数据的语言,包括插入(Insert)、修改(Update)和删除(Delete)等操作。这些语句通常会组成事务,确保数据库的一致性和完整性。
**插入(Insert)**
插入数据到表中有两种主要方式:
1. 方式一:
语法:`insert into 表名(字段名,…) values(值,…);`
- 插入的数据值应与字段类型匹配或兼容。
- 字段数量和顺序不必与表定义完全一致,但必须保证值与字段一一对应。
- 可以通过省略字段和值或指定字段并用`null`来插入`NULL`值。
- 字段和值的个数必须完全相同,除非省略所有字段,此时将默认插入所有列。
2. 方式二:
语法:`insert into 表名 set 字段=值,字段=值,…;`
- 这种方式不支持一次插入多行,也不支持子查询。
- 但是,它提供了一种更直观的方式来设置每个字段的值。
**插入的扩展**:
- 方式一支持一次插入多行,例如:`insert into 表名 [(字段名, …)] values (值,…),(值,…),…;`
- 也支持通过子查询插入数据:`insert into 表名 查询语句;`
**修改(Update)**
- 单表记录修改:
语法:`update 表名 set 字段=值,字段=值 [where 筛选条件];`
- 多表记录修改:
结合JOIN操作,如`left|right|inner join`,更新多个关联表的记录。
**删除(Delete)**
- 单表记录删除:
语法:`delete from 表名 [where 筛选条件] [limit 条目数];`
- 级联删除:
使用JOIN操作删除多表关联记录。
- 另一种删除方式是`truncate`:
语法:`truncate table 表名`
`truncate`与`delete`的主要区别:
- `truncate`后,自动重置标识列从1开始;而`delete`后,标识列从断点开始。
- `delete`可添加筛选条件,`truncate`则不行。
- `truncate`效率更高,因为它不记录日志。
- `truncate`无返回值,`delete`可返回受影响的行数。
- `delete`可以回滚(在事务中),`truncate`则不能。
了解这些基本的DML操作对于日常的数据库维护和管理至关重要。在实际应用中,确保对这些语句的使用有深入理解,并注意它们可能对数据库性能和数据安全产生的影响。在进行任何修改前,记得备份重要数据,以免造成不可逆的损失。
2012-10-23 上传
2018-12-16 上传
2020-09-08 上传
2020-12-14 上传
2024-04-07 上传
2021-05-11 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
weixin_38674409
- 粉丝: 7
- 资源: 920
最新资源
- Haskell编写的C-Minus编译器针对TM架构实现
- 水电模拟工具HydroElectric开发使用Matlab
- Vue与antd结合的后台管理系统分模块打包技术解析
- 微信小游戏开发新框架:SFramework_LayaAir
- AFO算法与GA/PSO在多式联运路径优化中的应用研究
- MapleLeaflet:Ruby中构建Leaflet.js地图的简易工具
- FontForge安装包下载指南
- 个人博客系统开发:设计、安全与管理功能解析
- SmartWiki-AmazeUI风格:自定义Markdown Wiki系统
- USB虚拟串口驱动助力刻字机高效运行
- 加拿大早期种子投资通用条款清单详解
- SSM与Layui结合的汽车租赁系统
- 探索混沌与精英引导结合的鲸鱼优化算法
- Scala教程详解:代码实例与实践操作指南
- Rails 4.0+ 资产管道集成 Handlebars.js 实例解析
- Python实现Spark计算矩阵向量的余弦相似度