我是靠谱客的博主 满意唇彩,最近开发中收集的这篇文章主要介绍INSERT 语句 (For MySQL),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

基本句法

  1. 不被提倡的基本句法
INSERT INTO table_name
Values(NULL,'','',....);

不被提倡的原因: 这种插入方式不方便,而且很不安全。如果表格的结构改变,则该SQL语句失效。

2.提倡的基本句法

INSERT INTO table_name(First Column, Second Column,...)
Values(First Value, Second Value, ...);

优点:这种插入方式可以自定义插入列的顺序,而且,表格结构变化后,SQL语句不失效。

注意事项⚠️

  1. 两种错误情况
    1.不可省略的列 的值为空。
    2.使用不被提倡的方法进行插入,插入时忽略了一些列的值,导致错误。
  2. 性能
    INSERT操作可能很耗时(特别是许多索引更新时),特可能降低等待处理的SELECT语句的性能。
    如果数据检索更重要,你可以通过以下方式提高性能:
    INSERT LOW_PRIORITY INTO
    注意 该方法亦适用于UPDATE 和 DELETE。

插入多行

当需要插入多行值的时候,可以采用一下方法。

INSERT INTO table_name(First Column, Second Column,...)
VALUES(First Value, Second Value, ...);
INSERT INTO table_name(First Column, Second Column,...)
VALUES(First Value, Second Value, ...);
...

如果,插入的多行数据中,列值插入顺序一致,则可以:

INSERT INTO table_name(First Column, Second Column,...)
VALUES
(First Value, Second Value, ...),
(Next Value, Next Value,...),
(......);

上述方法,将每一组值用圆括号括起来,逗号隔开。
⚠️:使用单条*INSERT语句插入多条数据 快于 使用多条*INSERT语句插入多条数据。

利用INSERT SELECT 一次性导入多条数据

语法结构:

INSERT INTO table_name(First Column, Second Column,...)
SELECT First_Column, Second_Column,...
From another_table;
[Where ...]

上面的语句,可以实现“将另一个表中的数据,导入到现有表中”。
该语句对列名没有要求,只要内容对应即可。
⚠️:如果不能保证主键不重复,则可以忽略“主键”列,MySQL会自动填充新的主键。

最后

以上就是满意唇彩为你收集整理的INSERT 语句 (For MySQL)的全部内容,希望文章能够帮你解决INSERT 语句 (For MySQL)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部