相关文章

  1. 《MySQL学习记录 (一) ----- 有关数据库的基本概念和MySQL常用命令》
  2. 《MySQL学习记录 (二) ----- SQL数据查询语句(DQL)》
  3. 《MySQL学习记录 (三) ----- SQL数据定义语句(DDL)》
  4. 《MySQL学习记录 (四) ----- SQL数据管理语句(DML)》
  5. 《MySQL学习记录 (五) ----- 存储函数、存储过程和触发器》

插入语句

insert into 表名(字段名1, ...)
values(值1, ...);
  1. 插入的值的类型要与字段的类型一致,并且数量也要相同

  2. 不可以为 null 的字段必须插入值,可以为 null 的字段可以省略对应字段

    insert into emp(empno, ename, job, mgr, hiredate, sal, comm, deptno)
    values(7370, 'Mike', 'BOSS', NULL, 1981-02-13, 8200, NULL, 30);
    
    insert into emp(empno, ename, job, hiredate, sal, deptno)
    values(7370, 'Mike', 'BOSS', 1981-02-13, 8200, 30);
    
  3. 字段的顺序可以替换

    insert into emp( ename, empno, hiredate, job, sal, deptno)
    values('Mike', 7370, 1981-02-13, 'BOSS', 8200, 30);
    
  4. 可以省略字段名,默认为所有字段,并且字段的顺序和表中的字段顺序一致

    insert into emp
    values(7370, 'Mike', 'BOSS', NULL, 1981-02-13, 8200, NULL, 30);
    

修改语句

一、修改单表的记录

update 表名
set 字段名1 = 新值1, ...
where 筛选条件;

二、修改多表的记录

-- sql92 语法
update 表1 别名, 表2 别名
set 字段1 = 值1, ...
where 连接条件 and筛选条件;-- sql99 语法
update 表1 别名
inner|left|right join 表2 别名
on 连接条件
set 字段1 = 值1, ...
where 筛选条件;

三、练习

-- 1. 北京的所有仓库增加100m^2的面积
update 仓库 c
set c.面积 = c.面积 + 100
where c.城市 = '北京';-- 2. 给低于所有职工平均工资的职工提高5%的工资
-- 下面是错误答案
/*
原因:where 条件中进行了子查询,并且子查询的 from 是 update 操作的表的,mysql 不支持这种查询修改的方式
*/
update 职工 z
set z.工资 = z.工资 * (1.05)
where z.工资 < (select avg(sal) from 职工);-- 解决方案
/*
将子查询 from 的中嵌套一个查询原表所有信息的查询
*/
update 职工 z
set z.工资 = z.工资 * (1.05)
where z.工资 < (select avg(工资) from (select * from 职工) temp);-- 3. 将在北京工作的职工搬迁到上海并且工资乘2
update 职工 z
join 仓库 c
on z.仓库号 = c.仓库号
set z.工资 = z.工资 * 2, z.仓库 = 'WH2'
where c.城市 = '北京';

删除语句

一、单表的删除

-- 将满足条件的某些记录删除
delete from 表名
where 筛选条件

二、多表的删除

-- sql92 语法
-- 删表1则 delete 后面加上表1的别名,删表2则加表2的别名,两个级联删除则表1别名、表2别名都加上
delete 表1的别名 / 表2的别名 / 表1的别名, 表2的别名
from 表1 别名, 表2 别名
where 连接条件 and筛选条件;-- sql99 语法
delete 表1的别名 / 表2的别名 / 表1的别名, 表2的别名
from 表1 别名
inner|left|right join 表2 别名
on 连接条件
where 筛选条件;

三、练习

-- 删除目前没有任何订购单的供应商
delete from 供应商 g
where g.供应商号 not in(select 供应商号 from 订购单 where 供应商号 is not null)-- 删除由在上海仓库工作的职工发出的所有订购单
delete d
from 订购单 d
join 职工 z on d.职工号 = z.职工号
join 仓库 c on z.仓库号 = c.仓库号
where c.城市 = '上海';-- 在订购单表和职工表中级联删除职工号为E3的记录
delete d, z
from 订购单 d join 职工 z on d.订购单号 = z.职工号
where z.职工号 = 'E3';

