(3)表中数据的基本操作
3.1 插入数据
1. 为所有列插入数据
在通常情况下,向数据表中插入数据应包括表中的所有字段,也就是为表中的所有字段添加数据,为表中的所有字段添加数据有以下两种方式。
-
在insert语句中指定所有字段名
通过使用insert语句列出表的所有字段可以向表中插入数据,语法格式如下。
insert into 表名(字段名1,字段名2,...) values(值1,值2,...);
在插入数据时,insert语句中可以和数据库中表字段的顺序不一致,但在values中的值一定要和insert语句中字段的顺序对应。 -
在insert语句中不指定字段名
在使用insert语句为所有列插入数据时也可以不指定字段名,语法格式如下:
insert into 表名 values(值1,值2,...);
2. 为指定列插入数据
在一些实际场景中,在表中可能只需要添加某几个字段的数据,其他字段用默认值即可,这就需要为指定列插入数据,语法格式如下:
insert into 表名(字段名1,字段名2,...) values(值1,值2,...);
3. 批量插入数据
-
为所有列批量插入数据
insert into 表名[(字段名1,字段名2,...)] values(值1,值2,...),(值1,值2,...),...,(值1,值2,...);
-
为指定列批量插入数据
在批量插入数据时,同样可以指定某几列,其他列自动使用默认值。
3.2 更新数据
在插入数据之后,如果想变更,则需要更新数据表中的数据。在MySQL中可以使用update语句更新表中的数据,语法格式如下:
update 表名
set 字段名1 = 值1 [,字段名2=值2,...]
[where 条件表达式];
在以上语法格式中,“字段名”用于指定更新的字段名称,“值”用于表示更新的新数据,如果需要更新多个字段的值,可以使用逗号分隔多个字段和值,“where条件表达式”是可选的,用于指定更新数据需要满足的条件。
1. 更新全部数据
当update语句中不使用where条件语句时,会将表中所有数据的指定字段全部更新。
2. 更新部分数据
使用where子句可以指定更新数据的条件。
3.3 删除数据
1. 使用delete删除数据
在MySQL中可以使用delete语句删除表中的数据,语法格式如下:
delete from 表名 [where 条件表达式]
在以上语法中,where条件语句是可选的,用于指定删除数据满足的条件。
-
删除全部数据
当delete语句中不使用where条件语句时,表中的所有数据将会被删除。 -
删除部分数据
使用where子句指定删除数据的条件。
2. 使用truncate删除数据
在MySQL中还有一种方式可以用来删除表中的所有数据,这种方式需要用到truncate语句,语法格式如下:
truncate [table] 表名;
truncate语句和delete语句都能实现删除表中的所有数据,但两者有一定的区别,它们的区别如下。
(1) delete语句时DML语句,truncate语句通常被认为是DDL语句。
(2) delete语句后面可以跟where子句指定条件,从而实现删除部分数据,truncate语句只能用于删除表中所有的数据。
(3) 使用truncate语句删除表中的数据后,再次向表中添加记录时,自增字段的值为删除时该字段的最大值加1。