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数据库高级数据操作之新增数据,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-06-06
  • mysql 将列值转变为列的方法

    mysql 将列值转变为列的方法

    应同学的请求,写个将列值转变为列的sql语句,记录一下。
    2013-05-05
  • mysql函数日期和时间函数汇总

    mysql函数日期和时间函数汇总

    这篇文章主要介绍了mysql函数日期和时间函数汇总,日期和时间函数主要用来处理日期和时间值,一般的日期函数除了使用​​date​​​类型的参数外,也可以使用​​datetime​​​或者​​timestamp​​类型的参数,但会忽略这些值的时间部分
    2022-07-07
  • 对比MySQL中int、char以及varchar的性能

    对比MySQL中int、char以及varchar的性能

    在本篇文章中我们给大家分享了关于MySQL中int、char以及varchar的性能对比的相关内容,有兴趣的朋友们学习下。
    2018-10-10
  • 对MySQL几种联合查询的通俗解释

    对MySQL几种联合查询的通俗解释

    这篇文章主要介绍了LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。下面给个通俗的解释吧
    2015-01-01
  • MySQL转换Oracle的需要注意的七个事项

    MySQL转换Oracle的需要注意的七个事项

    有很多应用项目, 刚起步的时候用MySQL数据库基本上能实现各种功能需求,随着应用用户的增多,数据量的增加,MySQL渐渐地出现不堪重负的情况:连接很慢甚至宕机,于是就有MySQL转换Oracle的需求,应用程序也要相应做一些修改。
    2010-12-12
  • Mysql表的操作方法详细介绍

    Mysql表的操作方法详细介绍

    这篇文章主要为大家详细介绍了MySQL数据库中表常用的一些操作方法,文中的示例代码讲解详细, 对我们学习MySQL有一定帮助,需要的可以参考一下
    2022-09-09
  • Python3.6-MySql中插入文件路径,丢失反斜杠的解决方法

    Python3.6-MySql中插入文件路径,丢失反斜杠的解决方法

    下面小编就为大家带来一篇Python3.6-MySql中插入文件路径,丢失反斜杠的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • MySql版本问题sql_mode=only_full_group_by的完美解决方案

    MySql版本问题sql_mode=only_full_group_by的完美解决方案

    这篇文章主要介绍了MySql版本问题sql_mode=only_full_group_by的完美解决方案,需要的朋友可以参考下
    2017-07-07
  • 说说MySQL中MVCC机制的原理

    说说MySQL中MVCC机制的原理

    MVCC是一种多并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。本文主要介绍了MySQL中MVCC机制的原理,感兴趣的同学可以参考阅读
    2023-04-04

最新评论