当前位置: 代码网 > it编程>数据库>Mysql > MySQL插入、更新与删除表中数据实现方式

MySQL插入、更新与删除表中数据实现方式

2026年04月10日 Mysql 我要评论
前言这篇文章主要介绍了:mysql 数据插入、更新及删除,文章围绕mysql 数据插入和更新及删除的相关资料展开内容。如发现错误,及时告知,及时纠正,感谢支持。准备工作先使用一个数据库,并添加一张数据

前言

这篇文章主要介绍了:mysql 数据插入、更新及删除,文章围绕mysql 数据插入和更新及删除的相关资料展开内容。

如发现错误,及时告知,及时纠正,感谢支持。

准备工作

先使用一个数据库,并添加一张数据表,具体操作如下:

1)使用数据库

mysql> use itcsat;
database changed

2)创建数据表

mysql> create table student
    -> (
    ->    id int(5),
    ->    name char(20)not null,
    ->    sex char(5),
    ->    grade float(5)
    -> );
query ok, 0 rows affected

3)查看数据表是否存在

mysql> show tables;
+------------------+
| tables_in_itcsat |
+------------------+
| student          |
+------------------+
1 row in set

4)查看数据表信息 (两种方法)

mysql> show create table student;
+---------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| table   | create table                                                                                                                                                               |
+---------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| student | create table `student` (
  `id` int(5) default null,
  `name` char(20) not null,
  `sex` char(5) default null,
  `grade` float default null
) engine=myisam default charset=gbk |
+---------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set
mysql> desc student;//查看的是表格的具体信息
+-------+----------+------+-----+---------+-------+
| field | type     | null | key | default | extra |
+-------+----------+------+-----+---------+-------+
| id    | int(5)   | yes  |     | null    |       |
| name  | char(20) | no   |     | null    |       |
| sex   | char(5)  | yes  |     | null    |       |
| grade | float    | yes  |     | null    |       |
+-------+----------+------+-----+---------+-------+
4 rows in set

插入数据

第一种添加方法

直接一一对应添加数据。

eg1:

insert into student(id,name,sex,grade)values(1,"张三","男",89);
query ok, 1 row affected

查看数据是否添加成功:

select *from student;
mysql> select *from student;
+----+------+-----+-------+
| id | name | sex | grade |
+----+------+-----+-------+
|  1 | 张三 | 男  |    89 |
+----+------+-----+-------+
1 row in set

注意:可以改变字段名的顺序,但值也要相应改变,字段名必须和值相对应。

eg2:

mysql> insert into student(name,id,grade,sex)values("李四",2,80,"男");
query ok, 1 row affected
mysql> select *from student;
+----+------+-----+-------+
| id | name | sex | grade |
+----+------+-----+-------+
|  1 | 张三 | 男  |    89 |
|  2 | 李四 | 男  |    80 |
+----+------+-----+-------+
2 rows in set

第二种添加方法

可以没有字段名,这样的话就和你建立的数据表的字段名一致。

eg3:

mysql> insert into student values(3,"王二","男",98);
query ok, 1 row affected
mysql> select *from student;
+----+------+-----+-------+
| id | name | sex | grade |
+----+------+-----+-------+
|  1 | 张三 | 男  |    89 |
|  2 | 李四 | 男  |    80 |
|  3 | 王二 | 男  |    98 |
+----+------+-----+-------+
3 rows in set

第三种添加方法

字段可以不全部添加完,只添加其中几个。

eg4:

mysql> insert into student(id,name,grade)values(4,"麻子",89);
query ok, 1 row affected
mysql> select * from student;
+----+------+------+-------+
| id | name | sex  | grade |
+----+------+------+-------+
|  1 | 张三 | 男   |    89 |
|  2 | 李四 | 男   |    80 |
|  3 | 王二 | 男   |    98 |
|  4 | 麻子 | null |    89 |
+----+------+------+-------+
4 rows in set

eg5:

mysql> insert into student(id,sex,grade)values(5,"男",78);
query ok, 1 row affected
mysql> select *from student;
+----+------+------+-------+
| id | name | sex  | grade |
+----+------+------+-------+
|  1 | 张三 | 男   |    89 |
|  2 | 李四 | 男   |    80 |
|  3 | 王二 | 男   |    98 |
|  4 | 麻子 | null |    89 |
|  5 |      | 男   |    78 |
+----+------+------+-------+
5 rows in set

第四种添加方法

连续多行输入。

insert into student(id,name,sex,grade)values(6,"巴西","女",67),(7,"万茜","女",88);
query ok, 3 rows affected
records: 3  duplicates: 0  warnings: 0

eg6:

mysql> select *from student;
+----+------+------+-------+
| id | name | sex  | grade |
+----+------+------+-------+
|  1 | 张三 | 男   |    89 |
|  2 | 李四 | 男   |    80 |
|  3 | 王二 | 男   |    98 |
|  4 | 麻子 | null |    89 |
|  5 |      | 男   |    78 |
|  6 | 巴西 | 女   |    67 |
|  7 | 万茜 | 女   |    88 |
+----+------+------+-------+
7 rows in set

更新数据

mysql中使用update语句来更新表中的记录,其中的基本语法格式如下:

➀ . 更新一条记录中的一个字段

eg1:

