定义:数据操作语言主要实现对数据库表中的数据进行操作,主要包括插入(insert)、更新(update)、删除(delete)、查询(select),本节主要介绍增删改。
数据准备:

一、数据的插入(insert)
基本语法:
insert into 表名(列名,...) values(值1,...);
插入的值的类型要与列的类型一直或者兼容
1、经典的插入
①基本的插入

②部分省略插入
颜值使用得默认值,id是自增长,默认可以省略。给主键赋值为null,插入数据表中自动赋值。


③全部省略插入 字段名全部省略

④字段的顺序可以调换


2、set方式插入
语法:insert into 表名 set 列名=值,列名=值;

3、两种插入方式的比较
①方式一支持插入多行,方式二不支持

②方式一支持子查询,方式二不支持

二、修改语句(update)
1.修改单表记录
update 表名set 列=新值,列=新值,... where 筛选条件;
2.修改多表记录
92语法
update 表1 别名,表2 别名 set 列 = 值,... where 连接条件 and 筛选条件;
99语法
update 表1 别名 inner|left|right join 表2 别名on 连接条件set 列=值,... where 筛选条件;
案例1 修改name 为f的电话为123456789
update beauty set phone = '123456789' where name ='f';
案例2 修改小美丽的魅力值为88
Update boy set userCP = 88 where name = “小美丽”;
案例3 修改boy为vvvv的beauty的phone值为5200
UPDATE boys bo INNER JOIN beauty b ON bo.id=b.boyfriend_id SET b.phone = "5200" WHERE bo.boyName = "vvvv";
三、删除语句(delete)
1.单表删除
delete from 表名 [where 筛选条件];
2.多表删除
92语法
delete 表1的别名,表2的别名from 表1 别名,表2 别名where 连接条件and 筛选条件;
99语法
delete 表1的别名,表2的别名from 表1 别名inner|left|right join 表2 别名 on 连接条件where 筛选条件;
3.truncate 语法:truncate table 表名;
案例1 删除name 为j的beauty的信息
DELETE FROM beauty WHERE name ="j";
案例2 删除name为vvvv的boy的beauty信息
delete b from boys bo inner join beauty b on bo.id=b.boyfriend_id where bo.boyName='vvvv';
案例3 删除name为dddd的boys和beauty的信息(多表删除)
DELETE bo,b FROM boys bo INNER JOIN beauty b ON bo.id=b.boyfriend_id WHERE bo.boyName='dddd';
4.delete 和 truncate的区别
①truncate删除效率高于truncate
②要删除的表中有自增长列,delete删除之后,再次插入时,从断点开始;truncate删除之后,再次插入时,从1开始。
③truncate删除没有返回值,delete删除有返回值。
④truncate删除不能回滚,delete删除可以回滚。

Mysql--数据操作语言(DML)的更多相关文章

  1. mysql数据操作语言DML

    插入insert 插入方式1 语法: insert into 表名(列名,....) values(值1,....) 说明: 1.插入的值的类型要与列的类型一致或兼容 2.可以为null的值:①列写了 ...

  2. 数据操作语言DML与运算符

    数据操作语言DML(添加,修改,删除) 1.添加数据 insert into insert into 表名 (字段列表) values (值列表),值列表要和字段列表按顺序匹配. insert int ...

  3. ODPS SQL <for 数据操作语言DML>

    基本操作: 查询: SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference [WHERE where_co ...

  4. 26_ mysql数据操作语言:DELETE语句

    -- DELETE语句 -- 删除10部门中,工龄超过20年的员工记录 DELETE FROM t_emp WHERE deptno=10 AND DATEDIFF(NOW(),hiredate)/3 ...

  5. MySQL数据操作与查询笔记 • 【第3章 DDL 和 DML】

    全部章节   >>>> 本章目录 3.1 使用 DDL 定义数据库表结构 3.1.1 SQL 简介 3.1.2 维护数据库和创建数据表 3.2 使用 DDL 维护数据库表结构 ...

  6. SQL学习笔记四之MySQL数据操作

    阅读目录 一 介绍 二 插入数据INSERT 三 更新数据UPDATE 四 删除数据DELETE 五 查询数据SELECT 六 权限管理 一 介绍 MySQL数据操作: DML =========== ...

  7. 6.1课堂笔记—DML(数据操作语言),DQL查询语句

    一.DML(数据操作语言) InnoDB MyISAM 支持事务 不支持事务 不支持全文索引 支持全文索引 支持外键约束 不支持 命令查看默认存储引擎 show variables like '%st ...

  8. DML数据操作语言

    DML数据操作语言 用来对数据库中表的数据记录进行更新.(增删改) 插入insert -- insert into 表(列名1,列名2,列名3...) values (值1,值2,值3...):向表中 ...

  9. MySQL数据操作与查询笔记 • 【目录】

    持续更新中- 我的大学笔记>>> 章节 内容 第1章 MySQL数据操作与查询笔记 • [第1章 MySQL数据库基础] 第2章 MySQL数据操作与查询笔记 • [第2章 表结构管 ...

  10. mysql 数据操作 目录

    mysql 记录的增删改查 mysql 数据操作 单表查询 mysql 数据操作 多表查询

随机推荐

  1. ReflectionUtil

    import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang ...

  2. ros indigo install

    http://wiki.ros.org/cn/indigo/Installation/Ubuntu

  3. Storm概念学习系列之storm的设计思想

    不多说,直接上干货! storm的设计思想 在 Storm 中也有对流(Stream)的抽象,流是一个不间断的.无界的连续 Tuple(Storm在建模事件流时,把流中的事件抽象为 Tuple 即元组 ...

  4. SpringBoot | 第九章:Mybatis-plus的集成和使用

    前言 本章节开始介绍数据访问方面的相关知识点.对于后端开发者而言,和数据库打交道是每天都在进行的,所以一个好用的ORM框架是很有必要的.目前,绝大部分公司都选择MyBatis框架作为底层数据库持久化框 ...

  5. OracleJDK与OpenJDK的区别和联系

    OpenJDK原是SunMicrosystems公司为Java平台构建的Java开发环境(JDK)的开源版本,完全自由,开放源码.OracleJDK里面包含的JVM是HotSpotVM,HotSpot ...

  6. C#获得字符串首字符字母(大写)

    /// <summary> /// 获得字符串首字符字母(大写): /// </summary> /// <param name="cnChar"&g ...

  7. erlang通讯解析浮点数的一些问题

    这两天我弟弟遇到一个比较有意思的问题.他在前端协定数据协议的时候用到了float和double,所以他想问float和double在erlang后端中是如何解析的.我之前写协议也很少用到浮点数,所以也 ...

  8. html标签补充

    <body>内常用标签 1.<div>和<span> <div></div> : <div>只是一个块级元素,并无实际的意义.主 ...

  9. Linux常用操作2

    第1章 find命令扩展 转自:https://www.cnblogs.com/clsn/p/7520333.html 1.1 方法一 |xargs 通过|xargs将前面命令的执行结果传给后面. [ ...

  10. windows无法连接到打印机 操作失败,错误为0x00000002 解决方案

    平时使用局域网打印机没有问题,今天突然脱机了,错误号为0x00000002 服务器上打印机一切正常,别人使用也一切正常. 最后,重启了Spooler服务后搞定. 重新链接打印机,搞定!