1. 插入数据
(1). 前言
前文我们实现了如果创建表,接下来我们将学习如何向数据表中插入数据.插入有两种方式.
(2). 方式1 :
情况1 :
- 使用该语法一次只能向表中插入一条记录.
- 为表中的任意字段按默认的顺序插入数据.
- 值列表中需要为表的每一个字段指定值.并且值的顺序必须和数据表中的字段定义时的顺序相同.
情况2 :
- 为表的指定字段插入数据,就是在INSERT TO语句中只向部分字段插入值,而其他字段的值为表定义时的默认值.
- 在INSERT语句中随意列出列名,一旦列出,VALUES中要插入的数据必须和指定时的字段相匹配.如果类型不同,将无法完成插入.且会报错.
情况3 :
- INSERT语句可以同时向数据表中插入多条记录.插入的时候指定多个值列表.每个值列表之间逗号分隔.
- 一个同时插入多行记录时的INSERT语句等同于多个单行插入的INSERT语句.但单个的INSERT语句在处理过程中效率更高.因为在MySQL中,执行单个INSERT语句插入多行数据比多个INSERT语句快.所以在插入数据时,最好选择使用第三种情况.
注 :
- VALUES也可以写成VALUE,但为了规范,还是选择前种.
(3). 方式2
- INSERT 还可以将SELECT语句查询的结果插入到表中,此时不需要把每一条记录一个一个的输入.只需要一条INSERT语句和一条SELECT语句组成的语句可快速从一个或多个表中向一个表插入多行记录.
- 在INSERT语句中加入子查询.
- 不必书写VALUES.
- 子查询中的值列表应该与INSERT子句的列名对应.
2. 更新数据
- 使用UPDATE语句更新数据.
- 使用WHERE指定需要更新数据的条件.并可以一次更新多条数据.
- 如果需要回滚数据,需要保证在DML操作前,设置SET AUTOCOMMIT=FALSE.不进行自动提交操作.
例1 :
例2 :