乐趣区

Mysql入门第三课数据的增删改

原文在我的 Github 里,欢迎订阅。

之前已经学习了 Mysql 入门第一课《建表、改表、删表》和 Mysql 入门第二课《数据类型》,今天继续学习 如果对表数据进行增加、修改和删除的操作。

依然以 student 表为例。

执行以下 sql 新建一个空的 student表:

CREATE TABLE student(
    id INT UNSIGNED PRIMARY KEY auto_increment,
    name VARCHAR(10),
    age TINYINT(3)
) ENGINE=INNODB DEFAULT CHARSET=utf8;

新增数据

先看下新增数据通用语法:

INSERT INTO table_name (field1, field2,...fieldN) VALUES (value1, value2,...valueN);

field为字段名称,value是要插入的值,把它看做给变量赋值就行了。

下面为 student 表插入一条数据:

INSERT INTO student (name, age) VALUES ('赵云', 26);

上面是每次插入一条数据,在开发中往往会遇到批量新增数据的情况。
下面我们一次性新增 5 条数据:

INSERT INTO student (name, age) VALUES ('张飞', 30),('刘备', 32),('关羽', 33),('马超', 28),('诸葛亮', 35)

执行上面语句后,看下结果:

修改数据

修改数据通用语法:

UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]

修改数据要注意一个前提:对谁修改

上面语法中的 [WHERE Clause] 就是条件语句,用来控制要修改的哪些数据。

下面来实操一把。

现在表里的三国人物都是男的,我们把 张飞 改成 貂蝉,让其他男的 happy 一下(邪恶脸):

UPDATE student SET name='貂蝉', age=18 WHERE id=2;

之前 张飞 那条数据的 id 是 2,我们使用 WHERE 语句找到了 id=2 的数据,然后把nameage都修改了。

这下把 赵云 高兴坏了,因为 貂蝉 在他下面。

OK,刚才可以看出,要对谁修改,是看条件语句怎么写。
现在我要把刘备和关羽都变成 小乔

UPDATE student SET name='小乔', age=16 WHERE id=3 OR id=4;

上面都是通过 WHERE 来确定对某些数据修改,那如不写条件语句会怎么样?

UPDATE student set name='王昭君', age=17;

没错!如果不加条件语句,会把整个表都修改了!一定要注意!

删除数据

通用语法:

DELETE FROM table_name [WHERE Clause]

删除数据跟 UPDATE 有点像,是根据条件语句来删除对应数据。

比如我要删除 id=1 的 王昭君。

DELETE FROM student WHERE id=1;

看下结果,id=1 的王昭君不见了,好桑心:

至于批量删除跟 WHERE 语句有关,比如删除 id>3 的王昭君:

DELETE FROM student WHERE id>3;

更多王昭君不见了,更伤心了:

现在不加条件语句:

DELETE FROM student;

很好,全删了,眼不见为净!

总结

本篇介绍了如何对数据表进行增加数据、修改数据、删除数据。

下面文章介绍 查询数据~

敬请期待

退出移动版