美文网首页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