精华内容
下载资源
问答
  • 2021-04-30 09:13:30

    删除表(记录和结构)的语名delete  ————  truncate  ———— drop

    DELETE (删除数据表里记录的语句)  www.2cto.com

    DELETE FROM表名 WHERE 条件;

    注意:删除记录并不能释放ORACLE里被占用的数据块表空间. 它只把那些被删除的数据块标成unused.

    如果确实要删除一个大表里的全部记录, 可以用 TRUNCATE 命令, 它可以释放占用的数据块表空间

    TRUNCATE TABLE 表名;

    此操作不可回退.

    相同点

    truncate和不带where子句的delete, 以及drop都会删除表内的数据

    注意:这里说的delete是指不带where子句的delete语句

    不同点:

    1. truncate和 delete只删除数据不删除表的结构(定义)

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

    2.delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.

    truncate,drop是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger.

    3.delete语句不影响表所占用的extent, 高水线(high watermark)保持原位置不动

    显然drop语句将表所占用的空间全部释放

    truncate 语句缺省情况下见空间释放到 minextents个 extent,除非使用reuse storage;   truncate会将高水线复位(回到最开始).

    4.速度,一般来说: drop>; truncate >; delete

    5.安全性:小心使用drop 和truncate,尤其没有备份的时候.否则哭都来不及

    使用上,想删除部分数据行用delete,注意带上where子句. 回滚段要足够大.

    想删除表,当然用drop

    想保留表而将所有数据删除. 如果和事务无关,用truncate即可. 如果和事务有关,或者想触发trigger,还是用delete.

    如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据

    oracle中删除表中的一列语句

    alter table 表名 drop colum 列名

    更多相关内容
  • sql删除表结构_SQL删除表

    万次阅读 2020-07-16 17:44:52
    sql删除表结构In a real-time situation, there are scenarios when we would like to remove the table from the database. Let us discuss in detail about the process of removing a table from the database. ...

    sql删除表结构

    In a real-time situation, there are scenarios when we would like to remove the table from the database. Let us discuss in detail about the process of removing a table from the database.

    在实时情况下,有些情况下我们想从数据库中删除表。 让我们详细讨论从数据库中删除表的过程。

    SQL删除表 (SQL DROP TABLE)

    The SQL DROP TABLE statement informs the database that a particular table needs to be removed. SQL DROP TABLE command removes all the data, indexes, triggers, constraints and permission specifications for that table.

    SQL DROP TABLE语句通知数据库需要删除特定的表。 SQL DROP TABLE命令删除该表的所有数据,索引,触发器,约束和权限规范。

    We will use the following three databases for better understanding DROP Table.

    我们将使用以下三个数据库来更好地理解DROP表。

    1. MySQL

      MySQL
    2. PostgreSQL

      PostgreSQL
    3. SQL Server

      SQL服务器

    MySQL删除表 (MySQL Drop Table)

    Syntax

    句法

    DROP TABLE table_name;

    In the syntax above, table_name is the table that needs to be dropped.

    在上面的语法中,table_name是需要删除的表。

    Let us try to understand the SQL DROP TABLE using an example.

    让我们尝试使用一个示例来理解SQL DROP TABLE。

    Create a table Customer using the following SQL COMMAND.

    使用以下SQL命令创建表Customer。

    CREATE TABLE `test`.`customer` 
    ( `CustomrId` INT NOT NULL, `CustomerName` VARCHAR(45) NULL,
      `ProductId` VARCHAR(45) NOT NULL, `State` VARCHAR(45) NULL, 
      PRIMARY KEY (`CustomrId`, `ProductId`), 
      UNIQUE INDEX `CustomrId_UNIQUE` (`CustomrId` ASC) VISIBLE);

    Check if the table exists using the SQL SELECT statement as shown in the below image.

    如下图所示,使用SQL SELECT语句检查表是否存在。

    Check If Table Exists

    Check If Table Exists Using SQL SELECT

    使用SQL SELECT检查表是否存在

    Now we will remove the table using SQL DROP TABLE command.

    现在,我们将使用SQL DROP TABLE命令删除该表。

    Query

    询问

    DROP TABLE customer;
    SQL DROP Table On MySQL

    SQL DROP Table On MySQL

    MySQL上SQL DROP表

    Executing the above query will remove the customer table along with all the constraints, data, index, etc.

    执行以上查询将删除客户表以及所有约束,数据,索引等。

    PostgreSQL删除表 (PostgreSQL Drop Table)

    Create a Customer table using below query.

    使用下面的查询创建一个Customer表。

    CREATE TABLE "test.customer"
     ( "CustomerId" integer NOT NULL,
       "CustomerName" character varying(45),
       "ProductId" character varying(45),
       "Country" character varying(45),
       PRIMARY KEY ("CustomerId","ProductId") );
    SQL Create Table On PostgreSQL With Multiple Column Primary Key

    SQL Create Table On PostgreSQL

    PostgreSQL上SQL创建表

    Using SQL Select check if the table exists, as shown below.

    使用SQL选择检查表是否存在,如下所示。

    PostgreSQL SELECT Table

    PostgreSQL SELECT Table

    PostgreSQL SELECT表

    Now we will drop the table using below query.

    现在,我们将使用以下查询删除表。

    DROP table public."Customer";
    PostgreSQL DROP Table

    PostgreSQL DROP Table

    PostgreSQL DROP表

    SQL Server删除表 (SQL Server Drop Table)

    Create a Customer table using below query.

    使用下面的查询创建一个Customer表。

    CREATE TABLE customer 
    ( CustomrId INT NOT NULL,
      CustomerName VARCHAR(45) NULL,
      ProductId VARCHAR(45) NOT NULL,
      State VARCHAR(45) NULL,
      PRIMARY KEY (CustomrId, ProductId));
    SQLServer Create Table

    SQLServer Create Table

    SQLServer创建表

    Use SQL select to validate if the table exists.

    使用SQL select验证表是否存在。

    SQLServer SELECT Table

    SQLServer SELECT Table

    SQLServer SELECT表

    Now we will drop the table using below query.

    现在,我们将使用以下查询删除表。

    DROP TABLE dbo.customer;
    SQLServer DROP Table

    SQL Server DROP Table

    SQL Server DROP表

    摘要 (Summary)

    SQL Drop Table command will delete the table and all the data associated with it. So it’s advisable to have a backup first before you actually drop the table.

    SQL Drop Table命令将删除该表以及与其关联的所有数据。 因此,建议您在实际删除表之前先进行备份。

    However, if there are foreign key constraints on the table with another table then the error will be thrown. You will first have to explicitly remove the foreign-key constraints and then drop the table.

    但是,如果在具有另一个表的表上存在外键约束,则将引发错误。 您首先必须明确删除外键约束,然后删除表。

    翻译自: https://www.journaldev.com/25476/sql-drop-table

    sql删除表结构

    展开全文
  • MySQL删除表的三种方式

    万次阅读 多人点赞 2020-06-08 00:40:17
    文章目录drop tabletruncate (table)delete from三种方式的区别用法总结 drop table drop 是直接删除表信息,速度最快,但是无法找回数据 例如删除 user 表: ...delete 是删除表中的数据,不删除表结构,

    drop table

    drop 是直接删除表信息,速度最快,但是无法找回数据

    例如删除 user 表:

    drop table user;
    

    truncate (table)

    truncate 是删除表数据,不删除表的结构,速度排第二,但不能与where一起使用

    例如删除 user 表:

    truncate table user;
    

    delete from

    delete 是删除表中的数据,不删除表结构,速度最慢,但可以与where连用,可以删除指定的行

    例如删除user表的所有数据

    delete from user;
    

    删除user表的指定记录

    delete from user where user_id = 1;
    

    三种方式的区别

    相同点

    • truncate和不带where子句的delete,drop都会删除表内的数据;

    • drop,truncate都是DDL语句(数据定义语言),执行后会自动提交;

    不同点

    • 语句类型:delete语句是数据库操作语言(DML),truncate,drop是数据库定义语言(DDL);
    • 效率:一般来说 drop > truncate> delete;
    • 是否删除表结构:truncate和delete 只删除数据不删除表结构,truncate 删除后将重建索引(新插入数据后id从0开始记起),而 delete不会删除索引 (新插入的数据将在删除数据的索引后继续增加),drop语句将删除表的结构包括依赖的约束,触发器,索引等;
    • 安全性:drop和truncate删除时不记录MySQL日志,不能回滚,delete删除会记录MySQL日志,可以回滚;
    • 返回值:delete 操作后返回删除的记录数,而 truncate 返回的是0或者-1(成功则返回0,失败返回-1);

    小知识

    delete 与 delete from 区别

    如果只针对一张表进行删除,则效果一样;如果需要联合其他表,则需要使用from

    delete tb1 from tb1 m where id in (select id from tb2);
    

    用法总结

    • 希望删除表结构时,用 drop;

    • 希望保留表结构,但要删除所有记录时, 用 truncate;

    • 希望保留表结构,但要删除部分记录时, 用 delete。

    展开全文
  • 达梦数据库:删除表和清空表

    千次阅读 2021-10-18 15:37:20
    任何涉及有关数据的操作都应谨慎,尤其是涉及删除,清空表的操作,下面博主介绍下关于删除表和清空表的语法,谨慎操作。 2.删除表 当一个表不再使用时,可以将其删除。删除表时,将产生以下结果: 表的结构信息从...

    1.前言

    对数据库来说,最重要的是里面的数据,数据安全是数据库中的重中之重。任何涉及有关数据的操作都应谨慎,尤其是涉及删除,清空表的操作,下面博主介绍下关于删除表和清空表的语法,谨慎操作。

    2.删除表

    当一个表不再使用时,可以将其删除。删除表时,将产生以下结果:

    1. 表的结构信息从数据字典中删除,表中的数据不可访问;
    2. 表上的所有索引和触发器被一起清除;
    3. 所有建立在该表上的同义词、视图和存储过程变为无效;
    4. 所有分配给表的簇标记为空闲,可被分配给其他的数据库对象。
      一般情况下,普通用户只能删除自己模式下的表。若要删除其他模式下的表,则必须具有 DROP ANY TABLE 数据库权限。
      以下语句可删除 employee 表:
    DROP TABLE employee;
    

    删除不存在的表会报错。若指定 IF EXISTS 关键字,删除不存在的表,不会报错,如:

    DROP TABLE IF EXISTS employee;
    

    如果要删除的表被其他表引用,即其他表的外键引用了表的任何主键或唯一键,则需要在 DROP TABLE 语句中包含 CASCADE 选项,如:

    DROP TABLE employee CASCADE;
    

    3.清空表

    有些情况下,当表的数据不再使用时,需要删除表的所有行,即清空该表。DM8 支持以下方式来删除表中的所有的行:

    1. 使用 DELETE 语句;
    2. 使用 DROP 和 CREATE 语句;
    3. 使用 TRUNCATE 语句。

    3.1 使用delete

    使用 DELETE 语句能删除表中的行。例如,下面的语句删除 employee 表中的所有行:

    DELETE FROM employee;
    

    但是,使用 DELETE 清空表,当表有很多行时,会消耗很多系统资源。因为,DELETE操作需要 CPU 时间,并且会产生大量的 REDO 日志和 UNDO 记录。另外,如果表上关联了元 组级触发器,每删除一行,就会启动一次触发器。这都需要大量的系统资源。

    3.2 使用 DROP 和 CREATE

    使用 DROP 删除一个表,然后创建一个同名的表,也可以达到清空表的效果。例如,下面的语句先删除 employe 表,之后再重新创建。

    DROP TABLE EMPLOYEE;
    CREATE TABLE EMPLOYEE();
    

    当删除和重新创建表时,所有与之相关联的索引、完整性约束和触发器也被删除。同样,所有针对被删除表的授权也会被删除。

    3.3 使用 TRUNCATE

    使用 TRUNCATE 语句能删除表中的所有行。例如,下面的语句清空 employee 表。

    TRUNCATE TABLE EMPLOYEE;
    

    TRUNCATE 语句为我们提供了一种快速、有效地删除表所有行的方法。并且 TRUNCATE 是一个 DDL 语句,不会产生任何回滚信息。执行 TRUNCATE 会立即提交,而且不能回滚。
    TRUNCATE 语句并不影响与被删除的表相关联的任何结构、约束、触发器或者授权。 另外,DM 数据库 TRUNCATE 表后,原来分配给该表的空间会被释放,供其他数据库对象使用,大大提高空间的利用效率。
    一般情况下,普通用户只能 TRUNCATE 自己模式下的表。若要 TRUNCATE 其他模式下的表,则必须具有 DROP ANY TABLE 数据库权限。
    如果要清空的表被其他表引用,即其他表的外键引用了表的任何主键或唯一键,并且子表不为空或子表的外键约束未被禁用,则不能 TRUNCATE 该表。

    总结

    1、在速度上,一般来说,drop> truncate > delete。

    2、在使用drop和truncate时一定要注意,虽然可以恢复,但为了减少麻烦,还是要慎重。

    3、如果想删除部分数据用delete,注意带上where子句,回滚段要足够大;

    如果想删除表,当然用drop;

    如果想保留表而将所有数据删除,如果和事务无关,用truncate即可;

    如果和事务有关,或者想触发trigger,还是用delete;

    如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据。

    更多资讯请上达梦技术社区了解: https://eco.dameng.com

    展开全文
  • MySQL 删除表的三种方式

    千次阅读 2021-02-10 10:47:29
    1、drop tabledrop 是直接删除表信息,速度最快,但是无法找回数据例如删除 user 表:drop table user;2、truncate tabletruncate 是删除表数据,不删除表的结构,速度排第二,但不能与where一起使用例如删除 user ...
  • SQL中删除表中的内容

    千次阅读 2021-01-18 22:34:36
    展开全部(1)如果想清空表里面的内容可以使32313133353236313431303231363533e78988e69d...SQL中删除表中的所有数据的方法:1、TRUNCATE TABLE 删除表中的所有行,而不记录单个行删除操作。(1)语法:TRUNCATE TA...
  • Oracle删除表数据

    千次阅读 2021-04-30 10:41:35
    本篇文章帮大家学习Oracle删除表数据,包含了Oracle删除表数据使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。在本教程中将学习如何使用Oracle DELETE语句从表中删除一行或多行数据...
  • sql删除表中重复记录 This article explains the process of performing SQL delete activity for duplicate rows from a SQL table. 本文介绍了对SQL表中的重复行执行SQL删除活动的过程。 介绍 (Introduction...
  • 如果存在表则删除表然后创建Mysqldrop table if exists suspects;create table suspects(id int PRIMARY KEY not null AUTO_INCREMENT,xm VARCHAR(20),xb VARCHAR(20),gmsfhm VARCHAR(100),csrq DATE,whcd VARCHAR...
  • MySql删除表中一行的实操方法

    万次阅读 2021-03-15 14:49:39
    MySql删除表中一行的实操方法首先你要确定能够唯一确定你那一行数据的字段或字段组合是哪些,DELETE FROM 表名 WHERE 字段1 = ‘' and 字段2 = ‘' and ...字段1,...为能够唯一确定某一行数据的字段组合,‘'中填写...
  • Django删除表与重建表(Model)

    千次阅读 2020-06-02 16:51:22
    前言 ...手贱删除表 如果有一天你手痒了,删除了一张自己设计的表,你会发现,不管你怎么执行makemigrations和migrate都无法自动生成新的表了。 就算你删除app_name/migrations下面的0001_initial.p
  • ORACLE删除表中所有数据

    千次阅读 2022-03-04 21:35:40
    delete from 表名(后面不跟where语句,则删除表中所有的数据) truncate table 表名 区别: truncate 是直接生效的,不能回滚 先删除表,再创建表 ,适用于大数据量,有索引的删除 delete 不删除表的结构,只是...
  • sql 删除表、删除/清空数据方法

    千次阅读 2021-06-29 09:37:27
    删除表 1. 方法一 通过`表名`删除 drop table tb1; 2. 方法二 通过`数据库.表名`删除 二. 删除/清空表中全部数据 1. 方法一 通过`delete`删除,优点:数据可恢复,缺点:速度慢 delete from 表名; 2. 方法二 通过...
  • 一、MySQL清空表数据命令:truncate SQL语法: truncate table 表名 ... truncate删除数据后是不可以rollback的。... truncate删除数据后会重置Identity(标识列、自增字段),相当于自增列会...二、MySQL删除表命令:
  • Oracle如何删除表空间

    千次阅读 2021-06-14 11:08:34
    很多小伙伴在刚刚学习Oracle的时候,想要删除不要的表空间。但很多情况下,没有进行正确的操作,这个就会导致Oracle无法使用,那如何正确的删除表空间呢?具体的操作如下:
  • clickhouse删除表的问题

    千次阅读 2021-04-08 09:28:08
    在日常使用clickhouse的时候,肯定会遇到删除表的操作,删除表的命令:DROP TABLE IF EXISTS test.test。有时候删除后表又想马上重建表,这时候你会发现相同表结构的表创建不了,以下就来测试一下。 测试 本地表 ...
  • sql删除表

    千次阅读 2020-04-16 01:41:30
    drop (删除表):删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表。 drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger)索引(index);依赖于该表的存储...
  • --一、误删除表的恢复方法--查询这个“回收站”或者查询user_table视图来查找已被删除的表:select table_name,dropped from user_tablesselect object_name,original_name,type,droptime from user_recyclebin--如果...
  • 删除表的sql命令是什么?

    千次阅读 2021-01-19 21:28:15
    sql中删除表的命令是DROP TABLE,DROP DATABASE语句用来删除数据库操作,即删除了数据库也删除数据库里的所有表。命令语法:DROP TABLE "表格名";DROP帮助信息:mysql> ? DROPMany help items for your request ...
  • SQL删除表数据

    千次阅读 2020-09-06 01:47:48
    SQL 可以用drop、truncate、delete删除表数据,语法如下。 drop table 表名,如:drop table userInfo truncate table 表名,如:truncate table userInfo delete from 表名 where 列名=值,如:delete from ...
  • SQL删除表中数据语句

    万次阅读 2020-11-11 15:49:20
    如果你想从数据库删除记录,那么需要使用...最后,要特别小心的是,和UPDATE类似,不带WHERE条件的DELETE语句会删除整个的数据: DELETE FROM students; 这时,整个的所有记录都会被删除。所以,在执行DELET
  • mysql如何删除表中一行数据?

    万次阅读 2021-01-27 09:10:30
    mysql中使用DELETE语句删除表中一行数据,语句为“DELETE FROM 表名称 WHERE 列名称 = 值”。删除所有行的语句为“DELETE FROM table_name”。mysql中使用DELETE语句删除表中一行数据,语句为“DELETE FROM 表名称 ...
  • Hbase 删除表数据

    千次阅读 2021-05-18 16:10:06
    1.Hbase 清空整个数据 注意:清空数据是否要保留预分区 # truncate会把分区也清除掉 truncate 'namespace:tableName' # truncate_preserve只清除数据 ...# 删除emp中第二行personal data:name列
  • oracle删除表,让整个表从数据库中彻底消失

    万次阅读 多人点赞 2019-05-29 09:59:14
    删除普通表,并未真正删除表,只是把该表放在回收站中。 drop table student_infor; 删除带约束的表 drop table tb_date_test cascade constraints; 查看回收站 从回收站中,可以看到已经被删除的两个表,还可以...
  • 使用SQL删除表中所有数据

    千次阅读 2021-10-10 16:04:29
    使用SQL删除表中所有数据 Truncate Table语句从一个表中删除所有行的速度要快于DELETE Truncate Table 表名
  • Hive 删除表或导入数据卡死

    千次阅读 2022-03-10 12:46:16
    通过HQL删除表和导入数据 问题描述 Hive 删除表或导入数据卡死,同时也不报错,一直停留在HQL页面,也不执行。 drop table XXX 原因分析: Hive中表有锁 解决方案: 查看是否有锁: show locks 【说明】:...
  • 1.查看一个所占的空间大小: SELECT SEGMENT_NAME,  TABLESPACE_NAME,  BYTES B,  BYTES / 1024 KB,  BYTES / 1024 / 1024 MB  FROM USER_SEGMENTS  WHERE segment_name = 'T_RL_INTG_LOGALL'  AND ...
  • 从数据库中删除数据,使用...例如如下例子:删除的是admin_user_table,uid等于1的数据 DELETE FROM admin_user_table WHERE uid = 1; 如何知道是否删除了这条数据呢?我们使用查询语句,查询uid=1,如果查询结.
  • 当一份数据乱糟糟的时候,想把数据删除掉,重新来过,但是又觉得太懒,不想重新定义一些表字段什么的,索性就把数据库内容给全部删掉,重新导入一遍数据。 我是在mysql客户端,使用SQL语句进行删除的。 下面是两种...
  • MySQL删除表的三种方式(小结)

    千次阅读 2021-01-18 18:40:23
    drop tabledrop 是直接删除表信息,速度最快,但是无法找回数据例如删除 user 表:drop table user;truncate (table)truncate 是删除表数据,不删除表的结构,速度排第二,但不能与where一起使用例如删除 user 表:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,283,016
精华内容 913,206
关键字:

如何删除表