mysql中如何使用INSERT一次性插入多条记录

2017-03-16 13:37:58

       看到这个标题也许大家会问,这有什么好说的,调用多次INSERT语句不就可以插入多条记录了吗!但使用这种方法要增加服务器的负荷,因为,执行每一次 SQL服务器都要同样对SQL进行分析、优化等操作。
       幸好MySQL提供了另一种解决方案,就是使用一条INSERT语句来插入多条记录, 这并不是标准的 SQL语法,因此只能在MySQL中使用。 

  INSERT INTO users(name, age) 
  VALUES('姚明', 25), ('比尔.盖茨', 50), ('火星人', 600); 

  上面的INSERT 语句向users表中连续插入了3条记录。
       值得注意的是,上面的INSERT语句中的VALUES后必须每一条记录的值放到一对(…)中,中间使用","分割。假设有一个表table1 

  CREATE TABLE table1(n INT); 

  如果要向table1中插入5条记录,下面写法是错误的: 

  INSERT INTO table1 (i) VALUES(1,2,3,4,5); 

  MySQL将会抛出下面的错误 

  ERROR 1136: Column count doesn't match value count at row 1 

  而正确的写法应该是这样: 

  INSERT INTO t able1(i) VALUES(1),(2),(3),(4),(5); 

  当然,这种写法也可以省略列名,这样每一对括号里的值的数目必须一致,而且这个数目必须和列数一致。如: 

  INSERT INTO t able1 VALUES(1),(2),(3),(4),(5);

  • 2020-02-07 23:46:44

    You must call removeView() on the child's parent first解决办法

    出现这样的情况最多是发生在recyclerView中,holder复用的过程中,多次添加view,第一次添加的时候view有了父类了,可能就是复用引起的。 我是发生在给recyclerView添加广告view的时候发生的。

  • 2020-02-11 17:43:35

    基于VCamera,仿微信录制短视频

    vcamera.so这个确实挺好用,可定制性也挺高,但是确定也不小,需要引入的这个so包,10M啊。对于安装包苛刻的用户,这是致命啊。 我现在是抛弃他了。但是在这里还是记录一下用法吧。防止以后再用他。

  • 2020-02-13 13:37:53

    mysql随机排序

    首页热门栏目需要随机显示几条信息

  • 2020-02-14 20:08:17

    Android-应用被作为第三方浏览器打开

    微信里的文章页面,可以选择“在浏览器打开”。现在很多应用都内嵌了WebView,那是否可以使自己的应用作为第三方浏览器打开此文章呢?