美文网首页MySQL
(十五)插入(INSERT)和删除(DELETE、RUNCATE

(十五)插入(INSERT)和删除(DELETE、RUNCATE

作者: 一条IT | 来源:发表于2019-03-24 15:19 被阅读18次

    INSERT

    select语句获得的数据可以用insert插入。
    可以省略对列的指定,要求 values () 括号内,提供给了按照列顺序出现的所有字段的值。
    或者使用set语法。

        INSERT INTO tbl_name SET field=value,...;
    

    可以一次性使用多个值,采用(), (), ();的形式。

        INSERT INTO tbl_name VALUES (), (), ();
    

    可以在列值指定时,使用表达式。

        INSERT INTO tbl_name VALUES (field_value, 10+10, now());
    

    可以使用一个特殊值 DEFAULT,表示该列使用默认值。

        INSERT INTO tbl_name VALUES (field_value, DEFAULT);
    

    可以通过一个查询的结果,作为需要插入的值。

        INSERT INTO tbl_name SELECT ...;
    

    可以指定在插入的值出现主键(或唯一索引)冲突时,更新其他非主键列的信息。

        INSERT INTO tbl_name VALUES/SET/SELECT ON DUPLICATE KEY UPDATE 字段=值, …;
    

    DELETE

    DELETE FROM tbl_name [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]
    

    按照条件删除。where
    指定删除的最多记录数。limit
    可以通过排序条件删除。order by + limit
    支持多表删除,使用类似连接语法。
    delete from 需要删除数据多表1,表2 using 表连接操作 条件。

    TRUNCATE

    TRUNCATE [TABLE] tbl_name
    

    清空数据
    删除重建表
    区别:
    1,truncate 是删除表再创建,delete 是逐条删除
    2,truncate 重置auto_increment的值。而delete不会
    3,truncate 不知道删除了几条,而delete知道。
    4,当被用于带分区的表时,truncate 会保留分区

    相关文章

      网友评论

        本文标题:(十五)插入(INSERT)和删除(DELETE、RUNCATE

        本文链接:https://www.haomeiwen.com/subject/zdeuvqtx.html