MySQl 添加、更新与删除数据
@author StormWangxhu
@date 2017/11/23
首先介绍一下查询语句:
SELECT * FROM 表名
[where 条件表达式 ];
添加数据
SQL语句:
INSERT INTO 语句
1、为表中所有的字段添加数据
向表中添加的数据称之为记录。
两种方式:
方式一:insert语句中指定所有字段名
在insert 语句中列出表中的所有字段名,其值与其字段名、类型要一一对应!
语法格式:
INSERT INTO 表名 (字段名1,字段名2,...)
VALUES(值1,值2,...);
说明:
“字段名1,字段名2,…”表示数据表中的字段名称,此处应为表中所有字段名称。
“值1,值2…”表示每一个字段的值,其值顺序、类型须与对应的字段相匹配!
注意:
使用inset语句添加记录时,表名后的字段顺序可以与在其表中定义的顺序不一致,他们需要与values中值得顺序一致即可!
方式二:insert语句中不指定字段名。
其实,他就是在不指定字段名的情况下,直接用values为其默认赋值。
注意:
正因为没有字段名,则values中值得顺序必须与字段在表中顺序一致。
基本语法:
INSERT INTO 表名 VALUES(值1,值2,....);
2、为表的指定字段添加数据
即在insert语句中只向部分字段添加值,而其他值为默认值。关于默认值可以使用show create table 表名;
查看字段的默认值。
基本语法:
INSERT INTO 表名(字段1,字段2,...)
VALUES (值1,值2,...);
说明:
“字段1,字段2,…”表示数据中的字段名称,此处指表中的部分字段名称
“值1,值2,…”为指定字段的值,每一个值得顺序、类型必须与对应的字段相匹配。
注意:
(1)在为了某个字段赋值时,如果没有为其赋值,系统会自动为其赋值默认值。通过show create table 表名 ;
可查询表的具体结构!
(2)如果某个字段在定义时添加了非空约束,但没有添加default
约束,那么插入新纪录时就必须为该字段赋值,否则数据库系统会提示错误!
比如:
上述两种方法总结:
语法格式:
insert into 表名 (字段1,字段2,...)
values(值1,值2,...)
就方法一而言,是把所有字段都写出来,然后值也是全部都为之赋值上。
就方法二而言,相比于方法一,只不过是写出了部分字段,部分赋值,其余的则以默认值赋之。仅此而已!
更新数据
更新数据,即对表中存在的数据进行修改。
SQL语句:
UPDATE 语句
基本语法:
UPDATE 表名
SET 字段名1=值1[,字段名2=值2,...]
[WHERE 条件表达式]
语法说明:
字段名1,字段名2,用于指定更新的字段名称
值1,值2,用于表示字段更新的新数据。
where条件表达式,可选参数,用于指定更新数据需要满足的条件。
UPDATE语句在更新表中数据时可 部分、全部更新
1、update更新部分数据
即 使用where子句指定更新条件,来更新表中的某一条或几条记录。
一般更新前,使用select * from 表名 [where 条件表达式];
来查询表。
如更新student表中字段id值小于4的记录,将grade 字段值更新为99
2、update 更新全部数据
很简单,即没有where 语句,就会将表中的所有记录的指定字段1都进行更新!
基本语法:
UPDATE 表名
SET 字段名1=值1[字段名2=值2,...];
举例:
上述两种类别总结:
其实很简单,只要记住了 UPDATE语句基本语法,部分更新还是全部更新全只在于where 条件表达式
的有无和限定范围,仅此而已!
删除数据
即,对表中存在的记录进行删除。
基本语法:
DELETE FROM 表名 [ WHERE 条件表达式 ] ;
说明:
表名指的是要执行删除操作的表。
where 条件表达式,可选参数,只要满足条件的记录会被删除!
DELETE 语句可 删除部分 、 全部数据
1、DELETE 删除部分数据
根据指定条件删除表中的某一条或者某几条记录,需 WHERE 子句
指定要删除的条件。
或者这样查询:
删除成功!
2、DELETE 删除全部数据
很简单,即没有 `WHERE 子句 ;
DELETE FROM 表名 ;
结果来看,记录为空,说明表中的所有记录被成功删除!
补充:
即对删除表中全部数据另一种方法:
关键字: truncate
解释:截短
基本语法:
TRUNCATE [TABLE] 表名 ;
1、与delete语句区别:
(1)、truncate
只能删除全部数据,delete
后可以有where
。
(2)、truncate
删除数据后,再像表中添加记录时,自动增加字段的默认初始值重新由 1 开始。delete
删除表中积累后,再次向其添加记录时,自动增加字段的值为删除时该字段的最大值加 1 。
演示:
现在删除该表中记录:
接下来,由delete 语句删除表中记录。
添加数据:
。这是因为使用delete 语句中删除的记录总,id字段的最大值为4。再次添加为5。
(3) delete语句
每删除一条记录,都会在日志中记录。truncate语句
不会记录。
导致:
* truncate 执行效率高于 delete *