十一、MySQL数据库之添加、修改、删除数据
之前的几章,我们把这个SELECT的知识点几乎都说了一遍,接下来,我们再说一下这个添加,修改还有删除。
INSERT
先来说这个添加,添加用到INSERT这个关键字,用法呢,就是这样的
1. INSERT INTO xxx表 VALUE(xxx字段, xxx字段...); 2. INSERT INTO xxx表 VALUES(xxx字段, xxx字段...); 3. INSERT INTO xxx表(属性1,属性2,属性3...) VALUE或者VALUES(xxx, xxx, xxx...); 4. INSERT INTO xxx表(属性1,属性2,属性3...) VALUES(一堆值), (第二堆值)...
怎么说呢,还挺多的,我们一个一个来尝试。我们就往这个学生表中添加信息。
第一个
是可以的,已经成功添加进去了。但是为啥第一个值是null,是因为这个表的id字段设置的是自动递增,所以数据库会自己去找到值,然后填进去的,不需要我们处理。
第二个
也是OK的。并且id还是递增的。
第三个
同样,也是OK的。
第四个
OK的,三条记录全进去了。
这里我还要说几个注意点,如果我们使用第一个方式或者第二个方式去添加数据,我们需要注意一下数据库默认列的顺序,如果默认列的顺序换了,那么我们添加进去的值也就换了。这里我操作一下。
现在顺序是这样的,我将name和这个时间更换一下位置。
然后我们再执行刚刚的SQL语句。
是报错了,说陈胖子222不是这个datetime类型的,所以这里我告诉大家,以后SQL不要简写。尽量写全了。
还有一个事情就是这个VALUE 和 VALUES 这两个有啥区别。
我刚刚测试了一下,value和values都可以使用,不管是单行还是多行,唯一一点的话就是速度不一样,value更快一些,当然啊,不同版本的数据库有不同的区别,我这里测试的MySQL 8.0.19版本。其他版本的自己去测试。
UPDATE
接着来说这个UPDATE啊,UPDATE就是更新的意思,也就是更新数据库里面的某一行或者某一列,再或者整个表的一些数据,用法是这样的
UPDATE xxx表 SET 字段1 = xxx值, 字段2=xxx值..... WHERE 条件
然后我们去弄一个新的表,将学生表所有数据全部给他弄到新表中去,具体SQL:
CREATE TABLE t_student_new SELECT * FROM t_student
我这个是偷懒的方式啊,这个也不是真正的备份数据,真正的备份是另外的样子,具体我到时候会介绍的。
然后我们用之前的表来进行修改。
比如说,我们将名字是张三的学生,给他改成王二麻子,我们来看一下怎么修改。
诶,我们发现,我们把张三这个人的姓名修改成王二麻子了,我们这次再来修改一下这个张三,我们把它的岁数修改成16岁。
我们可以看到啊,没有报错,但是这个Affected rows 是0,也就是没有数据被我们操作。
我们再来修改一下名字是陈胖子的性别,我们都给他弄成2。
我们可以看到,三个陈胖子的性别都给改成2了。
DELETE
最后一个就是DELETE了,也就是删除数据,这里呢,也是一样的,我先说一下用法
DELETE FROM xxx表 条件...
大概就这样,我们呢,先删除一下名字叫陈胖子的学生。
可以看到啊,三个陈胖子都给删除了。然后我们再来试一下,DELETE FROM t_student;我们这个后面不添加任何条件。
可以看到啊,表都直接被我们清空了。
但是啊,我们这个学生表还要用,我们把我们之前创建的内个新表拿过来去用,我们先将之前的表删除,然后我们需要修改一下表的名字即可。
