精华内容
下载资源
问答
  • 删除表数据保留表结构
    千次阅读
    2022-02-09 08:13:35

    truncate和delete的区别

    在SQL中,delete能快速删除数据表中所有记录,但保留数据表结构的语句是Truncate。 使用Truncate删除所有行,该语句总是比不带条件的DELETE语句要快,因为DELETE语句要记录对每行的删除操作,而Truncate 语句只记录整个数据页的释放。

    Truncate语句立即释放由该表的数据和索引占用的所有空间,所有索引的分发页也将释放。

    相同点:

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

    用法

    1.delete语句:不删除表的情况下删除所有的行。

    delete from table_name;

    例:delete from UserInfo;

    2.delete删除指定的行

    delete from 表名称 where 列名 = 值

    例:delete from UserInfo where ID = 1;

    3.truncate语句:删除整个表数据,但保留表结构

    truncate table table_name;

    例: truncate table UserInfo;

    更多相关内容
  • 首先把删除表格的sql找出来:SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='要删除DB名字'结果大概:TRUNCATE TABLE chat_activity;TRUNCATE TABLE chat_checkin;TRUNCATE TABLE ...

    首先把删除表格的sql找出来:

    SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='要删除DB名字'

    结果大概:

    TRUNCATE TABLE chat_activity;

    TRUNCATE TABLE chat_checkin;

    TRUNCATE TABLE chat_loginlog;

    TRUNCATE TABLE chat_message;

    TRUNCATE TABLE chat_message_bakup;

    TRUNCATE TABLE chat_setting;

    TRUNCATE TABLE chat_teacher;

    TRUNCATE TABLE chat_tvote;

    TRUNCATE TABLE chat_user;

    TRUNCATE TABLE count_voting;

    TRUNCATE TABLE cr_userinfo;

    TRUNCATE TABLE diy_block;

    TRUNCATE TABLE diy_color;

    TRUNCATE TABLE diy_common;

    TRUNCATE TABLE diy_kefu;

    TRUNCATE TABLE diy_logo;

    TRUNCATE TABLE diy_notice;

    TRUNCATE TABLE diy_vipcode;

    TRUNCATE TABLE user_type; 然后你懂的, 直接运行这个列表的sql就大功告成了!!!

    展开全文
  • 在SQL中删除数据删除表结构的区别:1、删除数据,表的结构还在,而删除表的结构是指删除整个表,包括结构和数据;2、命令不同,删除数据【delete from 表名称】,而删除表结构为【drop table 表名称】。在...

    在SQL中删除表数据和删除表结构的区别:1、删除表数据,表的结构还在,而删除表的结构是指删除整个表,包括结构和数据;2、命令不同,删除表数据【delete from 表名称】,而删除表结构为【drop table 表名称】。

    fa65a6cf024e8c2b7ffb45d26591cbac.png

    在SQL中删除表数据和删除表结构的区别:

    1、定义不同。

    删除表的内容是指删除表的数据。表的结构还在。

    删除表的结构是指删除整个表,包括结构和数据。

    2、命令不同。

    删除表的数据:

    truncate table 表名称;

    或者

    delete from 表名称;

    删除表结构:

    drop table 表名称;

    2b71e1dbebdc45cfb0ad80d7751d6146.png

    扩展资料:

    truncate:删除内容、释放空间但不删除定义(保留表的数据结构)。truncate 不能删除行数据,要删就要把表清空。

    delete:delete 语句用于删除表中的行。delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存,以便进行进行回滚操作。

    truncate与不带where的delete :只删除数据,而不删除表的结构(定义)。

    如果想保留标识计数值,请改用delete。 如果要删除表定义及其数据,请使用 drop table 语句。

    drop:删除内容和定义,释放空间。简单来说就是把整个表去掉。以后是不能新增数据,除非新增一个表。

    drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index);依赖于该表的存储过程/函数将被保留,但其状态会变为:invalid。相关学习推荐:SQL视频教程

    展开全文
  • 常见的删除数据库数据的方法是通过delete或者truncate的方法进行删除操作,如果删除的是中某一条或者部分数据的话适合用delete操作进行删除,如果要删除表中所有的数据的话,适合是同truncate进行删除操作。...

      常见的删除数据库表中数据的方法是通过delete或者truncate的方法进行删除操作,如果删除的是表中某一条或者部分数据的话适合用delete操作进行删除,如果要删除表中所有的数据的话,适合是同truncate进行删除操作。

            那么问题来了,如果某一个数据库中有很多张表,此时我想将该数据库中所有表中的数据全部删掉,该如何操作呢?

            解决该问题主要分两种情况,如果不需要保留数据库中所有表的结构,那么答案很简单,执行命令drop database 数据库名  即可达到目的。但是如果需要保留该数据库中所有表的结构,只想删除所有表中的数据,又该怎么解决呢?有人会说可以多执行几次truncate操作就OK啦,没错,多执行几次truncate确实可以达到目的,但是,如果要删除的数据库中有很多张表,几十张上百张表,执行上百次truncate操作显然不是好的办法?至此,就是本文要说讲到的办法了。

            删除的办法其实还是执行truncat方法,只是不需要每次手动的输入truncate命令进行删除。通过sql命令的方式生成所有的truncate语句并写入到.sql脚本文件中,然后执行脚本即可完成删除操作,并且保留了表结构。

            生成truncate命令的sql语句为:SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM information_schema.TABLES WHERE TABLE_SCHEMA='test' into outfile '/tmp/truncate_test.sql';

            然后将生成的.sql脚本拷贝到当前文件夹下面:mv /tmp/truncate_test.sql $current_dir/

            然后执行.sql脚本将数据库中所有表中数据删除:source $current_dir/truncate_test.sql

            说明:

            在进行select....into outfile......操作时,默认只能将文件写入到tmp路径下,可以不用将tmp文件夹下面的.sql脚本移动到当前文件夹下,直接在tmp路径下执行.sql脚本即可。如果要写入到其他路径下,需要给mysql的守护进程赋写操作的权限,最简单的办法是将/etc/selinux路劲下的config配置文件中的SELINUX修改成disabled可以实现写入其他路径下,这里不展开说明。

            结合上一篇博文mysql数据库的备份和恢复,下面贴出一个小脚本的源码和运行截图。使用该脚本进行数据备份和恢复时,源和目的数据库中的所有表结构需要一致,否则执行可能出错。该脚本主要实现mysql数据库的备份和恢复,以及一次删除整个数据库中所有表数据并保留数据表结构。

            运行结果截图说明:

            

            1):备份test数据库中的所有数据

            2):恢复数据

            3):删除数据库test中所有表中的所有数据,并保留表结构

            

            脚本源码:

     

    #/bin/bash
    while [ 1 ]
    do
        echo "  #############################################" 
        echo "           Quick Backup and Recovery"                   
        echo "    Source and Destination Mysql Must Be Same"
        echo "  #############################################"
        echo "    1) Back up database test"
        echo "    2) Recovery database test"
        echo "    3) Clear data in database test"
        echo "    q) Quit"
        echo -n " Your Option:"
        read option_char
    
        current_dir=$(pwd)
        case ${option_char} in
            "1")
        	    rm -f $current_dir/test_bk.sql
                mysqldump -t -c -uroot -proot test > $current_dir/test_backup.sql
                echo " Database test already backup..."
                ;;
            "2")
                mysql -u root --password='root' -e "
    	    use test
                source $current_dir/test_backup.sql"
                echo " Database test already recovery..."
                ;;
            "3")
                rm -f $current_dir/truncate_test.sql
    	    chmod 777 $current_dir
                mysql -u root --password='root' -e "
                SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM information_schema.TABLES WHERE TABLE_SCHEMA='test' into outfile '/tmp/truncate_test.sql';"
    	    mv /tmp/truncate_test.sql $current_dir/
        	    mysql -u root --password='root' -e "
    	    use test
    	    source $current_dir/truncate_test.sql"
                echo " Clear data of test successful..."
                ;;
            "q"|"quit"|"exit"|'Q'|"QUIT"|"Quit")
    	    break
    	    ;;
            *)
                echo "your option is invalid, please input again..."
                ;;
        esac
    done
    展开全文
  • 当一份数据乱糟糟的时候,想把数据删除掉,重新来过,但是又觉得太懒,不想重新定义一些表字段什么的,索性就把数据库内容给全部删掉,重新导入一遍数据。 我是在mysql客户端,使用SQL语句进行删除的。 下面是两种...
  • 在Mysql 中删除数据以及数据表非常的容易,但是需要特别小心,因为一旦删除所有数据都会消失。 删除数据 删除表内数据,使用delete关键字。... 删除数据表内数据以及表结构 只删除表内数据,保留表结构 dro
  • 一般有两种方式: ①:delete from table_name; 例:delete from student; ②:truncate table table_name; 例:truncate table student;
  • Oracle删除表的几种方法

    千次阅读 2021-04-30 09:13:30
    删除(记录和结构)的语名delete ———— truncate ———— dropDELETE (删除数据表里记录的语句) www.2cto.comDELETE FROM表名 WHERE 条件;注意:删除记录并不能释放ORACLE里被占用的数据块空间. 它只把那些被...
  • mysql中清空数据库数据保留表结构

    千次阅读 2020-09-24 16:51:19
    – 只导出数据不导出表结构 #mysqldump -t csf_home -uroot -p123456 > data.sql #mysqldump -uuser -ppassword --t database_name> database_name_data.sql 这里简单说下我们公司信息化平台在云上部署上线
  • ORACLE 删除数据、清空、删除

    千次阅读 2020-12-09 14:33:46
    TRUNCATE:删除表中的全部数据保留表结构 (自动提交(COMMIT)) DROP:删除数据表结构 (自动提交(COMMIT)) (数据无价、删除需谨慎!) DELETE: 删除满足条件的数据 --删除某个条件的数据 DELETE FROM ...
  • 说到删除表数据的关键字,大家记得最多的可能就是delete了然而我们做数据库开发,读取数据库数据.对另外的两兄弟用得就比较少了现在来介绍另外两个兄弟,都是删除表数据的,其实也是很容易理解的老大------drop出没场合:...
  • Mysql清除所有表数据保留表结构

    千次阅读 2018-05-02 15:16:28
    先(右键)新建一个新的数据库,用于之后导入表结构2.右键需要导入表结构的数据库(如图中的hdw)—— 选择‘将数据库复制到不同主机/数据库’3.如图最后就能在这个new的数据库中看到仅有这些表的字段结构而没有数据...
  • 数据结构-链表篇

    千次阅读 2021-09-07 22:54:59
    数据结构-链表篇
  • TRUNCATE table 表名
  • 获得所有的表结构删除命令,比如数据库名为open_lmis; select CONCAT('TRUNCATE TABLE ',table_name,' CASCADE',';') from information_schema.tables where TABLE_SCHEMA = 'public' and tabl...
  • 可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序删除,使该由一个“非纯”(值相同的元素在中可能有多个)变成一个“纯”(值相同的元素在中只保留第...
  • mysql更新数据表结构命令

    千次阅读 2021-01-19 02:51:13
    mysql中alter命令的用法,用于编辑表结构修改表名alter table test rename test1;修改字段类型alter table employee change depno depno int(5) not null;加索引alter table 表名 add index 索引名 (字段名1[,字段名...
  • 数据结构——从顺序删除重复的元素

    万次阅读 多人点赞 2018-11-10 17:18:57
    问题描述:设计一个算法从顺序删除重复的元素,并使剩余元素间的相对次序保持不变。 例如:原顺序为{4 2 8 4 2 1 2 1 3 5 2},执行该算法后,顺序为:{4 2 8 1 3 5}。 另外,顺序的初始值通过调用算法...
  • 数据库删除表数据

    千次阅读 2021-03-22 10:08:51
    也可以在不删除表的情况下(即意味着结构、属性、索引完整)删除所有行) 语法:删除某一行:Delete From 名称  Where 列名称=值 删除所有行: Delete From 名称       ...
  • hive删除表数据方法

    千次阅读 2021-03-29 14:26:53
    外部表 insert overwrite table test_table ...仅仅删除数据保留表结构。 方法一 truncate用于删除所有的行且不能删除外部表,因为外部表里的数据并不是存放在Hive Meta store中,语句如下: truncate tab.
  • 在自学数据结构时是非常痛苦的,单是第一章顺序的创建与操作就令我苦不堪言,在经过两天的钻研后,基本才算理顺了顺序,所以我就想写下这篇人生中第一篇博客记录我对c语言数据结构中顺序的理解。(初学者一名...
  • 导读当中的数据不需要时,则应该删除数据并释放所占用的空间,删除表中的数据可以使用Delete语句或者Truncate语句,下面分别介绍。一、delete语句(1)有条件删除语法格式:delete [from] table_name [where ...
  • 表结构的有序表。 链表结点的数据域包括家电名称、品牌、单价和数量,以单价的升序 体现链表的有序性。程序功能包括:创建表、营业开始(读入文件恢复 链表数据)、进货(插入)、提货(更新或删除)、查询信息、...
  • Mysql 删除数据及数据

    千次阅读 2021-01-28 01:13:31
    在Mysql 中删除数据以及数据表非常的容易,但是需要特别小心,因为一旦删除所有...删除表内所有数据删除表中的全部数据,表结构不变。对于 MyISAM 会立刻释放磁盘空间,InnoDB 不会释放磁盘空间。delete from Use...
  • SQL删除表数据

    千次阅读 2020-09-06 01:47:48
    SQL语法 SQL 可以用drop、truncate、delete删除表数据,语法如下。 drop table 表名,如:drop table userInfo truncate table 表名,如:truncate table userInfo ...drop语句将删除表结构被依赖的约束(const
  • --获得所有删除表数据语句 SELECT 'DELETE FROM ['+OBJECT_SCHEMA_NAME(object_id)+'].['+OBJECT_NAME(object_id)+'] ' FROM sys.tables WHERE is_ms_shipped=0;   --解除独占 alter database pr_dev_...
  • python数据结构-顺序

    千次阅读 2022-01-29 10:48:07
    线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素,这种表示也称作线性表的顺序存储结构或者顺序映像。通常,称这种存储结构的线性表为顺序。其特点是,逻辑上相邻的数据元素,其物理...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 554,741
精华内容 221,896
关键字:

删除表数据保留表结构