mysql多表删除实例

mysql多表删除

删除某学生基本信息的同时,删除该学生的所有成绩

mysql> select * from stu_inf;
+----+----------+--------+-------+-------+--------+
| id | stu_xh   | stu_xm | xb_id | xy_id | stu_bj |
+----+----------+--------+-------+-------+--------+
|  1 | 07150101 | 小明   |     1 |     1 | 1504   |
|  2 | 07150240 | 谢育政 |     1 |     2 | 1502   |
|  3 | 12341231 | 猴子   |     1 |     2 | 1515   |
|  4 | 01591261 | 大大   |     1 |     3 | 1515   |
|  5 | 07160202 | 小红   |     2 |     4 | 1602   |
|  6 | 07150225 | 黄河   |     1 |     3 | 1315   |
|  7 | 01050001 | 华容   |     1 |     7 | 1612   |
|  8 | 02050002 | 黄月英 |     2 |     8 | 1608   |
|  9 | 01510003 | 欢欢   |     2 |     9 | 1601   |
| 10 | 05261005 | 大康   |     1 |    10 | 1304   |
| 13 | 0001     | xxx    |     1 |     2 | 1555   |
+----+----------+--------+-------+-------+--------+
11 rows in set (0.02 sec)
mysql> select * from cj_inf;
+-------+----------+---------+----------+
| cj_id | cj_stuid | cj_kmid | cj_score |
+-------+----------+---------+----------+
|     1 |        3 |       1 | 87       |
|     2 |        1 |       2 | 65       |
|     3 |        4 |       1 | 77       |
|     5 |        3 |       9 | 76       |
|     7 |        1 |       1 | 90       |
|    15 |       13 |       9 | 90       |
|    16 |       13 |       8 | 67       |
|    13 |       13 |       1 | 88       |
+-------+----------+---------+----------+
8 rows in set (0.02 sec)

删除语句:

mysql> DELETE stu_inf,cj_inf from stu_inf LEFT JOIN cj_inf ON stu_inf.id=cj_inf.cj_stuid WHERE stu_inf.id=13;
Query OK, 4 rows affected (0.00 sec)

执行语句后:

mysql> select * from stu_inf;
+----+----------+--------+-------+-------+--------+
| id | stu_xh   | stu_xm | xb_id | xy_id | stu_bj |
+----+----------+--------+-------+-------+--------+
|  1 | 07150101 | 小明   |     1 |     1 | 1504   |
|  2 | 07150240 | 谢育政 |     1 |     2 | 1502   |
|  3 | 12341231 | 猴子   |     1 |     2 | 1515   |
|  4 | 01591261 | 大大   |     1 |     3 | 1515   |
|  5 | 07160202 | 小红   |     2 |     4 | 1602   |
|  6 | 07150225 | 黄河   |     1 |     3 | 1315   |
|  7 | 01050001 | 华容   |     1 |     7 | 1612   |
|  8 | 02050002 | 黄月英 |     2 |     8 | 1608   |
|  9 | 01510003 | 欢欢   |     2 |     9 | 1601   |
| 10 | 05261005 | 大康   |     1 |    10 | 1304   |
+----+----------+--------+-------+-------+--------+
10 rows in set (0.00 sec)
mysql> select * from cj_inf;
+-------+----------+---------+----------+
| cj_id | cj_stuid | cj_kmid | cj_score |
+-------+----------+---------+----------+
|     1 |        3 |       1 | 87       |
|     2 |        1 |       2 | 65       |
|     3 |        4 |       1 | 77       |
|     5 |        3 |       9 | 76       |
|     7 |        1 |       1 | 90       |
+-------+----------+---------+----------+
5 rows in set (0.02 sec)
时间: 2024-10-14 10:51:34

mysql多表删除实例的相关文章

HIve通过mysql元数据表删除分区

