人亦已歌 发表于 2023-1-16 20:45:05

Mysql数据库核心技术(十五)-插入数据

下面我们来看一下如何给数据表添加数据,该操作是重点中的重点,是大家务必要掌握的。插入数据有多重插入方式,我们一一来讲解。
首先,我们给指定的字段插入数据,请执行以下语句:
insert into stu666 (`name`) values ('tom');语句解释:
给stu666表的name字段添加一个tom数据执行结果如下:


我们成功给name字段添加了tom数据,由于age字段的默认值是18,此时它会总动填充为18

下面我们再看第二种插入方式,请执行以下语句:
insert into stu666 values (default,'赵六',30);由于之前测试时我们把pid字段的数据类型改为了varchar,现在我们先将其改回int,方便进行下面的测试。

执行结果如下:


我首先清空了数据表,又修改了pid的字段属性为int,然后又插入了一条数据,最后查询了数据,查询结果显示我们已经成功插入。请注意:在使用values关键字插入数据时,数据的数量、类型和顺序必须与表结构相符。


接着我们再看另一种插入数据的方法
replace into stu666 values(22,'王五',30);语句解释:
插入一条pid是30的数据。然而。实际情况是:当前的数据表中的pid字段是主键,主键字段的数据要求必须唯一,如果我们使用insert语句插入,必然报错,不信试试看看


我们使用replace语句插入试试看


插入成功。这是为什么呢?因为replace语句的意思是:如果存在则替换。所以,此时,原来的pid为30的数据行中的name字段应该由赵六变成了王五,我们验证一下是否如此,执行查询,结果如下:


完全符合预期。
另外说一下,查询语句我们还没有讲解,目前大家只要理解就可以了,下一节我们就来讲解查询。

另外还有一种更为高效且推荐的存在则替换的语法,如下:
insert into stu666 values(19,'王五',30) on duplicate key update name='李四';语句解释:
插入一条数据,如果数据已经存在,我们就把name的值改为王五。执行结果如下:


此时age和pid字段的值均未改变,只有name字段的值变为了李四。如果需要修改多个字段值得话,在后面空格隔开追加即可。这里就不演示了,大家可以自行测试一下。
ok,这节就讲到这里,下一篇继续。

saundiy 发表于 2023-1-30 19:05:30

好教程不多,喜欢看老师的教程,思路很清晰。

chinapower 发表于 2023-1-31 02:40:33

感谢楼主,又涨知识了。

小莲子妈妈 发表于 2023-1-31 09:45:49

真的好,快点学起来把

hyjzan 发表于 2023-1-31 17:47:58

每一个知识点讲的都很到位

Liz 发表于 2023-2-1 07:50:24

快快顶起来,好好学习~

女王 发表于 2023-2-1 23:54:01

教程最难得是将各类知识点归纳起来讲,这样才不凌乱,楼主做到了

爱之翼 发表于 2023-2-2 14:58:19

希望楼主发布更多教程,喜欢看。

ggggmqjjj 发表于 2023-2-15 02:40:07

完美,一下就明白了

野茉莉花香 发表于 2023-2-16 21:05:30

这么好的教程不回复说不过去~
页: [1] 2 3 4
查看完整版本: Mysql数据库核心技术(十五)-插入数据