MySQL学习记录 (四) ----- SQL数据管理语句(DML)相关推荐

  1. MySQL学习记录 (三) ----- SQL数据定义语句(DDL)

    相关文章: <MySQL学习记录 (一) ----- 有关数据库的基本概念和MySQL常用命令> <MySQL学习记录 (二) ----- SQL数据查询语句(DQL)> &l ...

  2. MySQL学习记录 (二) ----- SQL数据查询语句(DQL)

    相关文章: <MySQL学习记录 (一) ----- 有关数据库的基本概念和MySQL常用命令> <MySQL学习记录 (二) ----- SQL数据查询语句(DQL)> &l ...

  3. MySQL学习之一条SQL更新语句的执行

    文章目录 前言 一.MySQL更新操作大致流程 二.redo log介绍 三.binlog介绍 四.MySQL更新操作的具体流程 前言 今天我们通过一条SQL更新语句,了解MySQL的日志系统 一.M ...

  4. MySQL学习记录 (五) ----- 存储函数、存储过程和触发器

    相关文章: <MySQL学习记录 (一) ----- 有关数据库的基本概念和MySQL常用命令> <MySQL学习记录 (二) ----- SQL数据查询语句(DQL)> &l ...

  5. MySQL学习记录 (一) ----- 有关数据库的基本概念和MySQL常用命令

    相关文章: <MySQL学习记录 (一) ----- 有关数据库的基本概念和MySQL常用命令> <MySQL学习记录 (二) ----- SQL数据查询语句(DQL)> &l ...

  6. MySQL学习记录04where条件子句、联表查询、子查询

    文章目录 MySQL学习记录04where条件子句.联表查询.子查询 4.1DQL 4.2指定查询字段 4.3where条件子句 4.4联表查询 4.5分页和排序 4.6子查询 MySQL学习记录04 ...

  7. Mysql学习记录(6)

    Mysql学习记录(1) Mysql学习记录(2) Mysql学习记录(3) Mysql学习记录(4) Mysql学习记录(5) Day06 12.变量 12.1系统变量 12.1.1全局变量 12. ...

  8. Mysql常规27种sql查询语句

    Mysql常规27种sql查询语句 话不多说,直接上干货 1.查询部分列 select 列名 from 表名 例:员工表中查询员工编号.名字.邮箱 select employee_id,employe ...

  9. Kafka学习记录(四)——消费者

    Kafka学习记录(四)--消费者 目录 Kafka学习记录(四)--消费者 对应课程 Kafka消费者工作流程 消费方式和流程 消费者组原理 消费者组初始化流程 消费者组详细消费流程 重要参数 ka ...

最新文章

  1. 代码生成工具的分类及比较
  2. 作为面试官的一些经历,希望能给找工作的朋友一些参考
  3. wsdl 架构验证警告:来自命名空间_Let it go: DARTS 神经网络可微架构搜索 笔记
  4. linkedin领英账号限制被封了怎么办?
  5. 北京大学软件与微电子学院嵌入式系统工程系
  6. [篇五章二]_使用 USB 系统安装盘在真机上安装激活 Windows 10 LTSC 2021 中文企业版系统
  7. 趣图:秃头程序员一问二十岁
  8. GAEfan qiang教程
  9. 木讷的程序员需要知道的事情 (五)
  10. 一个小工具,解析微信接龙数据,转成excel表格(附源码)
  11. 计算机网络的一些小知识
  12. pt函数html,pt是什么元素?
  13. Windows Server 2022 开始,DNS 客户端支持 DNS over-HTTPS (DoH)
  14. Stereo Parallel Tracking and Mapping for robot localization(S-PTAM)
  15. 网上银行在计算机应用中,基于软件工程和J2EE的网上银行系统实现计算机应用技术专业论文.docx...
  16. DataFrame的apply应用
  17. 只安装mysql数据库客户端吗_如何安装MySQL数据库和navicat客户端?
  18. 机器臂(二)--视觉控制关节点
  19. Google免费DNS
  20. subtance painter——2——基础贴图制作

热门文章

  1. BZOJ 2969 期望
  2. css3 -- 过渡与动画
  3. configure: error: MySQL library not found ,Not found mysqlclient library
  4. 静态Web开发 JavaScript
  5. 从零开始学java(2)--java中命名的明规则与潜规则
  6. 【区块链】区块链是什么?
  7. 2021总结-》2022年
  8. 脚本_vnote同步到hexo步骤[博]
  9. 一个大数据平台省了20个IT人力——敦奴数据平台建设案例分享
  10. 建立可视化决策平台,“数据化”首当其冲! 1