精华内容
下载资源
问答
  • 如何禁止数据库执行drop table的操作? 创建触发器函数: CREATE OR REPLACE FUNCTION abort_DROP_TABLE() RETURNS event_trigger LANGUAGE plpgsql AS BEGINiftgtag=′DROPTABLE′THENRAISEEXCEPTION′commandENDif...

    作者:瀚高PG实验室 (Highgo PG Lab)- 徐云鹤
    PG如何禁止在数据库执行drop table的操作?
    创建触发器函数:

    CREATE OR REPLACE FUNCTION DISABLE_DROP_TABLE()
    RETURNS event_trigger
    LANGUAGE plpgsql
    AS $$
    BEGIN
        if tg_tag = 'DROP TABLE'  THEN
            RAISE EXCEPTION 'Command % is disabled.', tg_tag;
        END if;
    END;
    $$;
    

    创建事件触发器:

    CREATE EVENT TRIGGER DISABLE_DROP_TABLE on  ddl_command_start  EXECUTE FUNCTION DISABLE_DROP_TABLE();
    

    尝试执行drop table 命令报错:

    postgres=# drop table aab;
    ERROR:  Command DROP TABLE is disabled.
    CONTEXT:  PL/pgSQL function disable_drop_table() line 4 at RAISE
    

    其他操作也可通过类似方式进行限制。
    更多的事件类型可查阅:

    https://www.postgresql.org/docs/13/event-triggers.html

    展开全文
  • drop是删除表空间。一般为delete from tablename where 条件;不带where+条件为全部删除等同于truncate,但执行效率比truncate慢。truncate默认所有的表内容都删除,无法回退,删除速度比delete快。drop语句删除表的...

    truncate与delete是删除表内记录,不删除表空间。drop是删除表空间。

    一般为delete from tablename where 条件;

    不带where+条件为全部删除等同于truncate,但执行效率比truncate慢。

    truncate默认所有的表内容都删除,无法回退,删除速度比delete快。

    drop语句删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态.。

    drop table默认将表删除到回收站内,恢复语句为:flashback table tablename to before drop;

    彻底删除语句为:drop table tablename purge;

    清空当前用户回收站语句为:purge recyclebin;

    清除回收站内某表记录:purge table tablename;

    删除表中的一列:alter table tablename drop column 列;

    详细请参考http://blog.csdn.net/zzyoucan/article/details/11096503

    如果要对大量表执行操作,同时放到一个SQL窗口执行会卡死的,要开一个command窗口执行。

    command会一行一行执行的。

    571247355b8be14aa0df6e0de270cc16.png

    展开全文
  • MySQL,当需要删除已创建的数据库时,可以使用 DROP DATABASE 语句。其语法格式为: DROP DATABASE [ IF EXISTS ] <数据库名> 语法说明如下: <数据库名>:指定要删除的数据库名。 IF EXISTS:...

    当数据库不再使用时应该将其删除,以确保数据库存储空间中存放的是有效数据。删除数据库是将已经存在的数据库从磁盘空间上清除,清除之后,数据库中的所有数据也将一同被删除。

    删除数据库

    在 MySQL中,当需要删除已创建的数据库时,可以使用 DROP DATABASE 语句。其语法格式为:

    DROP DATABASE [ IF EXISTS ] <数据库名>
    

    语法说明如下:

    • <数据库名>:指定要删除的数据库名。
    • IF EXISTS:用于防止当数据库不存在时发生错误。
    • DROP DATABASE:删除数据库中的所有表格并同时删除数据库。使用此语句时要非常小心,以免错误删除。如果要使用 DROP DATABASE,需要获得数据库 DROP 权限。

    注意:MySQL 安装后,系统会自动创建名为 information_schema 和 mysql 的两个系统数据库,系统数据库存放一些和数据库相关的信息,如果删除了这两个数据库,MySQL 将不能正常工作。

    实例

    下面在 MySQL 中创建一个测试数据库 test_db_del 并 show 查看。

    mysql> CREATE DATABASE test_db_del;
    Query OK, 1 row affected (0.01 sec)
    
    mysql> SHOW DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | db_test            |
    | db_test_db         |
    | mysql              |
    | performance_schema |
    | sys                |
    | test001            |
    | test002            |
    | test_create        |
    | test_create_char   |
    | test_db            |
    | test_db_d          |
    | test_db_ddd        |
    | test_db_del        |
    +--------------------+
    14 rows in set (0.00 sec)
    

    使用命令行工具将数据库 test_db_del 从数据库列表中删除并 show 查看

    mysql> DROP DATABASE test_db_del;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> SHOW DATABASES LIKE 'test_db_del';
    Empty set (0.00 sec)
    
    mysql> SHOW DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | db_test            |
    | db_test_db         |
    | mysql              |
    | performance_schema |
    | sys                |
    | test001            |
    | test002            |
    | test_create        |
    | test_create_char   |
    | test_db            |
    | test_db_d          |
    | test_db_ddd        |
    +--------------------+
    13 rows in set (0.01 sec)
    

    此时数据库 test_db_del 不存在。再次执行相同的命令,直接使用 DROP DATABASE test_db_del,系统会报错,如下所示:

    mysql> DROP DATABASE test_db_del;
    ERROR 1008 (HY000): Can't drop database 'test_db_del'; database doesn't exist
    

    如果使用IF EXISTS从句,可以防止系统报此类错误,如下所示:

    mysql> DROP DATABASE IF EXISTS test_db_del;
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    

    所以创建和删除数据库的时候使用 if not existsif exists 是个好的习惯

    使用 DROP DATABASE 命令时要非常谨慎,在执行该命令后,MySQL 不会给出任何提示确认信息。DROP DATABASE 删除数据库后,数据库中存储的所有数据表和数据也将一同被删除,而且不能恢复。因此最好在删除数据库之前先将数据库进行备份。

    展开全文
  • 方法-:使用cmd模式下载删除mysql> drop database school;此命名删除了school数据库。...方法二:PHP脚本删除数据库在php,我们可以使用mysql_query函数来执行sql语句。 所以删除数据库时,我们可以直接...

    方法-:使用cmd模式下载删除

    mysql> drop database school;

    此命名删除了school数据库。但如果school数据库不存在就会报错。所以完整的语句应该这么写:

    mysql> drop database if exists school;

    方法二:PHP脚本删除数据库

    在php中,我们可以使用mysql_query函数来执行sql语句。 所以删除数据库时,我们可以直接用mysql_query来执行删除命令。

    $dbhost = 'localhost:3036';

    $dbuser = 'root';

    $dbpass = 'rootpassword';

    $conn = mysql_connect($dbhost, $dbuser, $dbpass);

    if(! $conn )

    {

    die('Could not connect: ' . mysql_error());

    }

    echo 'Connected successfully
    ';

    $sql = 'DROP DATABASE TUTORIALS';

    $retval = mysql_query( $sql, $conn );

    if(! $retval )

    {

    die('Could not delete database: ' . mysql_error());

    }

    echo "Database TUTORIALS deleted successfullyn";

    mysql_close($conn);

    ?>

    好了,关于mysql drop database就介绍这么多。如果小伙伴想了解更多关于mysql的知识,可以阅读本文网站的《mysql 教程》

    展开全文
  • mysql drop数据库恢复

    2021-01-19 02:54:55
    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云...提供数据库优化方面专业建议,业务高峰期与用户共同保障数据库系统平...
  • 展开全部数据库中32313133353236313431303231363533e4b893e5b19e31333433623130的DROP是用来从数据库中删除已存在的表,或从表删除已存在的索引。语法为DROP {TABLE表 | INDEX索引 ON表 | PROCEDURE procedure | ...
  • ”的数据库 其名称,您需要在数据库名称周围使用反引号。语法如下-DROPDATABASE`yourDatabaseName`;为了理解上述语法,让我们创建一个数据库。创建数据库的查询如下-mysql>createdatabase`test?data`;那么,...
  • 主要用来对数据库的数据进行一些操作。DML 语句都是显式提交,执行完之后,处理的数据,都会放在回滚段(除了 SELECT 语句),等待用户进行提交(COMMIT)或者回滚 (ROLLBACK),当用户执行 COMMIT / ROLLBACK ...
  • MySQL ,当需要删除已创建的数据库时,可以使用 DROP DATABASE 语句。其语法格式为:DROP DATABASE [ IF EXISTS ] 语法说明如下::指定要删除的数据库名。IF EXISTS:用于防止当数据库...
  • drop 删除多个数据库

    2021-05-02 03:35:00
    数据库基础及实践技术——SQL Server 2008》一3.5 删除数据库3.5 删除数据库当不再需要某个数据库时,可以把它从SQL Server删除。删除一个数据库,也就删除了该数据库的全部对象,包括数据文件和日志文件也被...
  • MySQL控制台删除数据库命令 drop database 数据库名分类:数据库| 发布:佚名| 查看: | 发表时间:2014/4/30命令:drop database 例如:删除名为 camnpr的数据库mysql> drop database camnpr;例子1:删除一个...
  • 数据库中删除表数据的关键字,最常用的可能就是delete了,另外其实还有drop和truncate两个关键字。老大:drop命令格式:drop table tb ---tb表示数据表的名字,下同。说明:删除内容和定义,释放空间。简单来说就是把...
  • 当不再需要该表时可以用 drop 来删除表; 当仍要保留该表,但要删除所有记录时, 用 truncate来删除表 当要删除部分记录时(一般来说有 WHERE 子句约束) 用 delete来删除表部分记录。
  • MySQL如何删除数据库

    千次阅读 2021-03-04 01:46:55
    MySQL删除数据库的方法:1、使用drop命令删除数据库,代码为【drop database ;...MySQL删除数据库的方法:1、drop 命令删除数据库drop 命令格式:drop database ;例如删除名为 RUNOOB 的数据库:mysql> drop da...
  • SQLdelete和drop的区别

    2021-10-15 14:57:13
    delete是根据你所写的where条件删除掉表的部分数据。但是表的其他结构还。 因为delete只是删除掉部分数据,那么如果想删除全部数据,用truncate。truncate也是只删除全部数据,其他结构不会删除。 ...
  • 对MySQL的日常管理和实际操作,为了数据库的安全,避免恶意用户使用 root 账号控制数据库,我们通常会创建一系列具备适当权限的账号.这样,我们就可以不用或少用 root 账号登录NySQL数据库,一定程度上确保数据的...
  • mysql drop database命令用于删除一个数据库,如果试图使用drop database命令删除一个不存在的数据库,那么那么你会收到此错误:ERROR 1008 (HY000): Can't drop database 'tutorial_database'; database doesn't ...
  • 数据库delete,drop,truncate区别 delete,truncate只删除数据,drop删除数据和表结构 delete :一行一行地删除,有日志记录,可恢复数据。...由于truncate,drop不可回滚,数据不可恢复,开发使用要慎重 ...
  • Mysql 删除数据库drop database方法-:使用cmd模式下载删除mysql> drop database school;此命名删除了school数据库。但如果school数据库不存在就会报错。所以完整的语句应该这么写:mysql> drop database if ...
  • SQL命令DELETE和DROP都是可以用于删除数据库的元素,那么它们之间有什么区别?下面本篇文章就给大家简单比较一下DELETE和DROP,介绍DELETE和DROP的区别,希望对大家有所帮助。DELETE命令的简单介绍DELETE是一种...
  • drop命令用于删除数据库drop命令格式:drop database ;例如,删除名为 xhkdb的数据库:mysql> drop database xhkdb;[例子1] 删除一个已经确定存在的数据库:mysql> drop database drop_database;Query OK, 0...
  • drop database

    2021-05-13 03:31:23
    10g以前,要彻底删除数据库,只有两个方法,一个是利用DBCA图形化工具删除数据库,另外一个就是关闭数据库后,手工删除数据文件、控制文件以及日志文件的方法。从10g开始,Oracle提供了DROP DATABASE的语法,使得...
  • 一:用户和区别 1.delete delete from Student where [条件] ...drop table [表名] 删除内容和定义以及表的数据结构,并释放空间 就是删除表,删除就不存在此表 二:注意 1.delete语句执行删除的过程是...
  • 但是使用drop user语句之前,应该撤销用户的特权,或者换句话说,如果用户没有特权,那么可以使用drop user语句从Mysql数据库服务器删除用户。语法:DROP USER 'user'@'host';参数:1. user:这是要删除的用户帐户...
  • 背景最近做一个java桌面应用的时候,考虑到要保存一些数据。而我需要存储的类,其中有一些变量是object类型的,使用时需要动态解析。这就给存入数据库带来了一些麻烦。于是,我考虑把整个对象直接存入数据库。java...
  • MySQL delete和drop的区别

    千次阅读 2021-01-19 00:14:26
    DELETE命令的简单介绍DELETE是一种数据操作语言(DDL)命令,可以使用DELETE命令来从表删除部分或全部记录。可以和WHERE子句一起使用,用于删除满足添加的某些记录;如果未指定WHERE条件,则将删除所有记录。【相关...
  • DROP INDEX 语句我们可以使用 DROP INDEX 命令删除表格的索引。用于 Microsoft SQLJet (以及 Microsoft Access) 的语法:DROP INDEX index_name ON table_name用于 MS SQL Server 的语法:DROP INDEX table_name....
  • Oracle Drop Table

    2021-05-04 10:18:23
    oracle函数 的 Oracle ...Oracle DROP TABLE语句简介要将表移动到回收站或将其从数据库中完全删除,请使用DROP TABLE语句:DROP TABLE schema_name.table_name[CASCADE CONSTRAINTS | PURGE];这个语句:首先,指...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 480,156
精华内容 192,062
关键字:

在数据库中drop