数据库delete语句菜鸟_MySQL视图
2023-06-13 09:13:10 时间
大家好,又见面了,我是你们的朋友全栈君。
mysql 中delete语句主要分为三个层次,下面简单介绍下
1. 最基础的条件删除,如下所示
DELETE FROM table_name where table_name.name='dell'
还有一种按序删除的方式如下
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
引用操作的表上选择适当的存储引擎。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/222878.html原文链接:https://javaforall.cn
相关文章
- MySQL Status Ssl_server_not_before 数据库状态作用意思及如何正确
- MySQL Variables mysql_native_password_proxy_users 数据库 参数变量解释及正确配置使用
- 使用Node.js连接MySQL数据库(node-mysql)
- 搭建自己的局域网MySQL数据库(连接局域网mysql)
- MySQL中如何快速获取中位数(mysql取中位数)
- MySQL开启分布式数据库架构之旅(mysql分布式数据库)
- 指南:选择MySQL数据库的最佳方法(如何选择mysql数据库)
- MySQL安全性设计:如何确保数据库系统的安全和保密?(mysql安全性设计)
- LePus监控MySQL:全面把握数据库运行状况(lepus监控mysql)
- 从结构使用MySQL数据库实现主主复制的最佳实践(mysql数据库主主)
- 深入了解MySQL分区类型(mysql分区类型)
- MySQL: 迈向二级数据库的成功之路(二级数据库mysql)
- MySQL如何快速操作开启数据表(mysql打开数据表)
- MySQL数据库连接简易之工具(连接mysql数据库工具)
- 检查MySQL服务器的启动状态(查看mysql服务是否启动)
- MySQL数据库快速创建指南(c mysql创建数据库)
- 数据库使用AWS连接本地MySQL数据库(aws调用本地mysql)
- 使用asp技术连接MySQL数据库(asp与mysql数据库)
- 架设MySQL数据库网络,改善access访问体验(access改mysql)
- MySQL 57如何快速实现数据库导入(5.7 mysql 导入)
- MySQL数据库范式详解(mysql三个范式举例)
- MYSQL收费了 了解MySQL开源版的最新政策(mysql不再免费了吗)