通常情况下,向数据表中添加的新记录应该包含表所有字段,即为该表中的所有字段添加数据,为表中所有字段添加数据的INSERT语句有两种。
1、INSERT语句中指定所有字段名
向表中添加新记录时,可以在INSERT语句中列出表的所有字段名,其语法格式如下所示:
INSERT INTO 表名(字段名1,字段名2,……)
VALUES(值1,值2,……);
需要注意的是,使用INSERT语句添加记录时,表名后的字段顺序可以与其在表中定义的顺序不一致,它们只需要与VALUES中值的顺序一致即可。
2、INSERT语句中不指定字段名
在MySQL中,可以通过不指定字段名的方式添加记录,其基本的语法格式如下所示:、
INSERT INTO 表名 VALUES(值1,值2,……);
在上述格式中,“值1,值2,……”用于指定要添加的数据。需要注意的是,由于INSERT语句中没有指定字段名,添加的值的顺序必须和字段在表中定义的顺序相同。
为表的指定字段添加数据,就是在INSERT语句中只向部分字段中添加值,而其他字段的值为表定义时的默认值。为表的指定字段添加数据的基本语法格式如下所示:
NSERT INTO 表名(字段1,字段2,…)
VALUES(值1,值2,…)
在上述语法格式中,“字段1,字段2,…”表示数据表中的字段名称,此次只指定表中部分字段的名称。“值1,值2,……”表示指定字段的值,每个值的顺序、类型必须与对应的字段相匹配。
为指定字段添加数据时,指定字段也无需与其在表中定义的顺序一致,它们只要与VALUES中值的顺序一致即可。
INSERT语句还有一种语法格式,可以为表中指定的字段或者全部字段添加数据,其格式如下所示:
INSERT INTO 表名
SET 字段名1=值1[,字段名2=值2,……]
MySQL中使用UPDATE语句来更新表中的记录,其基本的语法格式如下所示:
UPDATE 表名
SET 字段名1 = 值1[,字段名2 = 值2,……]
[WHERE 条件表达式]
在上述语法格式中,“字段名1”,“字段名2”用于指定要更新的字段名称,“值1”,“值2”用于表示字段更新的新数据。“WHERE条件表达式”是可选的,用于指定更新数据需要满足的条件。
DELETE语句可以删除表中的部分数据和全部数据,下面就对这两种情况进行讲解:
1、DELETE删除部分数据
删除部分数据是指根据指定条件删除表中的某一条或者某几条记录,需要使用WHERE子句来指定删除记录的条件。
2、DELETE删除全部数据
在DELETE语句中如果没有使用WHERE子句,则会将表中的所有记录都删除。
多学一招:使用关键字TRUNCATE删除表中数据
在MySQL数据库中,还有一种方式可以用来删除表中所有的记录,这种方式需要用到一个关键字TRUNCATE,其语法格式如下:
TRUNCATE [TABLE] 表名
TRUNCATE的语法格式很简单,只需要通过“表名”指定要执行删除操作的表即可。下面通过一个案例来演示TRUNCEATE的用法。
TRUNCATE语句和DETELE语句都能实现删除表中的所有数据的功能,但两者也有一定的区别,下面就针对两者的区别进行说明:
1、DELETE语句是DML语句,TRUNCATE语句通常被认为是DDL语句。
2、DELETE语句后面可以跟WHERE子句,通过指定WHERE子句中的条件表达式只删除满足条件的部分记录,而TRUNCATE语句只能用于删除表中的所有记录
3、使用DELETE语句时,每删除一条记录都会在日志中记录,而使用TRUNCATE语句时,不会在日志中记录删除的内容,因此TRUNCATE语句的执行效率比DELETE语句高。
原文地址:https://www.cnblogs.com/xk17113/p/12137015.html