精华内容
下载资源
问答
  • mysql 如何删除数据库中所有的

    万次阅读 2019-04-02 20:11:18
    mysql 如何删除数据库中所有的需求:方法1(他人之见)方法2(常用)方法3(最方便):方法4(重点,多功能):1.行转列的查询2 复制查询出的数据3. 使用Navicat、idea 等数据库软件4. 执行sql5. 可能出现的问题:...

    需求:

    今天写个Activiti 工作流的demo做测试,想删除数据库所有表。特地百度了下,找到了该 博文【mysql 如何删除数据库中所有的表】,在此做个总结,并添加了方法3,方法4做个笔记,希望对大家有用。此处数据库为 activiti_db

    方法1(他人之见)

    SELECT concat('DROP TABLE IF EXISTS ', table_name, ';')
    FROM information_schema.tables
    WHERE table_schema = 'mydb';
    

    mydb换成你想删除的数据库的名字
    这样可以生成一个批量处理的sql语句,你需要再运行一次这个结果集
    就可以删除所有的表而不删除数据库了

    例如:
    在这里插入图片描述

    ①新建查询:
    在这里插入图片描述

    ②返回的结果集,复制出来再运行一次。(复制,可以shift批量选中,也可以导出)
    在这里插入图片描述
    复制出来,贴到查询中,再点击运行。即可删除所有表。
    在这里插入图片描述
    在这里插入图片描述

    方法2(常用)

    在Navicat Premium(或 Navicat for MySQL)中,可以批量选中,点击删除表。一步到位!!!

    在这里插入图片描述
    在这里插入图片描述

    方法3(最方便):

    直接运行删除数据库的sql,和创建数据库的sql

     drop database if exists activiti_db;
    
     create database activiti_db;
    

    方法4(鄙人之见):

    使用行转列的方式生成要删除的sql,一次性执行;
    流程如下,此处数据库为activiti_db:

    1.行转列的查询

    在这里插入图片描述
    sql如下:

    	SELECT
    	group_concat(concat( ' ', a.sql, ' ' ))
    FROM
    	( 
    	   SELECT concat( 'DROP TABLE IF EXISTS ', table_name, ';' ) AS "sql" 
    	   FROM information_schema.TABLES WHERE table_schema = 'activiti_db' 
    	) AS a;
    

    2 复制查询出的数据

    第一步查询的数据如下

     DROP TABLE IF EXISTS act_evt_log; , DROP TABLE IF EXISTS act_ge_bytearray; , DROP TABLE IF EXISTS act_ge_property; , DROP TABLE IF EXISTS act_hi_actinst; , DROP TABLE IF EXISTS act_hi_attachment; , DROP TABLE IF EXISTS act_hi_comment; , DROP TABLE IF EXISTS act_hi_detail; , DROP TABLE IF EXISTS act_hi_identitylink; , DROP TABLE IF EXISTS act_hi_procinst; , DROP TABLE IF EXISTS act_hi_taskinst; , DROP TABLE IF EXISTS act_hi_varinst; , DROP TABLE IF EXISTS act_id_group; , DROP TABLE IF EXISTS act_id_info; , DROP TABLE IF EXISTS act_id_membership; , DROP TABLE IF EXISTS act_id_user; , DROP TABLE IF EXISTS act_procdef_info; , DROP TABLE IF EXISTS act_re_deployment; , DROP TABLE IF EXISTS act_re_model; , DROP TABLE IF EXISTS act_re_procdef; , DROP TABLE IF EXISTS act_ru_event_subscr; , DROP TABLE IF EXISTS act_ru_execution; , DROP TABLE IF EXISTS act_ru_identitylink; , DROP TABLE IF EXISTS act_ru_job; , DROP TABLE IF EXISTS act_ru_task; , DROP TABLE IF EXISTS act_ru_variable; 
    

    3. 使用Navicat、idea 等数据库软件

    使用软件查找英文逗号(行转列出现的,每一行数据以逗号隔开,so此处要替换条),替换成空格,操作如下图:
    在这里插入图片描述

    4. 执行sql

    执行第3步替换后的sql,这里推荐使用navicat的,可以批量执行;

    5. 可能出现的问题:

    若出现以下报错,说明该表关联到其他的主键,可以将该sql复制放在最后面执行;如果数据库中表没有物理关联,则不会出现该错误;

    DROP TABLE IF EXISTS act_ge_bytearray
    > 1217 - Cannot delete or update a parent row: a foreign key constraint fails
    > 时间: 0s
    

    6.总结

    此方法不一定要删除所有的表,在第一步 如下,查询的是activiti_db数据库所有表名,可在此添加where判断,满足只删除某些表的功能;

    SELECT concat( 'DROP TABLE IF EXISTS ', table_name, ';' ) AS "sql" 
    	   FROM information_schema.TABLES WHERE table_schema = 'activiti_db' 
    	  where table_name like '%.....%'
    
    展开全文
  • Oracle 数据库 表存在删除表 MySql 生成连续时间 连续ID 此博客为平安老铁而写!

    此博客为平安老铁而写!

    //表存在则执行删除表SQL
    DECLARE
      numbe NUMBER;
    BEGIN
      SELECT COUNT(1)
        INTO numbe
        FROM USER_TABLES
       WHERE TABLE_NAME = UPPER(#{tableName});
      IF numbe > 0 THEN
        EXECUTE IMMEDIATE 'DROP TABLE ' || '#{tableName}';
      END IF;
    END;
    
    //创建表
    CREATE TABLE #{tableName}(
    
    );

    -- MySql 生成连续时间 连续ID

    
    SELECT
    	date 
    FROM
    	(
    	SELECT
    		'2021-07-01' + INTERVAL ( @num ) DAY AS date,
    		@num := @num + 1 num 
    	FROM
    		(
    		SELECT
    			rownum 
    		FROM
    			(
    			SELECT
    				@rownum := @rownum + 1 AS rownum 
    			FROM
    				( SELECT @rownum := 0 ) r,
    				( SELECT * FROM system_log ) info 
    			) t 
    		WHERE
    			t.rownum <= ( TIMESTAMPDIFF( DAY, '2021-07-01', DATE_FORMAT( NOW(), '%Y-%m-%d %H:%i:%S' )) + 1 ) 
    			) u,(
    		SELECT
    			@num := 0 
    		) t 
    	) lsb

    展开全文
  • 解决:SQL1005N 在本地数据库目录或系统数据库目录中已经存在数据库别名2009年07月02日 星期四 15:48在创建数据库时遇到数据库别名已存在的问题时,可以通过以下方法解决: 首先用 db2 list database directory ...
     
    
    解决:SQL1005N 在本地数据库目录或系统数据库目录中已经存在数据库别名
    2009年07月02日 星期四 15:48

    在创建数据库时遇到数据库别名已存在的问题时,可以通过以下方法解决:
         首先用 db2 list database directory 命令看在系统数据库目录(System Database Directory)中有没有该数据库。
          如果有,应该在确定该数据库是没有用的数据库之后用 db2 drop database 数据库名 将其删除。    
          如果没有,再用 db2 list database directory on location 看在本地数据库目录(Local Database Directory)中有没有该数据库,location指定数据库的位置(如Windows下的C: ,Unix下/home/db2inst1)。如果有,先用 db2 catalog database 数据库名 on location 将数据库编目到节点上,再对其进行删除处理。

    解决过程:
    1、db2 list database directory   查看系统数据库目录,看不到要找的数据库,表示该数据库不在系统数据
                                                      库目录中
    2、db2 list database directory on D:(在系统数据库目录找不到的情况下执行该指令,这里是盘符d),然
                                                                后发现有sample和source的别名。说明在本地数据库目录中。
    3、db2 catalog database 数据库名 on d: 将数据库编目到节点上
    4. db2 drop database 数据库名 删除数据库

    http://blog.sina.com.cn/s/blog_4db1ee710100i60g.html
    展开全文
  • sqlite3查看数据库中有哪些(代码)

    千次阅读 2018-05-31 09:57:05
    说实话,用代码实现sqlite3查看数据库中有哪些我还真的没找到现成资源,网上提供的语句还真用不了,而且大多都是命令行语句,由于的做的MFC项目要用到这个功能,特意学习了下,下面分享我的成果,希望可以帮到你....

    说实话,用代码实现sqlite3查看数据库中有哪些表我还真的没找到现成资源,网上提供的语句还真用不了抓狂,而且大多都是命令行语句,由于的做的MFC项目要用到这个功能,特意学习了下,下面分享我的成果,希望可以帮到你.

    环境:VS2005

    #include "sqlite3.h"
    #include <iostream>
    #include "string.h"
    
    #pragma comment(lib,"sqlite_win32_dll.lib")
    
    using namespace std;
    
    int main()
    { 
    	sqlite3 * datb = NULL;                  //要定义全局变量
    	int ret = sqlite3_open("demo.db",&datb);
    	if(ret == SQLITE_OK)
    	{
    		cout << "demo.db打开成功!" << endl;
    	}
    	else
    	{
    		cout << "demo.db打开失败!" << endl;
    		return 0;
    	}
    	char * errmsg;                             //要定义全局变量
    
    	char str3[1024] = {"create table "};
    	char * str11 = "List";
    	strcat(str3,str11);
    	char *str2 = "(id int primary key,name text)";
    	strcat(str3,str2);
    	char sql[1024] = {0};
    	sprintf(sql,"drop table if exists %s",str11);
    	sqlite3_exec(datb,sql,NULL,NULL,&errmsg);  //在创建表时,如果表存在,则删除
    	
    	ret = sqlite3_exec(datb,str3,NULL,NULL,&errmsg);
    
    	
    	if(ret == SQLITE_OK)
    	{
    		cout << "demoF表创建成功!" << endl;
    	}
    	//插入记录
    	const char * str7 = "insert into demoF values(1,'zhang')";
    	const char * str8 = "insert into demoF values(2,'li')";
    	const char * str9 = "insert into demoF values(3,'wang')";
    	const char * str10 = "insert into demoF values(4,'cheng')";
            sqlite3_exec(datb,str7,NULL,NULL,&errmsg);
    	sqlite3_exec(datb,str8,NULL,NULL,&errmsg);
    	sqlite3_exec(datb,str9,NULL,NULL,&errmsg);
    	sqlite3_exec(datb,str10,NULL,NULL,&errmsg);
    	//查询表
        char **dbresult;
    	int j,nrow,ncolumn,index = 0;
    	//ret = sqlite3_get_table(datb,"select name from demo.db where type='U' and name like '%demo%' ",&dbresult,&nrow,&ncolumn,&errmsg);
    	//ret = sqlite3_get_table(datb,"select * from all_tables ",&dbresult,&nrow,&ncolumn,&errmsg);
    	//ret = sqlite3_get_table(datb,"select name from demo.db where type='table' order by name ",&dbresult,&nrow,&ncolumn,&errmsg);
    	ret = sqlite3_get_table(datb,"select name from sqlite_master where type ='table'order by name ",&dbresult,&nrow,&ncolumn,&errmsg);
        if(ret == SQLITE_OK)
    	{
    		for(int i = 0;i <= nrow; i++)
                /*for(j = 0;j < ncolumn;j++)*/
    			{
    			    cout <<  dbresult[index] << endl;
    		
                    index++;
    			}
    			cout << nrow << ncolumn << endl;
    
          }

    可以看看我试了多少种语句(只有最后一个是有用的哭)

    运行结果


    这个结果可以看出表在存的时候是2行1列,那个name是名字提示,下面的List,demoF才是表的真正名字.

    如果你能看到我发的博客,那么你还算幸运吐舌头因为我被这个功能卡了三个星期(主要是网上资源太乱,而且没有代码实现方法,难受)




    展开全文
  • 【hive】中数据库

    千次阅读 2019-11-26 09:24:05
    hive 建立一张已经存在的结构haul的数据文件产生映射关系 映射成功之后就可以通过写SQL来分析这结构化的数据 避免了写mr程序的麻烦 数据库 /user/hive/warehouse 下的一个文件夹对应 数据库 hive的存放...
  • Mysql数据库服务器: OS version:linux 5.3 for 64bit Mysql Server version: 5.0.45 Oracle数据库服务器: OS version:linux 5.3 for 64 bit Or...
  • [数据库]数据库临时

    千次阅读 2014-08-09 09:09:53
    临时就是那些名称以井号 (#) 开头的。如果当用户断开连接时没有除去临时,SQL...只有在创建本地临时的连接上才能看到这些,链接断开时临时即被删除(本地临时为创建它的该链接的会话所独享)或者这样说局
  • 在给客户安装sql server2005后附加数据库,然后创建同名登录用户后出现“错误15023:当前数据库中存在用户或角色”,经分析是由于附加的数据库中用户已经存在,但并没有与登录名关联,就是所谓的“孤立用户”。...
  • 知识点:数据库表的相关概念、创建数据库表的方法、设计数据库表、向数据库表中插入数据、建立不同数据库表之间的关系、删除数据库表。 1、数据相关的一些概念 1.1 数据库里的数据是如何保存的? 数据库...
  • 数据库删除表语句

    千次阅读 2016-01-27 11:13:39
    判断表存在,执行删除表操作: mySql: drop table if exists tablename Oracle: BEGIN  EXECUTE IMMEDIATE 'DROP TABLE tablename';  EXCEPTION WHEN OTHERS THEN NULL; END; SQLServer: ...
  • 乐维提示执行完后,可以用show tables查看一下,看的数据是否已经删除之前减少了,如果减少了,说明你成功了! 2、上一步操作完成后,停止数据库,并进入到数据库数据文件所在目录,删除上面5个所对应的idb...
  • 这种情况一般发生在再一次运行SQL语句时,有两种办法可以解决: 1.再创建语句前加: IF OBJECT_ID ( '表名' ) IS...2.有时因为所需删除数据库的主码被用于其他,所以不能删除,这时可以通过修改表名来重新运行。...
  • 一、运行环境说明 1、电脑环境:win10 2、数据库软件:SQL Server 2008 R2 二、经典例题原型 题目1:设有一个 SPJ 数据库,包括 S、P、J 及 ...应商 S 由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STAT
  • 一台数据库服务器会创建很多数据库(一个项目会创建一个数据库),在数据库中会创建很多张表(一个实体会创建一个),在表中会有很多记录(一个对象实例回添加一条新的记录) sql简介 SQL全称是“结构化查询语言是...
  • 说明名为IS_Student的视图已经建立,如果想要重新创建视图IS_Student那么就需要将原始图删掉。 右击IS_Student,选择删除就可以了。
  • informix数据库中创建同义词

    千次阅读 2012-12-04 10:15:51
    Informix数据库服务器dbserver有数据库db_a和数据库db_b,db_a是用户a创建的,db_b是用户b创建的, 由于使用db_a数据库的程序需要读取db_b数据库中,在这种情况下,连接到db_a的程序是不能访问db_b的数据的。...
  • 设教学数据库中有三个基本: 学生 S(SNO,SNAME,AGE,SEX),其属性表示学生的学号、姓名、年龄和性别;选课表 SC(SNO,CNO,GRADE),其属性表示学生的学号、所学课程的课程号和成绩;课程 C(CNO,CNAME...
  • 转载地址... 数据库是否存在 if exists(select top 1 * from sys.databases where name='database_name') begin print('数据库存在!') end else begin create database database...
  • 判断某个是否存在 select * from pg_tables where tablename='tbl_res'; 判断某个的某个字段是否存在 SELECT attname FROM pg_attribute WHERE attname = 'autoid' and attrelid = 'tbl_version'::regclass;...
  • if exists(select * from master.dbo.sysdatabases where name = s2723103005) begin drop database s2723103005 print 已删除数据库s2723103005 endcreate database s2723103005on primary(name=His_data, ...
  • “` package com.lq.emp.main; import com.lq.emp.service.EmpService; //程序入口 public class AppMain { public static void main(String[] args) { while(true) { new EmpService().s...
  • Mysql数据库中的各种锁

    万次阅读 多人点赞 2019-04-26 16:46:32
    本文便着重对Mysql数据库中的锁进行介绍 概述 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。 MySQL大致可归纳为以下3种锁: 级锁:开销小,加锁快;不会...
  • 删除数据库表数据SQL语句

    千次阅读 2019-01-11 14:50:21
    truncate table tbFolder
  • 数据库 - 索引、基本创建与删除

    千次阅读 2015-05-05 10:04:43
    修改基本ALTER TABLE <表名> [ ADD <新列名> <数据类型> [ 完整性约束 ] ] [ DROP <完整性约束名> ] [ ALTER COLUMN<列名> <数据类型> ]; [例8]向Student增加“入学...不论基本表中原来是否已有数据,新增加的列一
  • 各位,我在Oracle数据库里面删除一条数据,之后在Java里面查询这条数据,结果显示还是存在这条数据,这是为什么? 这是jdbc连接的代码: public class DbTools { Connection connection; public Connection ...
  • mysql数据库备份与备份

    千次阅读 2019-02-21 10:18:12
    Mysql数据备份使用的命令是:mysqldump命令将数据库中的数据备份成一个文本文件。的结构和表中的数据将存储在生成的文本文件。mysqldump命令的 工作原理很简单。它先查出需要备份的的结构,再在文本文件...
  • 数据库概念及库操作

    千次阅读 2019-04-10 18:43:17
    数据库是用户存放数据、访问数据、操作数据的存储仓库,用户的各种数据被有组织的存放在数据库中。可以随时被有权限的用户查询、统计、添加、删除、和修改。 是长期存储在计算机内的,有组织、可共享的数据集合。...
  • hive数据库操作

    千次阅读 2021-10-15 10:52:52
    1.数据库操作 ...(2) 避免要创建的数据库已经存在错误,增加if not exists判断 hive (default)> create database if not exists school_1; (3)创建一个数据库,指定数据库在HDFS上存放的位置.
  • 1.故障描述 项目使用spring boot启动,application.yml配置如下: jpa: database-platform: ...1.对数据库表中已经进行重命名 2.如果时初始化数据库,可以删除数据库中的,然后重新启动即可自动创建
  • HiveQL是Hive查询语言。和普遍使用的所有SQL方言一样,它不完全遵守任一种ANSISQL标准的修订版。HiveQL可能和MySQL的方言最接近,但是两者还是存在显著性差异的。...hive中数据库的概念本质上仅仅...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 302,103
精华内容 120,841
关键字:

删除数据库中已经存在的表s