MySQL:DML 数据操作语句盘点

本篇内容包括:DML 的简介、INSERT 命令、UPDATE 命令、DELETE 命令以及 TRUNCATE 命令的使用。

一、DML 简介

DML(Data Manipulation Language)语句,即数据操作语句,用于操作数据库对象中所包含的数据。

常用关键字包括:INSERT(添加数据语句)、UPDATE(更新数据语句)、DELETE(删除数据语句)


二、INSERT 命令

INSERT INTO 表名[(字段1,字段2,字段3,...)] VALUES ('值1','值2','值3',...)

字段或值之间用英文逗号隔开

"字段1,字段2…"该部分可省略(省略代表所有字段都加),但添加的值必须与表结构数据列顺序相对应,且数量一致

可同时插入多条数据,VALUES后面用英文逗号隔开,每个()代表一条数据


三、UPDATE 命令

UPDATE 表名 SET column_name =value[,column_name2 =value2,......] [WHERE condition];
  • column_name 为要更改的数据列
  • value 为修改后的数据,可以为变量、具体值、表达式或者嵌套的SELECT结果
  • condition 为筛选条件,如不指定则修改该表的所有列数据
  • WHERE 条件子包:简单理解为有条件地从表中筛选数据

四、DELETE 命令

DELETE FROM 表名 [WHERE condition];
  • condition为筛选条件,如不指定则删除该表的所有列数据

  • 当使用不带WHERE条件的DELETE删除表全部数据,重新添加新数据时,自增的当前值依然从原来基础上进行
    (原因:DELETE删除数据时,一行一行删除,并记录日志)

  • 同样使用DELETE清空表数据,重启mySQL服务后,InnoDB的表自增列从初始值重新计算,而MyISAM类型的表,自增列从上一个自增数据基础上继续。
    (原因:InnoDB主键自增量当前最大值存在内存中,而MyISAM是存在文件里的)


五、TRUNCATE 命令

TRUNCATE [TABLE] table_name
  • 用于完全清空表数据,但表结构、索引、约束等不变
  • 用TRUNCATE删除表全部数据,重新增加新数据时,自增值恢复到初始值重新开始
    (原因:TRUNCATE删除数据一下全删,不记录日志)

RUNCATE 和DELETE 相同点:

  • 都能删除数据,不删除表结构,但truncate速度更快

RUNCATE 和DELETE 不同点:

  • 使用TRUNCATE TABLE 重新设置AUTO_INCREMENT计数器
  • 使用TRUNCATE TABLE 不会对事务有影响

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

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

相关文章

MySQL:DDL 数据定义语句盘点

本篇内容包括:DDL 的简介、SHOW 查看语句、CREATE 创建语句、ALTER 修改语句以及 DROP 删除语句的使用。 一、DDL 简介 DDL(Data Definition Language),即数据定义语句,功能就是定义数据库DATabase、表table、索引ind…

MySQL:DCL 数据控制语句盘点

本篇内容包括:DCL 简介、GRANT、REVOKE、COMMIT、ROLLBACK、SAVEPOINT、LOCK命令的使用。 一、DCL 简介 DCL(Data Control Language)语句,即数据控制语句,用于设置或更改数据库用户或角色权限的语句 常用关键字包括:…

oracle迁移父子数据

现有需求如下,业务组织单元表中id字段数据在另外一个系统全部重复,但需要将此业务单元组织导入另一系统 业务组织单元表Isc_Specialorg_Unit 表中存在ID字段为子节点数据,parent_id为父节点数据,orgpath为组织路径 现在做如下操…

批量更新数据库数据

"update isc22.isc_user t set t.saphrid "&E1&"where t.id "&B1&";"

oracle控制文件

控制文件是数据库里面非常重要的一类文件,它记录了当前实例连接的数据库的结构和行为,并维护数据库的一致性。 初始化参数文件中描述其位置,很小的:二进制文件,一般不要超过100mmount读open一直在用 控制文件只能连接一个database丢失要恢复 …

oracle表空间

概念 表空间和数据文件 ●表空间是逻辑存储概念,一个表空间是一个或多个数据文件的逻辑集合 ●存储对象(表、索引)逻辑的存储在表空间上,而存储对象的数据物理的存放在数据文件上 ●数据库至少需要一个叫做system的表空间,也就是系统表空间 ●…

oracle日志

