遇到需要批量删除数据中的表的问题,二十来个表,手写DROP
TABLE
太麻烦了,虽然现在有很多前端工具都有类似功能,但也需要点N次鼠标后才能完成,要是有外键更麻烦。可以用Python等脚本完,但我想最简单的还是用SQL生
成DROP TABLE语句,在此分享一下。
用SQL生所DROP TABLE
语句的思路是,只要能从SELECT语句中得到表名即可用以下得到需要的删除脚本
select concat('DROP TABLE ',
tablename) from ........
在MySQL中的
information_schema.tables中得到所有的表名,
所在通过加上数据库条件,就能得到要操作的数据库中的所有表
show tables也可以得到当前数据库的所有表,但不能(或许是我不知道
)
用于select中,如果你知道,麻烦告诉我一声
。
以下语句生成删除test库中的所有表的脚本并保存在c:/drop.sql中
mysql>SELECT
CONCAT('drop table ', table_name,';')
INTO OUTFILE 'c:/drop.sql'
FROM
information_schema.tables s
WHERE
s.TABLE_SCHEMA='test';
drop.sql中的内容类似:
drop table b;
drop table c;
drop table m;
然后执行删除脚本:
mysql>source
c:/drop.sql
以上例子中的表之间没有主外键约束可以直接删除,如果有主外键约束,可以先删除把外键约束删除,Mysql中约束信息在
information_schema.TABLE_CONSTRAINTS
表中,也可以生成删除外键的语句
“ alter table
tablename
drop
foreign key foreign-key-name; ”
比如JBPM的表有很多外键约束,可以用以下SQL生成删除JBPM数据库中的所有外键
SELECT
CONCAT('alter table ',fk.TABLE_NAME, ' drop foreign key ', fk.CONSTRAINT_NAME,';')
FROM
information_schema.TABLE_CONSTRAINTS fk
WHERE
fk.CONSTRAINT_SCHEMA='JBPM' AND fk.CONSTRAINT_TYPE='foreign key';
执行以上SQL可以生成删除外键的外键的脚本drop_fk.sql
再生成删除表的脚本:
SELECT
CONCAT('drop table ',t.TABLE_NAME,';')
INTO OUTFILE 'c:/drop.sql'
FROM
information_schema.TABLES t
WHERE t.table_schema='jbpm';
执行删除:
SQL> source c:/drop_fk.slq
SQL> source c:/drop.sql
Oracle中可以
select 'DROP TABLE' || table_name ||
';' from user_tables;
生成删除表的脚本
oracle不熟悉,才开始学习,以后补上。
分享到:
相关推荐
- **ORM(Object-Relational Mapping)**:如Hibernate或MyBatis,它们提供更高层次的抽象,可以与SQL生成器结合使用,将Java对象和数据库表映射起来,简化数据操作。 - **模板引擎**:如FreeMarker或Velocity,用于...
首先,SQL代码生成器的核心功能是根据数据库结构自动生成SQL语句。这包括但不限于创建表、索引、视图、存储过程和触发器的语句,以及插入、更新、删除等DML操作。它通过解析数据库模式,提取相关信息,然后根据预...
SQL语句生成器是一种软件工具,它能够帮助开发者自动生成SQL语句,大大减轻了编写和调试的工作负担。这种工具通常包含各种功能,如:根据数据库结构自动生成SELECT、INSERT、UPDATE、DELETE语句,支持JOIN操作,生成...
理解易语言的基本语法和命令是使用SQL生成器的前提。 2. **SQL语句构造**:SQL语句主要包括SELECT、INSERT、UPDATE、DELETE四大类型,以及CREATE、ALTER、DROP等用于数据库对象管理的语句。SQL生成器能帮助用户快速...
在使用MyBatis-SQL生成器时,首先要理解其核心组件和工作原理。该生成器通过读取配置文件(通常为generatorConfig.xml),了解数据源、目标项目路径、生成策略等信息。配置文件中可以定义数据库连接信息,包括URL、...
在实际应用中,要正确使用这个插件,你需要将其配置到MyBatis的配置文件中,指定拦截的Mapper接口或注解,然后在Mapper接口的方法上使用定义的注解,即可享受自动SQL生成带来的便利。同时,由于插件适配的是MyBatis ...
1、本地执行代码生成工具,可生成controller、service、...3、可按照资源中提供的建表sql导入到数据库,然后双加start.bat,即可在上方配置的outdir目录中找到生成的代码 4、复制代码到项目目录修修改改即可使用
标题中的"sql生成ER图PD.docx"表明这是一个关于使用SQL数据来创建实体关系(ER)图的文档,可能详细介绍了如何将数据库结构可视化。ER图是数据库设计中常用的一种工具,它用图形方式展示了数据库中实体、属性以及...
实体类和SQL生成工具是一种高效开发辅助工具,它能够帮助程序员快速地生成各种编程语言(如VB、C#、Java)中的实体类,并自动生成对应的SQL语句,极大地提高了开发效率,减少了手动编写代码的工作量。 实体类是面向...
使用修正版的SQL生成器,开发者可以更放心地依赖其自动生成的SQL语句,减少了手动编写和检查带来的潜在风险和错误。同时,这也提升了代码的可读性和维护性,因为注释的引入使得SQL语句更加易懂,方便团队协作。 ...
ADO(ActiveX Data Objects)是微软开发的一种数据访问接口,它允许程序通过OLE DB或ODBC与各种数据库进行通信,因此,这款SQL生成器采用ADO方式的数据库连接,意味着它可以无缝地与多种数据库进行交互。 SQL...
在压缩包文件“Sql生成”中,可能包含有各种示例查询、配置文件、帮助文档或教程,帮助用户更好地理解和使用这种工具。通过学习和实践,用户不仅可以提高SQL查询的技能,还能提升数据处理的能力,这对于任何与数据库...
Ibatis SQL生成工具是一款专为开发者设计的实用应用程序,它能够极大地提高开发效率,尤其是在处理大量数据库操作时。Ibatis,作为一个轻量级的持久层框架,与传统的ORM(对象关系映射)工具相比,提供了更为灵活的...
本文主要讲述如何使用SQL语言自动生成JSON数据,并将其存储到数据表中或用于前端程序调用。 一、什么是JSON数据? JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于...
"Excel生成SQL脚本"这个主题涉及到如何利用Excel的功能来自动化创建SQL语句,这对于数据库管理员和数据分析师来说是一个非常实用的技巧。 首先,我们需要理解表结构说明。在“表结构说明及SQL生成文档.xls”中,...
例如,当使用SQL生成器来插入数据时,它可能会创建如下带注释的INSERT语句: ```sql -- 插入新的用户记录 INSERT INTO `users` (username, email, created_at) VALUES ('John Doe', 'john.doe@example.com', NOW()...
嵌入式SQL生成器是一种工具,它极大地简化了程序员在应用程序中使用SQL的过程。嵌入式SQL,全称为Embedded SQL,是将SQL语句直接嵌入到主语言(如C、C++、Java等)中,使得程序可以直接操作数据库而无需通过独立的...
本文将深入探讨如何在C#中自动生成SQL语句,以提高开发效率并减少手动编写SQL可能导致的错误。 一、Entity Framework与自动SQL生成 1. Entity Framework(EF)是微软提供的一个开源ORM(对象关系映射)框架,它...
在IT领域,SQL生成器通常被数据库管理员、开发者以及数据分析人员使用,以简化他们的工作流程,减少手动编写SQL语句的时间和错误。 在压缩包的文件名列表中,我们可以看到以下几个文件: 1. My_Delphi51.bpl:这是...
SqlSpec很可能是一个第三方工具,它的功能就是自动生成SQL Server数据库的规格文档。用户安装此软件后,可以利用它来解析SQL Server 2005中的数据库结构,并将其转换成具有超链接的HTML文档,从而方便团队成员理解、...