添加、更新与删除数据
一、添加数据
1,为表中所有字段添加数据
方法一,为表中指定字段添加数据
INSERT INTO 表名(字段1,字段名,…….)
VALUES(值1,值2,……);
方法二, 为表中所有字段添加数据
INSERT INTO表名VALUES(值1,值2,…….); (值要与表中的字段名一致)
2. 同时添加多条记录 INSERT INTO 表名 VALUES
(值1,值2,值3),
(值1,值2,值3),
……
(值1,值2,……);
为指定字段 INSERT INTO 表名 (字段1,字段2)VALUES
(值1,值2),
(值1,值2),
……
(值1,值2);
更新数据
MySQL中使用UPDATE语句来更新表中的记录,其基本的语法格式:
UPDATE 表名 SET 字段名1=值1[,字段名2=值2,…][WHERE条件表达式];
/*字段名1用于指定要更新的字段名称,值1用于表示字段更新的新数据,WHERE条件表达式是可选的,用于指定更新数据需要满足的条件*/
- UPDATE更新部分数据
首先使用查看语句,执行结果如下:
下面使用UPDATE语句更新这条记录
如果表中有多条记录满足WHERE子句中的条件表达式,则满足条件的记录都会发生更新。
从查询结果看出,grade字段值都变为100,这说明满足WHERE子句中条件表达式的记录都更新成功。
-
UPDATE更新全部数据
将grade字段值都更新为80,UPDATE语句如下所示,执行语句更新表中的数据,然后查看更新后的记录。
删除数据
MySQL中使用DELETE语句来删除表中的记录,其语法格式如下所示:
DELETE FROM 表名[WHERE 条件表达式];
/*表名指定要执行删除操作的表,WHERE为可选参数,用于指定删除的条件,满足条件的记录会被删除*/
-
DELETE删除部分数据
删除部分数据是指根据指定条件删除表中的某一条或者某几条记录,需要使用WHERE子句来指定删除记录的条件。
首先使用查询语句查看,执行结果如下:
下面使用删除记录,语句如下:
从查询结果可以看到记录为空,说明id字段为11的记录被成功删除。
在执行删除操作的表中,如果有多条记录满足WHERE子句中的条件表达式,则满足条件的记录都会被删除。
2、DELETE删除全部数据
在DELETE语句中如果没有使用WHERE子句,则会将表中的所有记录都删除。
在删除数据之前首先使用查询语句查看student表中的所有记录,执行结果如下所示:
删除全部数据,然后再次查看语句,执行结果如下:
从查询结果可以看到记录为空,说明表中所有的记录成功删除。
-
使用关键字TRUNCATE删除表中数据
语法格式:TRUNCATE[TABLE]表名;
通过查询结果可以看到记录为空,说明tab_表中的记录被全部删除了。
TRUNCATE语句和DETELE语句都能实现删除表中的所有数据的功能,但两者也有一定的区别
DELETE语句是DML语句,TRUNCATE语句通常被认为是DDL语句。
DELETE语句后面可以跟WHERE子句,通过指定WHERE子句中的条件表达式只删除满足条件的部分记录,而TRUNCATE语句只能用于删除表中的所有记录
使用TRUNCATE语句删除表中的数据后,再次向表中添加记录时,自动增加字段的默认初始值重新由1开始,而使用DELETE语句删除表中所有记录后,再次向表中添加记录时,自动增加字段的值为删除时该字段的最大值加1。
从查询结果可以看出,系统为tab_truncate表中id字段默认添加了值,初始值从1开始。
执行INSERT语句向tab_truncate表中添加一条记录,再次使用查询语句查看表中的记录。
使用DELETE语句时,每删除一条记录都会在日志中记录,而使用TRUNCATE语句时,不会在日志中记录删除的内容,因此TRUNCATE语句的执行效率比DELETE语