1 创建表 hive命令行操作 CREATE TABLE IF NOT EXISTS emp( name STRING, salary FLOAT, subordinates ARRAY<STRING>, deductions MAP<STRING,FLOAT>, address STRUCT<street:STRING,city:STRING,province:STRING,zip:INT> ) PARTITIONED BY (province STRING,city

mysql关联表删除数据

有时候我们需要删除表中部分内容,或删除一个表中在另一个表中已经存在的内容,可以用以下方法: 1.delete from t1 where 条件; 2.delete t1 from t1, t2 where 条件; 3.delete t1, t2 from t1, t2 where 条件; eg: 删除表t1已经在表t2中存在的数据: DELETE t1 FROM table_1 t1, table_2 t2 WHERE t1.id=t2.id and t1.year=t2.year and t1

mysql多表查询实例结果及分析-2017.12.14

今天帮运营导数据时发现sql执行速度非常慢,嗯,按照之前的编写习惯,后来跟架构师一起分析讨论,改进了下,现记录分析如下 一.测试表.sql情况 set @bgDate = '20171213'; set @edDate = '20171213'; /*编号①*/ SELECT TA_ID,SUM(TB.amount),SUM(TB.fee) FROM (SELECT ORDER_NO,TA_ID FROM Table_A  WHERE TA_STATUS = 100 AND TA_CHANNEL

mysql数据表删除字段里重复的信息

DELETEFROM table表 WHERE(table表 字段) IN (SELECT FROM(SELECTtable表 字段FROMtable表 as 别名GROUP BY别名.table表 字段HAVINGcount() > 1) as c)AND id NOT IN (SELECT from(SELECTmin(id) //最小的记录 FROMtable表 as 别名GROUP BY别名.table表 字段HAVINGcount() > 1)as d ) 原文地址:http://b

mysql 连表删除, 申请表 和申请多选项 关联一起删除

delete   t_apply from t_apply , t_applyitems where   t_apply.apply_applicant_id = t_applyitems.applyitem_applyid and    t_apply.apply_applicant_id = 363;

MySQL数据库表的数据插入、修改、删除操作及实例应用

1.MySQL数据库表的数据插入.修改.删除操作SQL语法格式: 1 CREATE DATABASE db0504; 2 3 USE db0504; 4 5 CREATE TABLE student ( 6 sno VARCHAR (10) NOT NULL UNIQUE PRIMARY KEY, 7 sname VARCHAR (20) NOT NULL, 8 ssex enum ('男', '女') NOT NULL DEFAULT '男', 9 sbirth date, 10 sclass

MYSQL中delete删除多表数据与删除关联数据

在mysql中删除数据方法有很多种,最常用的是使用delete来删除记录,下面我来介绍delete删除单条记 录与删除多表关联数据的一些简单实例. 1.delete from t1 where 条件 2.delete t1 from t1 where 条件 3.delete t1 from t1,t2 where 条件 4.delete t1,t2 from t1,t2 where 条件 前3者是可行的,第4者不可行. 也就是简单用delete语句无法进行多表删除数据操作,不过可以建立级联删除,

mysql 清空或删除表数据后,控制表自增列值的方法

http://blog.sina.com.cn/s/blog_68431a3b0100y04v.html 方法1: truncate table 你的表名 //这样不但将数据全部删除,而且重新定位自增的字段 方法2: delete from 你的表名 dbcc checkident(你的表名,reseed,0) //重新定位自增的字段,让它从1开始 方法3: 如果你要保存你的数据,介绍你第三种方法,by QINYI 用phpmyadmin导出数据库,你在里面会有发现哦 编辑sql文件,将其中的自

MYSQL中delete删除多表数据

MYSQL中delete删除多表数据DELETE删除多表数据,怎样才能同时删除多个关联表的数据呢?这里做了深入的解释:1. delete from t1 where 条件2.delete t1 from t1 where 条件3. delete t1 from t1,t2 where 条件4.delete t1,t2 from t1,t2 where 条件前 3者是可行的,第4者不可行.也就是简单用delete语句无法进行多表删除数据操作,不过可以建立级联删除,在两个表之间建立级联删除 关系,则