mysql> update student set name="图雪芳" where id=1;
query ok, 1 row affected
rows matched: 1  changed: 1  warnings: 0
mysql> select *from student;
+----+--------+------+-------+
| id | name   | sex  | grade |
+----+--------+------+-------+
|  1 | 图雪芳 | 男   |    89 |
|  2 | 李四   | 男   |    80 |
|  3 | 王二   | 男   |    98 |
|  4 | 麻子   | null |    89 |
|  5 |        | 男   |    78 |
|  6 | 巴西   | 女   |    67 |
|  7 | 万茜   | 女   |    88 |
+----+--------+------+-------+
7 rows in set

➁ . 更新几条记录中的相同字段

eg2:

mysql> update student set sex="女" where id<4;
query ok, 3 rows affected
rows matched: 3  changed: 3  warnings: 0
mysql> select *from student;
+----+--------+------+-------+
| id | name   | sex  | grade |
+----+--------+------+-------+
|  1 | 图雪芳 | 女   |    89 |
|  2 | 李四   | 女   |    80 |
|  3 | 王二   | 女   |    98 |
|  4 | 麻子   | null |    89 |
|  5 |        | 男   |    78 |
|  6 | 巴西   | 女   |    67 |
|  7 | 万茜   | 女   |    88 |
+----+--------+------+-------+
7 rows in set

➂ . 更新整个数据表数据的某个信息

eg3:

mysql> update student set sex="女";
query ok, 2 rows affected
rows matched: 8  changed: 2  warnings: 0
mysql> select *from student;
+----+--------+-----+-------+
| id | name   | sex | grade |
+----+--------+-----+-------+
|  1 | 图雪芳 | 女  |    89 |
|  2 | 李四   | 女  |    80 |
|  3 | 王二   | 女  |    98 |
|  4 | 麻子   | 女  |    89 |
|  5 |        | 女  |    78 |
|  6 | 巴西   | 女  |    67 |
|  7 | 万茜   | 女  |    88 |
+----+--------+-----+-------+
7 rows in set

删除数据

mysql中使用delete语句来删除表中的记录,其中语法格式如下:

ⅰ. 删除其中一条数据

eg1:

mysql> delete from student where id=5;
query ok, 1 row affected
mysql> select *from student;
+----+--------+-----+-------+
| id | name   | sex | grade |
+----+--------+-----+-------+
|  1 | 图雪芳 | 女  |    89 |
|  2 | 李四   | 女  |    80 |
|  3 | 王二   | 女  |    98 |
|  4 | 麻子   | 女  |    89 |
|  6 | 巴西   | 女  |    67 |
|  7 | 万茜   | 女  |    88 |
+----+--------+-----+-------+
6 rows in set

ⅱ . 删除其中的几条数据

eg3:

mysql> delete from student where id>4;
query ok, 3 rows affected
mysql> select *from student;
+----+--------+-----+-------+
| id | name   | sex | grade |
+----+--------+-----+-------+
|  1 | 图雪芳 | 女  |    89 |
|  2 | 李四   | 女  |    80 |
|  3 | 王二   | 女  |    98 |
|  4 | 麻子   | 女  |    89 |
+----+--------+-----+-------+
4 rows in set

ⅲ . 表中的记录全部删除

eg4:

mysql> delete from student;
query ok, 4 rows affected
mysql> select *from student;
empty set

从查询结果中科院看到记录为空,说明表中所有的记录成功删除。

知识拓展:使用关键字truncate删除表中数据

准备工作

删除原来的student数据表,新建一个数据表,添加数据,查看一下,准备工作就准备完毕了。

mysql> drop table student;
query ok, 0 rows affected
mysql> show tables;
empty set
mysql> create table student
    -> (
    ->   id int(10),
    ->   name char(20)
    -> );
query ok, 0 rows affected
mysql> desc student;
+-------+----------+------+-----+---------+-------+
| field | type     | null | key | default | extra |
+-------+----------+------+-----+---------+-------+
| id    | int(10)  | yes  |     | null    |       |
| name  | char(20) | yes  |     | null    |       |
+-------+----------+------+-----+---------+-------+
2 rows in set
mysql> insert into student(name)values("黄珊"),("黄蓉"),("郭襄"),("杨过"),("张无忌");
query ok, 5 rows affected
records: 5  duplicates: 0  warnings: 0
mysql> select *from student;
+------+--------+
| id   | name   |
+------+--------+
| null | 黄珊   |
| null | 黄蓉   |
| null | 郭襄   |
| null | 杨过   |
| null | 张无忌 |
+------+--------+
5 rows in set

使用truncate执行结果如下:

mysql> truncate table student;
query ok, 0 rows affected
mysql> select *from student;
empty set

从查询结果中科院看到记录为空,说明表中所有的记录成功删除。

truncate与delete的区别

1,delete语句是dml语句,truncate语句通常被认为是ddl语句。

2,delete语句后面可以跟where字句,通过指定where子句中的条件表达式是删除满足条件的部分记录,而truncate语句只能用于删除表中所有记录。

3,使用truncate语句删除表中的数据后,再次向表中添加记录时,自动增加字段的默认初始值重新由1开始,而使用delete删除表中所有记录后,再次向表中添加记录时,自动增加字段的值为删除时该字段的最大值加1。

4,使用delete语句是,没删除一条记录都会在日志中记录,而使用truncate语句时,不会在日志中记录删除的内容,因此truncate语句的执行效率比delete语句高。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com