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,这节就讲到这里,下一篇继续。
好教程不多,喜欢看老师的教程,思路很清晰。 感谢楼主,又涨知识了。 真的好,快点学起来把 每一个知识点讲的都很到位 快快顶起来,好好学习~ 教程最难得是将各类知识点归纳起来讲,这样才不凌乱,楼主做到了 希望楼主发布更多教程,喜欢看。 完美,一下就明白了 这么好的教程不回复说不过去~