MySQl 添加、更新与删除数据

来源:互联网 发布:qq虚拟充值软件 编辑:程序博客网 时间:2024/06/05 01:16
@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 *

原创粉丝点击