select * from REFERENTIAL_CONSTRAINTS

来查看这个系统表里的字段及数据。

代码如下:

select CONCAT( 'alter table ', table_name,' drop foreign key ', constraint_name,';') as mystr from REFERENTIAL_CONSTRAINTS where unique_constraint_schema= 'sams4' and table_name in (

select table_name from REFERENTIAL_CONSTRAINTS where unique_constraint_schema= 'sams4'

);

select CONCAT( 'truncate table ', table_name,';') as mystr from REFERENTIAL_CONSTRAINTS where unique_constraint_schema= 'sams4' and table_name in (

select table_name from REFERENTIAL_CONSTRAINTS where unique_constraint_schema= 'sams4'

);

select CONCAT( 'alter table ', table_name,' drop foreign key ', constraint_name,';') as mystr from REFERENTIAL_CONSTRAINTS where unique_constraint_schema= 'sams4' and table_name in (

select table_name from REFERENTIAL_CONSTRAINTS where unique_constraint_schema= 'sams4' nd table_name like 't_%'

);

select CONCAT( 'truncate table ', table_name,';') as mystr from REFERENTIAL_CONSTRAINTS where unique_constraint_schema= 'sams4' and table_name in (

select table_name from REFERENTIAL_CONSTRAINTS where unique_constraint_schema= 'sams4' and table_name like 't_%'

);

其中sams4是我指定的库!以上代码只是一个查出全部表,一个查出所有以t_开头的表名,都是先将表与表之间的外键关联删除后再进行清空表,清空表时用的是truncate table,并不是用delete from table的语句是因为用truncate这个命令里,可以将ID值重置为1.

但这里还有一个问题,就是外键关联的问题,如果要清空表数据的话,一个一个的按顺序来清空,工作量也太大了,如果有办法可以先暂时将这个外键屏蔽的话就好了,所以上网google一下,得出如下:

SET FOREIGN_KEY_CHECKS = 0; #取消外键关联

【执行操作,操作结束后】

SET FOREIGN_KEY_CHECKS = 1; #开启外键关联

至此应该可以有效率地将库里的指定表数据清空!

分享到:

2011-11-23 22:04

浏览 5444

分类:数据库

评论

mysql重置所有表_清空mysql指定库里所有表数据相关推荐

  1. oracle删除库里的所有表,清空mysql指定库里全部表数据-自动删除所有表,有外键约束的表优先删除...

    清空mysql指定库里所有表数据-自动删除所有表,有外键约束的表优先删除 由于要清空数据库数据 ,手动非常麻烦.网上找了一下,有一个Oracle的,参照它,在其上修改一下用于Mysql,把代码奉献如下 ...

  2. mysql 控制id复原_清空mysql表后,自增id复原

    一.清除mysql表中数据 deletefrom表名; truncate table 表名; 不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以 ...

  3. MySQL 用 truncate 命令快速清空一个数据库中的所有表

    MySQL 用 truncate 命令快速清空一个数据库中的所有表. 1. 先执行select语句生成所有truncate语句 语句格式: select CONCAT('truncate TABLE ...

  4. mysql清空数据库中所有表数据_清空mysql数据库所有表数据

    1,查看数据库状态 及启动停止 /etc/init.d/mysqld status/etc/init.d/mysqld start/etc/init.d/mysqld stop 2,给用户配置初始密码 ...

  5. 如何用mysql创建orders表_《MySQL必知必会》学习笔记

    本书所用的表: 68.png 67.png 66.png 65.png 64.png 63.png 第一章:了解SQL 数据库:保存有组织的数据的容器(通常是一个文件或一组文件). 数据库软件:DBM ...

  6. mysql 截断表_入门MySQL——基础语句篇

    前言: 前面几篇文章,我们介绍了MySQL的基础概念及逻辑架构.相信你现在应该有了自己的一套MySQL环境,接下来我们就可以开始练习MySQL了.本文将从MySQL最基础的语句出发,为你展示出创建及修 ...

  7. mysql交互式创建表_用mysql语句创建数据表详细教程

    MySQL不仅用于表数据操纵,而且还可以用来执行数据库和表的所有操作,包括表本身的创建和处理. 一般有两种创建表的方法: 1.使用具有交互式创建和管理表的工具: 2.表也可以直接用MySQL语句操纵. ...

  8. mysql 分区表 外键_【MySQL】表分区

    MySQL表分区是MySQL提供的一种简单的数据表水平拆分方法. 分区表是一个逻辑表,它由多个物理子表组成. 目前只有 InnoDB 和 NDB 正式支持表分区. 注:表分区虽然可以缓解单表数据量过大 ...

  9. 如何在mysql上输入数据表_向MySQL数据库的表中录入数据的方法

    MySQL数据库应用范围相对来说还是比较广泛的,MySQL数据库操作涉及到的知识还是很多的,其中,当你建好了数据库及表时,你首先想到的就是向数据库的表中输入数据.这就牵涉到如何向数据库增加数据.下面我 ...

最新文章

  1. 还在直接操作 Redis?赶快来试试这个
  2. 关于Eclipse插件开发(一)
  3. 应用程序服务器和Web服务器之间有什么区别?
  4. applicationContext.xml中设置读取jdbc.properties文件
  5. for循坏的穷举与迭代,while、do while循环
  6. 200米外遥测心跳定身份,五角大楼全新黑科技,人脸伪装也没用
  7. linux 固定usb设备,linux下多个usb设备固定名称方法
  8. activiti mysql数据库表_Mysql安装activiti数据库的2种解决办法
  9. VS CRT C标准库函数strrev解析
  10. 人工玻璃体-技术指标汇总(持续更新中)
  11. svn的搭建和和文件检出与提交
  12. 7 SystemVerilog语言编写UART接收
  13. Hi3520d 网卡驱动源码分析
  14. learun通用权限系统框架功能实现设计
  15. 震惊!你可能下了个假的抢红包神器
  16. 阿里云轻量应用服务器(香港)2020测评
  17. vim只读模式修改文件
  18. LeetCode344
  19. 未能加载文件或程序集“Newtonsoft.Json,Version = 13.0.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed“..
  20. 通俗解释网络语到底什么是PTSD?什么是饭圈PTSD?

热门文章

  1. 全球及中国芯片产业研发方向与投资规模预测报告2022版
  2. 光之盟:从ONA的握手,解锁全光网产业未来
  3. Linux操作系统的性能将主要取决于,高校邦Linux操作系统安全与性能调优章节测试答案...
  4. 百度地图离线开发V2.0
  5. 双十一过后,你的钱包还好嘛?快速回血攻略来了
  6. Python-分割PDF文件-如何自定义分割-按页数分割PDF-PyPDF2
  7. 安卓选择相册或者相机图片并裁剪适配华为小米机型
  8. 都 要 悠 着 点 呀~~
  9. 微信小程序实现朋友圈图片展现形式
  10. 勇敢猿猿不怕困难!为去大厂我把这个Java大厂面试真题刷了几十遍!(2021最新版)