【问题标题】:how can delete table data without deleting columnnames如何在不删除列名的情况下删除表数据
【发布时间】:2015-01-13 23:59:43
【问题描述】:

如何删除表格数据,但不删除表格列名?

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

我必须删除表格的所有内容,但不应删除表格列名。

DELETE FROM table_name WHERE [condition];
+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+

【问题讨论】:

    标签: mysql


    【解决方案1】:

    随便用

    DELETE FROM table_name;
    

    DELETE * FROM table_name;
    

    如果你还想添加条件,可以使用如下:

    DELETE FROM table_name WHERE 1=1;
    

    【讨论】:

    • DELETE * FROM table_name; 出现错误,但带有 * 的第一个选项效果很好。奇怪,但谢谢。
    【解决方案2】:

    这相当于DELETE语句:

    TRUNCATE TABLE yourTableName;
    

    【讨论】:

    • 截断不是事务安全的,不会调用删除触发器,隐式提交,它几乎就像删除和重新创建。所以最好不要使用。
    • @TirupathiRaju DELETE、TRUNCATE 和 DROP 各有优缺点,它们都取决于实现。
    【解决方案3】:

    参考书目:
    SQL - TRUNCATE TABLE 命令http://goo.gl/YN7N9Y
    SQL - 语法http://goo.gl/viyYFU

    SQLTRUNCATE TABLE 命令用于从现有表中删除完整数据。

    您也可以使用 DROP TABLE 命令删除完整的表,但它会从数据库中删除完整的表结构,如果您希望存储一些数据,则需要再次重新创建此表。

    语法:

    TRUNCATE TABLE的基本语法如下:

    TRUNCATE TABLE  table_name;
    

    示例: 考虑具有以下记录的 CUSTOMERS 表:

    +----+----------+-----+-----------+----------+
    | ID | NAME     | AGE | ADDRESS   | SALARY   |
    +----+----------+-----+-----------+----------+
    |  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
    |  2 | Khilan   |  25 | Delhi     |  1500.00 |
    |  3 | kaushik  |  23 | Kota      |  2000.00 |
    |  4 | Chaitali |  25 | Mumbai    |  6500.00 |
    |  5 | Hardik   |  27 | Bhopal    |  8500.00 |
    |  6 | Komal    |  22 | MP        |  4500.00 |
    |  7 | Muffy    |  24 | Indore    | 10000.00 |
    +----+----------+-----+-----------+----------+
    

    以下是截断的示例:

    SQL > TRUNCATE TABLE CUSTOMERS;
    

    现在,CUSTOMERS 表被截断,以下将是 SELECT 语句的输出:

    SQL> SELECT * FROM CUSTOMERS;
    Empty set (0.00 sec)
    

    【讨论】:

    • 截断不是事务安全的,不会调用删除触发器,隐式提交,它几乎就像删除和重新创建。所以最好不要使用。
    • @TirupathiRaju,truncate 仅用于数据库开发案例,避免生产案例,我们可以使用它。 :)
    • 如果是这样的话应该没问题。但请记下,即使它不会提供有关删除多少行的信息。当然,与逐行删除相比,截断会发生几秒钟
    • @TirupathiRaju,好的。谢谢你,祝你有美好的一天:)
    【解决方案4】:

    只需使用这个 TRUNCATE TABLE 表名即可;

    使用下面的链接 mysql-delete-all-rows-from-table-and-reset-id-to-zero

    【讨论】:

      猜你喜欢
      • 2018-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-22
      • 2022-01-23
      • 2014-11-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多