MySQL数据库操作DML 插入数据,删除数据,更新数据

 更新时间:2022年07月11日 14:31:55   作者:王小王_123​​​​​​​  
这篇文章主要介绍了MySQL数据库操作DML插入数据,删除数据,更新数据,DML是指数据操作语言,英文全称是Data Manipulation Language,用来对数据库中表的数据记录进行更新

DML介绍

DML是指数据操作语言,英文全称是Data Manipulation Language,用来对数据库中表的数据记录进行更新。

关键字:

  • 插入insert
  • 删除delete
  • 更新update

数据插入

insert into 表 (列名1,列名2,列名3...) values (值1,值2,值3...); //向表中插入某些
insert into 表 values (值1,值2,值3...); //向表中插入所有列

这里的两种方式,第一种需要指定插入的列,有时候,我们需要把某些值赋值为NULL,不需要插入这些为空的数据,那么此时第一个方式就比较好。

insert into student(sid,name,gender,age,birth,address,score) values(1001,'王小王-123','男',18,'1996-12-23','北京',83.5);

 如果要使用第二种方式就需要,将所有的数据全部填充,少一个也不可以的

数据修改

首先我们准备数据:

update 表名 set 字段名=值,字段名=值...;
update 表名 set 字段名=值,字段名=值... where 条件;

第一种方法会将所有的列进行修改,而第二种只会通过where条件进行匹配到对应的数据进行修改

-- 将所有学生的地址修改为重庆
update student set address = '重庆';
-- 讲id为1004的学生的地址修改为北京
update student set address = '北京' where id = 1004
-- 讲id为1005的学生的地址修改为北京,成绩修成绩修改为100
update student set address = '广州',score=100 where id = 1005

数据删除

delete from 表名 [where 条件];
truncate table 表名 或者 truncate 表名

 注意这里的两种语法虽然都是对数据进行删除,但是二者的内部方法却是不一样的;

truncate和delete只删除数据不删除表的结构;drop删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index),依赖于该表的存储过程/函数将保留,但是变为invalid(无效的)状态

  • 1、delete一般用来删除表中的某一条或者一行数据,在不设置WHERE条件下可以删除表中的所有信息,将该操作保存在事务日志中在以后需要的时候还可以进行回滚操作。对表执行delete之后,该表不会减少表或者索引所占用的空间。也就是说还可以恢复
  • 2、truncate是清空的意思,从字面就可以理解为一次删除就可以将表里的数据全部清除,没有回滚操作。对表执行truncate之后,表和索引就会恢复到初始的大小,但是对于delete删除之后,索引会接着上面的继续创建,这就是二者的本质区别
  • 3、drop可以将表的结构和数据内容都删除。对表执行drop之后,该表所占用的空间全部释放。
  • 4、delete和truncate都是对数据进行操作,区别是范围不同。delete可以针对数据中的table、view两种类型。而truncate只能针对table类型。
  • 5、速度上:drop>truncate>delete;
  • 6、在没有备份的时候,尤其小心使用drop和truncate,删除部分数据行用delete带上where子句,回滚段要足够大。删除表用drop。想要保留表而将所有数据删除,如果和事务无关,用truncate即可,如果和事务有关,或者想触发trigger,还是用delete如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据
  • 7、delete是DML(数据操作语言)语句,执行后不会自动提交;drop、truncate都是DDL(数据定义语言)语句,执行后会自动提交。
-- 1.删除sid为1004的学生数据
delete from student where sid = 1004;
-- 2.删除表所有数据
delete from student;
-- 3.清空表数据
truncate table student;
truncate student;

到此这篇关于MySQL数据库操作DML 插入数据,删除数据,更新数据的文章就介绍到这了,更多相关MySQL数据库操作DML 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 分析MySQL并发下的问题及解决方法

    分析MySQL并发下的问题及解决方法

    本篇文章给大家详细分析了MySQL在并发场景下的问题及解决思路,对这方面有兴趣的朋友参考学习下吧。
    2018-01-01
  • MySQL数据库运维之数据恢复的方法

    MySQL数据库运维之数据恢复的方法

    本篇文章主要介绍了MySQL数据库运维之数据恢复的方法,此处总结一下恢复方案,并结合数据库的二进制日志做下数据恢复的示范。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • MySQL数据库InnoDB引擎下服务器断电数据恢复方法

    MySQL数据库InnoDB引擎下服务器断电数据恢复方法

    这篇文章主要介绍了MySQL数据库InnoDB引擎下服务器断电数据恢复方法,需要的朋友可以参考下
    2016-04-04
  • 年底了,你的mysql密码安全吗

    年底了,你的mysql密码安全吗

    这篇文章主要介绍了MySQL密码安全的相关知识,帮助大家更好的使用数据库,感兴趣的朋友可以了解下
    2021-01-01
  • SQL Optimizer 详细解析

    SQL Optimizer 详细解析

    这篇文章主要介绍了SQL Optimizer 解析,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • SQL实现对数据库检索数据的直接转换计算

    SQL实现对数据库检索数据的直接转换计算

    这篇文章主要介绍了SQL实现对数据库检索数据的直接转换计算,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • mysql之查询两个时间段是否有交集的情况

    mysql之查询两个时间段是否有交集的情况

    这篇文章主要介绍了mysql之查询两个时间段是否有交集的情况,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • mysql日志系统redo log和bin log介绍

    mysql日志系统redo log和bin log介绍

    这篇文章主要介绍了mysql日志系统redo log和bin log介绍,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • msyql show命令汇总

    msyql show命令汇总

    本篇文章是对msyql中的show命令进行了汇总,需要的朋友参考下
    2013-06-06
  • 利用MySQL空间函数实现位置打卡的完整步骤

    利用MySQL空间函数实现位置打卡的完整步骤

    这篇文章主要给大家介绍了关于如何利用MySQL空间函数实现位置打卡的完整步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-08-08

最新评论