数据库delete语句菜鸟_MySQL视图

数据库delete语句菜鸟_MySQL视图mysql中delete语句主要分为三个层次,下面简单介绍下1.最基础的条件删除,如下所示DELETEFROMtable_namewheretable_name.name=’dell’还有一种按序删除的方式如下DELETEFROMcustomersORDERBYNameLIMIT102.MySQLDELETE语句使用INNERJOIN子句DELETEaFROMtablenameASaLEFTJOINtemp_nameASbONa

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

mysql 中delete语句主要分为三个层次,下面简单介绍下

1. 最基础的条件删除,如下所示

DELETE FROM table_name  where    table_name.name='dell'

Jetbrains全家桶1年46,售后保障稳定

还有一种按序删除的方式如下

DELETE FROM customers ORDER BY Name LIMIT 10

2.MySQL DELETE语句使用INNER JOIN子句

DELETE  a FROM tablename AS a LEFT JOIN temp_name AS b ON a.ID = b.ID WHERE b.UserID > 0;


DELETE  a FROM tablename AS a LEFT JOIN temp_name AS b ON a.ID = b.ID WHERE b.ID IS not null;

3.MySQL ON DELETE CASCADE示例

此时 有A和B两个表,当删除A表的记录时,B表关联的字段自动删除,此时需要用到这种方式;

第一步, 创建buildings表,如下创建语句:

USE testdb;
CREATE TABLE buildings (
    building_no INT PRIMARY KEY AUTO_INCREMENT,
    building_name VARCHAR(255) NOT NULL,
    address VARCHAR(255) NOT NULL
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

第二步, 创建rooms表,如下创建语句:

USE testdb;
CREATE TABLE rooms (
    room_no INT PRIMARY KEY AUTO_INCREMENT,
    room_name VARCHAR(255) NOT NULL,
    building_no INT NOT NULL,
    FOREIGN KEY (building_no)
        REFERENCES buildings (building_no)
        ON DELETE CASCADE
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

请注意,在外键约束定义的末尾添加ON DELETE CASCADE子句。

第三步插入部分数据

INSERT INTO buildings(building_name,address)
VALUES('海南大厦','海口市国兴大道1234号'),
      ('万达水城','海口市大同路1200号');

INSERT INTO rooms(room_name,building_no)
VALUES('Amazon',1),
      ('War Room',1),
      ('Office of CEO',1),
      ('Marketing',2),
      ('Showroom',2);

此时 删除building_no = 2 的记录,可以看到rooms表中也删除了

DELETE FROM buildings WHERE building_no = 2;

请注意,ON DELETE CASCADE仅支持使用存储引擎支持外键(如InnoDB)的表上工作。 某些表类型不支持诸如MyISAM的外键,因此应该在使用MySQL ON DELETE CASCADE引用操作的表上选择适当的存储引擎。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222878.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 手机运行的python_运行python程序的两种方式

    手机运行的python_运行python程序的两种方式前言在手机上运行Python需要用一个软件,叫QPython3L,当然还有别的软件也是可以运行Python的,不过我认为QPython3L是其中相对较好的一个。首先声明一下,我也只是会简单的使用有了它,就可以实现用手机和电脑进行通信了,比如在手机用Socket给电脑发指令,电脑根据收到的指令去执行不同的函数。苹果手机有没有我也不知道,可以自己搜一下如何下载我是在酷安下的,直接搜索qpython3即…

    2022年8月12日
    6
  • 工具——TotalCmd[通俗易懂]

    工具——TotalCmd[通俗易懂]工具——TotalCmd

    2025年7月7日
    4
  • pycharm terminal 进入虚拟环境_pycharm failed to create virtual

    pycharm terminal 进入虚拟环境_pycharm failed to create virtualPycharmterminal激活虚拟环境,首先需要保证系统完成了conda的安装,并在Powershell中完成虚拟环境的创建(操作创建的虚拟环境名称为deep_pool,这个虚拟环境在接下来的操作中会被提及到)。如果不会创建虚拟环境,可以参考下面这个流程:Ubuntu20.4安装Anaconda以及过程中遇到的问题(已解决)_qq_53258482的博客-CSDN博客在虚拟环境创建完成后,在powershell中输入命令Set-ExecutionPolicy-ScopeCurrentUse

    2022年8月25日
    7
  • 永远用小的结果集驱动大的结果集

    永远用小的结果集驱动大的结果集

    2021年9月13日
    107
  • matlab如何保存生成的图片_将matlab输出图像保存为图片

    matlab如何保存生成的图片_将matlab输出图像保存为图片一种是出来图形窗口后手动保存(这儿又可以分两种):1直接从菜单保存,有fig,eps,jpeg,gif,png,bmp等格式。2edit——〉copyfigure,再粘贴到其他程序。另一种是用命令直接保存(这里也有两种):1用saveas命令保存图片。saveas的三个参数:(1)图形句柄,如果图形窗口标题栏是“Figure3”,则句柄就是3.(2)文件名。(3)单引号字符串,指…

    2025年11月7日
    5
  • stm32实用技巧:JLINK接口定义和使用JTAG或SW下载程序「建议收藏」

    stm32实用技巧:JLINK接口定义和使用JTAG或SW下载程序「建议收藏」需求    stm32下载程序,实用JLink的JTAG下载座,分为实现JTAG的下载和SW的下载功能JTAG:可仿真,可下载SW:可仿真,可下载JLINK接口开发板接口JTAG模式20pins10pinsSWD模式Keil软件使用1.点开配置2.选择Debug3.选择J-LINK4.点击Settings5.选择方式(JTAGorSW,笔者强烈建议使用SW,包括后期开发调试程序下载4…

    2022年5月28日
    65

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号