原文在我的 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
的数据,然后把name
和age
都修改了。
这下把 赵云
高兴坏了,因为 貂蝉
在他下面。
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;
很好,全删了,眼不见为净!
总结
本篇介绍了如何对数据表进行增加数据、修改数据、删除数据。
下面文章介绍 查询数据~
敬请期待