方式1、 INSERT INTO t1(field1,field2) VALUE(v001,v002);

 明确只插入一条Value

方式2、 INSERT INTO t1(field1,field2) VALUES(v101,v102),(v201,v202),(v301,v302),(v401,v402);

在插入批量数据时 方式2 优于 方式1.

【特注】当 id 为自增,即  id INT PRIMARY KEY AUTO_INCREMENT 时,执行 insert into 语句,需要将除 id 外的所有 field 列举出来(有没有感觉,好不方便,期待 mysql 提供一个简便方法来标记这种情况,因为在早测试数据的时候,普遍会使用,而列举出除 id 外所有字段,真有麻烦感)。

方式3.1、  INSERT INTO t2(field1,field2) SELECT colm1,colm2 FROM t1 WHERE ……

这里简单说一下,由于可以指定插入到 talbe2 中的列,以及可以通过相对较复杂的查询语句进行数据源获取,可能使用起来会更加的灵活一些,但我们也必须注意,我们在指定目标表的列时,一定要将所有非空列都填上,否则将无法进行数据插入,还有一点比较容易出错的地方就是,当我们写成如下简写格式:

方式3.2、  INSERT INTO t2 SELECT colm1,colm2,…… FROM t1

此时,我们如果略掉了目标表的列的话,则默认会对目标表的全部列进行数据插入,且 SELECT 后面的列的顺序 必须和目标表中的列的定义顺序完全一致 才能完成正确的数据插入,这是一个很容易被忽略的地方,值得注意。

【特注】由于插入操作只粗略地对表 t1、t2 按顺序对所有字段进行 [数据类型] 检查,不对 [字段名] 核对。这是把双刃剑,既提供便利,又存在可能因粗心造成风险。在使用中,需确认顺序,使用中建议使用 [方式3.1] 或 [方式4].

方式4、INSERT INTO 表名 SET 列名1 = 列值1,列名2=列值2,...;

不过用INSERT INTO SET这种方式,不能批量增加数据。(参考:mysql数据库中插入数据INSERT INTO SET的优势)

更多相关文章

  1. Android(安卓)-- Android(安卓)JUint 与 Sqlite
  2. android中json文件的写法
  3. android 当系统存在多个Launcher时,如何设置开机自动进入默认的La
  4. Android(安卓)SQLiteDatabase的使用
  5. android 通话记录次数
  6. Android(安卓)SQLiteDatabase的使用
  7. Android(安卓)UI控件详解-Button(按钮)点击事件的5种写法
  8. android实现关键字搜索功能
  9. android自定义属性

随机推荐

  1. 怎么设置Android Activity的动画
  2. Android Market google play store帐号注
  3. Rockie's Android Porting Guide(1)——Bui
  4. Linux安装Android SDK时出现Failed to fe
  5. android底层开发
  6. 修改EditText的光标颜色
  7. Ted Mosby - 一个MVP框架的软件架构
  8. 弹出窗口显示不出ListView的条目
  9. 第11天android:拨号器和打包发布
  10. android handler消息机制