只向表的部分字段添加数据,而其他字段的值为表定义时的默认值
INSERT INTO 表名(字段1,字段2,……)
VALUES(值1,值2,……);

参数说明

字段1,字段2,……表示数据表中的字段名称,此次,只指定表中部分字段的名称。
值1,值2,……表示指定字段的值,每个值的顺序、类型必须与对应的字段相匹配。

向student表中添加一条记录,id字段的值为4,name字段的值为zhaoliu,grade字段不指定值

mysql指定位置增加字段 mysql向指定字段中添加数据_字段

可以看出,grade字段的值为NULL,因为,在添加记录时,如果没有为某个字段赋值,系统会自动为该字段添加默认值。
通过SHOW CREATE TABLE查看student表的结构,grade字段的默认值为NULL。

mysql指定位置增加字段 mysql向指定字段中添加数据_添加数据_02

注意,如果某个字段在定义时,添加了非空约束,但是,没有添加default约束,那么,在插入记录时,并不会报错,该字段也不是NULL值。

向student表中添加一条纪录,id字段的值为5,grade字段的值为97,name字段不指定值。

mysql指定位置增加字段 mysql向指定字段中添加数据_mysql_03

可以看出,添加成功,该字段不是NULL。
注意,为指定字段添加数据时,指定字段无须与其在表中定义的顺序一致,只要与values中值的顺序一致即可。

向student表中添加一条记录,name字段的值为sunbin,grade字段的值为55,id字段不指定值

mysql指定位置增加字段 mysql向指定字段中添加数据_mysql指定位置增加字段_04

Insert语句的其他写法

Insert语句还有一种语法格式,可以为表中的指定字段,或者全部字段添加数据。
INSERT INTO 表名
SET 字段名1=值1[,字段名2=值2,……]

参数说明

字段名1,字段名2,……是指定的需要添加数据的字段名称。
值1,值2,……表示添加的数据
如果在set关键字后面,指定了多个字段名=值对,每对之间使用逗号分隔,最后一个字段名=值对之后,不需要逗号。

向student表中添加一条记录,id字段的值为5,name字段的值为boya,grade字段的值为99

mysql指定位置增加字段 mysql向指定字段中添加数据_添加数据_05