mysql-Mysql使用存储过程,删除表数据

问题描述

Mysql使用存储过程,删除表数据
我现在有两张表A,B,两张表有外键关联,现在我想使用mysql的存储结构删除A表(关联B表)的数据,怎么写啊

解决方案

http://blog.163.com/zsq303288862@126/blog/static/93745961201218112633563/
http://blog.163.com/liujun_wangyi/blog/static/110281637200922642314721/

解决方案二:
参考
http://blog.csdn.net/mqboss/article/details/5873455

解决方案三:

 delete from b where b.aid in (select id from a);delete from a;

解决方案四:
如果a表和b表有关联,需要先删除子表b的数据,然后再删除a的数据,sql如下:

delete from b where exists( select 1 from a where id = b.id);

delete from a;

时间: 2024-08-18 11:47:30

mysql-Mysql使用存储过程,删除表数据的相关文章

sql语句中删除表数据drop、truncate和delete的用法

  虽然绿色资源网小编不建议大家去用命令删除数据库表中的东西,但是这些删除命令总有用的着的地方. 说到删除表数据的关键字,大家记得最多的可能就是delete了 然而我们做数据库开发,读取数据库数据.对另外的两兄弟用得就比较少了 现在来介绍另外两个兄弟,都是删除表数据的,其实也是很容易理解的 老大------drop 出没场合:drop table tb --tb表示数据表的名字,下同 绝招:删除内容和定义,释放空间.简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表, 例如:一个

Mysql中查找并删除重复数据的方法

  (一)单个字段 1.查找表中多余的重复记录,根据(question_title)字段来判断  代码如下   select * from questions where question_title in (select question_title from peoplegroup by question_title having count(question_title) > 1) 2.删除表中多余的重复记录,根据(question_title)字段来判断,只留有一个记录  代码如下  

mysql Event、存储过程、表命令

  Mysql事件调度器(Event Scheduler)类似于定时器,可以在某一个时间点执行一个SQL语句或一个语句块(BEGIN ... END):或者每隔固定间隔重复执行.类似于Linux下的crontab,或Windows下的Task Scheduler.   一.事件调度器的配置 所有事件都是在事件调度线程(event scheduler thread)里面执行的:当提及事件调度器时,通常指该线程.如果用户有PROCESS权限,可以通过SHOW PROCESSLIST命令来查看该线程及

mysql中mysqldump 导出单个表数据与结构语句

mysqldump   备份命令 -uroot   root用户 -p123456   密码为123456 mydb   表所在的数据库mydb mytb     将要导出的表mytb > /opt/mytb.sql   备份到mytb.sql中 导出整个数据库database  代码如下 复制代码 mysqldump –opt -uroot -ppassword database > dump.sql ? 该如何导出? 导出单个数据表table  代码如下 复制代码 mysqldump –o

mysql中insert...select复制表数据

语法 INSERT INTO db1_name (field1,field2) SELECT field1,field2 FROM db2_name 实例 可以运行insert...select语法解决问题: insert into hotel_ktv (title,price, number,date,area,content,num) select title,price,number,date,area,content,num from hotel_ktv; 查看结果  代码如下 复制代码

MySQL使用二进制日志来恢复数据二种方法

MySQL使用二进制日志来恢复数据二种方法 如果MySQL服务器启用了二进制日志,你可以使用mysql教程binlog工具来恢复从指定的时间点开始 (例如,从你最后一次备份)直到现在或另一个指定的时间点的数据.关于启用二进制日志的信息,参见5.11.3节,"二进制日志".对于 mysqlbinlog的详细信息,"mysqlbinlog:用于处理二进制日志文件的实用工具". 要想从二进制日志恢复数据,你需要知道当前二进制日志文件的路径和文件名.一般可以从选项文件(即m

SQL Server删除表及删除表中数据的方法_MsSql

本文介绍SQL Server中如何删除表,如何删除表中的数据.在删除表数据时有delete和truncate两种方法,delete和truncate有什么区别呢? SQL Server,我们现在基本上使用的最古老的版本应该是SQL Server 2000吧,应该没有更早的版本了吧?!从SQL Server 2000开始,到SQL Server 2005,2008,2012等,T-SQL的处理能力越来越强.今天我们就来说说如何使用T-SQL脚本来删除表,以及删除表中的数据. 删除表和删除表数据这是

SQL Server删除表及删除表中数据的方法

本文介绍SQL Server中如何删除表,如何删除表中的数据.在删除表数据时有delete和truncate两种方法,delete和truncate有什么区别呢? SQL Server,我们现在基本上使用的最古老的版本应该是SQL Server 2000吧,应该没有更早的版本了吧?!从SQL Server 2000开始,到SQL Server 2005,2008,2012等,T-SQL的处理能力越来越强.今天我们就来说说如何使用T-SQL脚本来删除表,以及删除表中的数据. 删除表和删除表数据这是

sql drop用法删除表,删除数据库,删除索引

下面我们来看看我们常用的drop 函数吧,这是在mysql mssql access里面用来删除sql drop用法删除表,删除数据库,删除索引哦面我们来一一步例子吧. drop index 删除索引 access删除索引:DROP INDEX index_name ON table_name mssql删除索引:DROP INDEX table_name.index_name mysql删除索引:ALTER TABLE table_name DROP INDEX index_name DB2/