comments_closure
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for comments_closure -- ---------------------------- DROP TABLE IF EXISTS `comments_closure`; CREATE TABLE `comments_closure` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `author` varchar(255) NOT NULL, `comment` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of comments_closure -- ---------------------------- INSERT INTO `comments_closure` VALUES ('1', 'Fran', '这个Bug的成因是什么?'); INSERT INTO `comments_closure` VALUES ('2', 'Ollie', '我觉得是一个空指针'); INSERT INTO `comments_closure` VALUES ('3', 'Fran', '不,我查过了'); INSERT INTO `comments_closure` VALUES ('4', 'Kukla', '我们需要查无效输入'); INSERT INTO `comments_closure` VALUES ('5', 'Ollie', '是的,那是一个问题'); INSERT INTO `comments_closure` VALUES ('6', 'Fran', '好, 查一下吧'); INSERT INTO `comments_closure` VALUES ('7', 'Kukla', '解决了'); INSERT INTO `comments_closure` VALUES ('8', 'Kukla', '那必然是个问题');
treepaths
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for treepaths -- ---------------------------- DROP TABLE IF EXISTS `treepaths`; CREATE TABLE `treepaths` ( `ancestor` int(10) unsigned NOT NULL, `descendant` int(10) unsigned NOT NULL, PRIMARY KEY (`ancestor`,`descendant`), KEY `descendant` (`descendant`), CONSTRAINT `treepaths_ibfk_1` FOREIGN KEY (`descendant`) REFERENCES `comments_closure` (`id`) ON DELETE CASCADE, CONSTRAINT `treepaths_ibfk_2` FOREIGN KEY (`ancestor`) REFERENCES `comments_closure` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of treepaths -- ---------------------------- INSERT INTO `treepaths` VALUES ('1', '1'); INSERT INTO `treepaths` VALUES ('1', '2'); INSERT INTO `treepaths` VALUES ('1', '3'); INSERT INTO `treepaths` VALUES ('1', '4'); INSERT INTO `treepaths` VALUES ('1', '5'); INSERT INTO `treepaths` VALUES ('1', '6'); INSERT INTO `treepaths` VALUES ('1', '7'); INSERT INTO `treepaths` VALUES ('1', '8'); INSERT INTO `treepaths` VALUES ('2', '2'); INSERT INTO `treepaths` VALUES ('2', '3'); INSERT INTO `treepaths` VALUES ('3', '3'); INSERT INTO `treepaths` VALUES ('4', '4'); INSERT INTO `treepaths` VALUES ('4', '5'); INSERT INTO `treepaths` VALUES ('4', '6'); INSERT INTO `treepaths` VALUES ('4', '7'); INSERT INTO `treepaths` VALUES ('4', '8'); INSERT INTO `treepaths` VALUES ('5', '5'); INSERT INTO `treepaths` VALUES ('5', '8'); INSERT INTO `treepaths` VALUES ('6', '6'); INSERT INTO `treepaths` VALUES ('6', '7'); INSERT INTO `treepaths` VALUES ('7', '7'); INSERT INTO `treepaths` VALUES ('8', '8');
SELECT descendant FROM treepaths WHERE ancestor=4
查出的结果是:
我想删除评论4和所有他的子评论
DELETE FROM comments_closure WHERE id IN(SELECT descendant FROM treepaths WHERE ancestor=4)
这样删的话只能删除 IN 条件中的第一条记录 也就是只能删除记录4
如果这样
DELETE FROM comments_closure WHERE id IN(4,5,6,7,8)
则可以全部删掉 .
不明白什么原因啊.请教各位.
相关推荐
标题“MySQL 查询重复内容只显示一条”涉及到的是在MySQL数据库中如何处理重复数据的问题。在数据分析或数据存储过程中,有时我们需要找出并处理重复的记录,只保留一条作为代表。这通常可以通过聚合函数和分组来...
MySQL是一种广泛使用的开源关系型数据库管理系统,其简单易用且功能强大的特点使其在Web开发、数据分析等领域备受青睐。本笔记将深入浅出地介绍MySQL的基本命令,帮助初学者快速掌握数据库操作。 一、安装与启动...
DELETE FROM shoppingcart WHERE id = 1; 或使用 TRUNCATE TABLE 语句: TRUNCATE TABLE shoppingcart; 3. 数据修改操作 在实验中,学生将学习使用 Update 语句修改数据,包括修改单个记录和批量修改记录。 ...
- **从文本文件导入数据到表:** `LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;` - **导入SQL文件:** - 首先选择数据库:`USE database;` - 然后执行:`SOURCE D:/mysql.sql;` #### 七、数据...
7.2.4. MySQL怎样优化WHERE子句 7.2.5. 范围优化 7.2.6. 索引合并优化 7.2.7. MySQL如何优化IS NULL 7.2.8. MySQL如何优化DISTINCT 7.2.9. MySQL如何优化LEFT JOIN和RIGHT JOIN 7.2.10. MySQL如何优化嵌套Join ...
JOIN Score S ON S.stu_id IN (SELECT id FROM Student WHERE class_id = C.id) JOIN Subject SS ON S.sub_id = SS.id GROUP BY T.id, S.sub_id ORDER BY AVG(S.result) DESC; ``` 这些练习涵盖了MySQL基础...
mysql> select user,host,password from user where user='jss'; SELECT USER(); //显示当前用户 实例 2:创建一个名为 jss_ps 的用户,密码为 jss: mysql> create user jss_ps identified by 'jss'; 用户连接...
SELECT * FROM users WHERE id IN (SELECT user_id FROM orders); ``` - **聚合函数** ```sql SELECT COUNT(*), AVG(amount) FROM orders; ``` ##### 2.2 性能优化 - **索引(Indexing)** - 创建索引可以提高...
比如,要删除所有选修"数据库基础"课程的学生`s102203`的成绩,可以使用`DELETE FROM T_result WHERE curID=(SELECT C.curID FROM T_curriculum C WHERE C.curName = '数据库基础') AND stuID='s102203'`。...
- **删除数据**:`DELETE FROM users WHERE id = 1;` - **查询数据**:`SELECT * FROM users;` #### 三、MySQL查询语句详解 ##### 3.1 SELECT语句 SELECT语句是MySQL中最常用也是最重要的查询语句之一,它可以...
10.5.2 SELECT 查询的速度 10.5.3 MySQL 怎样优化WHERE子句 10.5.4 MySQL 怎样优化LEFT JOIN 10.5.5 MySQL 怎样优化LIMIT 10.5.6 INSERT查询的速度 10.5.7 UPDATE查询的速度 ...
MySqlCommand command = new MySqlCommand("SELECT * FROM users WHERE username=@username", connection); command.Parameters.AddWithValue("@username", "testuser"); using (MySqlDataReader reader = command....
MySQL是世界上最流行的关系型数据库管理系统之一,用于存储和管理数据。在MySQL中,掌握一些基本的命令对于日常操作至关重要。以下是一些常见的MySQL命令的详细解释: 1. **DELETE**: - `DELETE FROM table_name;...
* 删除数据:delete from tablename where ...; * 更新数据:update tablename set ... where ...; 二、使用 C 语言 API 连接 MySQL 数据库 * 安装 libmysql++-dev 包:sudo apt-get install libmysql++-dev; * ...
`DELETE FROM`用于删除表中的记录,如:`DELETE FROM users WHERE id=1;`,请注意,没有`WHERE`子句会删除表中的所有记录。 7. 数据类型: MySQL支持多种数据类型,如整数(INT, TINYINT等)、浮点数(FLOAT, ...
2. 删除数据:delete from 表名 where 条件; 3. 修改数据:update 表名 set 字段 1=值 1, 字段 2=值 2, … where 条件; 4. 查询数据:select 字段 1, 字段 2, … from 表名 where 条件; 更多 MySQL 知识点 1. ...
例如,`DELETE t1 FROM table1 t1 JOIN table2 t2 ON ...` 比 `DELETE t1 FROM table1 t1 WHERE t1.id IN (SELECT t2.id FROM table2 t2 WHERE ...)` 更快速。 6. **MySQL性能优化技巧**: 除了上述方法,还有其他...
3. **删除数据**:`DELETE FROM customers WHERE customer_id = 10;` #### 五、数据完整性和安全性 1. **主键、外键约束的作用** - 主键确保表中每条记录的唯一性。 - 外键确保不同表间数据的一致性。 2. **数据...
- `SELECT TOP 10 * FROM 数据表 WHERE 字段名 = 字段值 ORDER BY 字段名 [DESC]`:这是SQL Server的语法,但在MySQL中,你可以使用`LIMIT 10`来获取前10条匹配的记录。 - `SELECT * FROM 数据表 WHERE 字段名 IN...
7.2.4. MySQL怎样优化WHERE子句 7.2.5. 范围优化 7.2.6. 索引合并优化 7.2.7. MySQL如何优化IS NULL 7.2.8. MySQL如何优化DISTINCT 7.2.9. MySQL如何优化LEFT JOIN和RIGHT JOIN 7.2.10. MySQL如何优化嵌套Join...