MySQL基础教程25-数据高级操作-新增
2018-01-05 14:52
1201 查看
前面我们学习了一些列属性和范式,接下来介绍一些数据的高级操作,主要是数据的增删改查。本篇来看看数据的新增操作。
数据新增操作
基本语法:insert into 表名 [(字段列表)] values(值列表);
场景:在数据插入的时候,假设主键对应的值已经存在,如果插入一定会失败,因为主键是不允许冲突的。这种主键冲突问题如何解决呢?
主键冲突
当主键存在冲突的时候(Duplicate key),可以选择性的进行处理,一般有更新和替换两种处理。
主键冲突:更新操作
语法:insert into 表名[(字段列表:包含主键)] values(值列表) on duplicate key update 字段=新值;
举例:教室表
我们先创建一个教室表my_class,字段name是主键。
当前这个表是空表,我们来插入两条数据。
假如,我们发现Java02这个班级的教室不是A102,真实的是B102,那么我们继续下面这样插入数据会提示主键冲突。
下面就是我们来解决主键冲突报错的办法,直接在原有基础上进行数据修改。
通过上面,可以看到数据从A102改成了B102.
主键冲突:替换操作
语法:replace into 表名 [(字段列表:包含主键)] values(值列表);
举例:把上面表中Java01的class的值A101替换成A105
数据新增操作
基本语法:insert into 表名 [(字段列表)] values(值列表);
场景:在数据插入的时候,假设主键对应的值已经存在,如果插入一定会失败,因为主键是不允许冲突的。这种主键冲突问题如何解决呢?
主键冲突
当主键存在冲突的时候(Duplicate key),可以选择性的进行处理,一般有更新和替换两种处理。
主键冲突:更新操作
语法:insert into 表名[(字段列表:包含主键)] values(值列表) on duplicate key update 字段=新值;
举例:教室表
我们先创建一个教室表my_class,字段name是主键。
当前这个表是空表,我们来插入两条数据。
假如,我们发现Java02这个班级的教室不是A102,真实的是B102,那么我们继续下面这样插入数据会提示主键冲突。
下面就是我们来解决主键冲突报错的办法,直接在原有基础上进行数据修改。
通过上面,可以看到数据从A102改成了B102.
主键冲突:替换操作
语法:replace into 表名 [(字段列表:包含主键)] values(值列表);
举例:把上面表中Java01的class的值A101替换成A105
相关文章推荐
- MySQL基础教程26-数据高级操作-更新
- MySQL基础教程8-Mysql数据表新增操作
- 史上最简单的 MySQL 教程(二十三)「数据的高级操作 之 查询(上)」
- 史上最简单的 MySQL 教程(二十三)「数据的高级操作 之 查询(上)」
- 史上最简单的 MySQL 教程(二十一)「数据的高级操作 之 蠕虫复制」
- 史上最简单的 MySQL 教程(二十四)「数据的高级操作 之 查询(中)」
- MySQL基础教程9-Mysql数据表查看操作
- MySQL基础教程11-Mysql删除数据表操作
- 史上最简单的 MySQL 教程(二十)「数据的高级操作 之 主键冲突」
- 史上最简单的 MySQL 教程(二十)「数据的高级操作 之 主键冲突」
- 史上最简单的 MySQL 教程(二十四)「数据的高级操作 之 查询(中)」
- MySQL基础教程10-Mysql数据表修改操作
- MySQL基础教程15 —— SQL语法之数据操作语句DML——DELETE语法
- 史上最简单的 MySQL 教程(二十二)「数据的高级操作 之 更新 & 删除」
- 史上最简单的 MySQL 教程(二十三)「数据的高级操作 之 查询」
- MySQL基础教程12-Mysql新增数据和查看数据
- 史上最简单的 MySQL 教程(二十一)「数据的高级操作 之 蠕虫复制」
- 史上最简单的 MySQL 教程(二十二)「数据的高级操作 之 更新 & 删除」
- 史上最简单的 MySQL 教程(二十五)「数据的高级操作 之 查询(下)」
- Python操作Mysql基础教程