日志分类 redo log files联机日志或重做日志 archived log files归档日志 1184198alert log files 告警日志 trace files user_ _dump_ _dest 用户信息日志如跟踪会话日志 background dump_ dest进程日志还有其他一-些不常用的日志 v$database的log_mode 数据库归档模式…

MySQL:分库分表知识点盘点

本篇内容包括:数据库瓶颈、分库分表以及分库分表相关问题 一、数据库瓶颈 不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用…

oracle的sga

sga SGA的管理 ■有三种方式: ●8i:SGA的总大小由所有内存组件大小之和决定,不能直接定义SCA大小。对内部组件大小的修改必须在数据库重起 后 才能生为,所以叫做SGA的静态管理。 ●9i&#xff…

MySQL:日志知识点盘点

本篇内容包括:binlog(二进制日志)、redo log 以及 undo log 一、binlog(二进制日志) binlog 用于记录数据库执行的写入性操作(不包括查询)信息,以二进制的形式保存在磁盘中。binlog是mysql的逻辑日志&…

ROWNUM的使用

一个伪列看起来像是一个表中的列,但实际上并不保存在表中。你可以查询, 但是不能插入,修改和删除其中的值。一个伪列也类似于一个没有参数的函 数。但是在典型情况下,在结果集中可以为每一行返回相同的值,而伪列通 常为…

MySQL:主从相关知识点盘点

本篇内容包括:MySQL 主从复制简介、主从复制的原理以及主从搭建 一、MySQL 主从复制简介 在实际的生产中,为了解决Mysql的单点故障已经提高MySQL的整体服务性能,一般都会采用**「主从复制」**。 比如:在复杂的业务系统中&#x…

oracle导出expdp

expdp/impdp 是 oracle 10g 版本后推出的服务器端工具--数据泵,作用是为了将数据库中的逻辑对象,比如表、用户、全库、表空间进 行导入,导出 命令解析 ATTACH ATTACH [[schema_name.]job_name] schema_name 表示用户名,job_name 表示导出的作…

oracle导入impdp

expdp/impdp 是 oracle 10g 版本后推出的服务器端工具--数据泵,作用是为了将数据库中的逻辑对象,比如表、用户、全库、表空间进 行导入,导出REMAP_DATAFILE 该选项用于将源数据文件名转变为目标数据文件名, 在不同平台之间搬移表空间时可能需…

oracle高水位线

ORACLE在逻辑存储上分4个粒度: 表空间, 段, 区 和 块. 1.1 块: 是粒度最小的存储单位,现在标准的块大小是8K,ORACLE每一次I/O操作也是按块来操作的,也就是说当ORACLE从数据文件读数据时,是读取多少个块,而不是多少行. 每一个Block里可以包含多个row. 1.2 区:…

oracle检查点

检 查 点 概述 ■l当修改数据时,需要首先将数据读入内存中(Buffer Cache),修改数据的同时,Oracle会记录重做信息(Redo)用于恢复。因 为有了重做信息的存在,Oracle不需要在提交时…

文献翻译:Java theory and practice: Fixing the Java Memory Model, Part 2

Java theory and practice: Fixing the Java Memory Model, Part 2 译:Java 理论与实践:修复 Java 内存模型,第 2 部分 翻译自:http://www.ibm.com/developerworks/library/j-jtp03304/(原文写于2004年3月&#xff0…

oracle的buffercache

LRU空闲或者干净的链,可以从这里找到未修改的数据LRUW脏链,一个脏块同时挂到了lruw和检查点队列,LRUW分冷端和热端,冷端即为更新频率较低的一端,热端为更新频率较高的一端,dbwn写入数据文件时从冷端开始写入…

oracle的undo

Undo段中区的状态free expiredinactiveactive 显示UNDO区信息 SELECT extent_ id, bytes, status FROM dba_ _undo_ _extentsWHERE segment_ name SYSSMU1S ; 图解一一个事务的操作流程 Undo段的组成:段头、回滚块 事务ID …

SQLPlus命令详细说明

SQLPlus命令详细说明 2011-10-19 17:23:01 分类: Oracle 1. 执行一个SQL脚本文件 SQL>start file_name SQL> file_name 2. 对当前的输入进行编辑 SQL>edit 3. 重新运行上一次运行的sql语句 SQL>/ 4. 将显示的内容输出到指定文件 SQL> S…