4.4.1 插入数据
向表中插入数据通过INSERT命令来完成,该命令的语法格式如下:
“insert …values”这种格式是目前最常用的,下面是对该格式中各属性的介绍。
➢ table_name:要插入数据的表名。
➢ col_name:字段名,如果省略则表示所有的字段。
➢ value:要插入的值,每一个value要和每一个col_name一一对应,可以一次插入一条记录,还可以一次插入多条记录,当一次插入多条记录时各条记录之间用逗号分开。
➢ ON DUPLICATE KEY UPDATE:当插入的记录会引发主键冲突或者违反唯一约束时,就会对发生冲突的列进行更新操作,使用该条件的前提是要插入的表存在主键或唯一索引。
1.使用“insert…values”插入数据
使用item表并使用“insert…values”这种格式往item表中插入数据,插入数据的sql语句如下:
使用“insert…values”还可以一次插入多条记录,语句如下:
使用省略字段名插入式,插入值的顺序必须与字段所在表中的顺序一致。
在插入数据时,还可以指定使用ON DUPLICATE KEY UPDATE条件。下面是一个使用ON DUPLICATE KEY UPDATE条件进行插入的例子,如图4.18所示。
在item表中,id为主键,如果插入一条id值已经存在的记录就会发生错误,而使用ON DUPLICATE KEY UPDATE条件以后,item_name为book所在列的id值已经更新为4了,接下来就可以将id值为1的记录插入表中了。
图4.18 使用ON DUPLICATE KEY UPDATE条件的例子
2.使用“insert…set”插入数据
使用“insert…set”格式的语句可根据明确指定的值插入数据。语句如下:
3.使用“insert…select”插入数据
使用“insert…select”这种格式可将从其他表查询的结果插入到另一个表中,将item表的数据插入到使用like复制的item4表中,语句如下:
使用“insert…select”格式的优点就是可以快速地将数据从一个或多个表中导入到另一个表中。