广告
返回顶部
首页 > 资讯 > 数据库 >MySQL怎么实现数据插入操作
  • 182
分享到

MySQL怎么实现数据插入操作

2023-07-05 04:07:53 182人浏览 薄情痞子
摘要

今天小编给大家分享一下MySQL怎么实现数据插入操作的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、方法分类二、具体方法使

今天小编给大家分享一下MySQL怎么实现数据插入操作的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

一、方法分类

MySQL怎么实现数据插入操作

二、具体方法

使用场景作用语句注意
常规插入忽略字段名insert into 表名 values (值1, 值2,...,值n)默认value中的值依次填充所有字,如果出现唯一性冲突,就会抛出异常
按照字段插入insert into 表名(字段1, 字段2,...,字段n) values (值1, 值2,...,值n)字段和值一一对应
一次性插入多条数据insert into 表名(字段1, 字段2,...,字段n) values (值a1, 值a2,...,值an),(值b1, 值b2,...,值bn)多行之间用逗号隔开,不需要再次写insert into语句
从另一个表导入导出A表的某些数据插入到B表insert into 表名B(字段B1, 字段B2,...,字段Bn) select 字段A1, 字段A2,...,字段An from 表名A where [执行条件]字段A和B可以字段名称不一样,但是数据类型必须一致
插入时数据重复如果记录存在报错insert into 表名(字段1, 字段2,...,字段n) values (值1, 值2,...,值n)如果插入的数据记录存在,报错并捕获异常,不存在则直接新增记录
如果记录存在不插入记录insert ignore into 表名(字段1, 字段2,...,字段n) values (值1, 值2,...,值n)如果插入的数据记录存在就保存旧记录忽略新记录,不存在则直接新增记录
不论记录是否存在都要插入记录replace 表名(字段1, 字段2,...,字段n) values (值1, 值2,...,值n)如果插入的数据记录存在就先删除再更新,不存在则直接新增记录
如果记录存在更新指定字段insert into … on duplicate key update如果插入的数据记录存在就更新指定字段,不存在则直接新增记录

三、实例

students 表 (id表示主键,name是姓名,score是平均成绩)

idnamescore
1李明67

(1)常规插入

忽略字段名

执行后结果

idnamescore
1李明67
2张三74

按照字段插入

insert into students(name) values('孙华');

执行后结果

idnamescore
1李明67
2张三74
3孙华

一次性插入多条数据

insert into students(name, score) values('刘平', '56'),('周雨', '90');

执行后结果

idnamescore
1李明67
2张三74
3孙华
4刘平56
5周雨90

(2)从另一个表导入

students 表 (id表示主键,name是姓名,score是平均成绩)

iduser_namemobile_phone_number
1马化腾13800000000
2任正非13800000011
3马云13800000022

导出users表的某些数据插入到students表

insert into students(name,score) select user_name,mobile_phone_number from users where id <> 3;

执行结果

idnamescore
1李明67
2张三74
3孙华
4刘平56
5周雨90
6马化腾13800000000
7马云13800000022

注意:只要对应字段的类型一样,字段不一样也可以导入数据,不会冲突。

(3)插入时数据重复

如果记录存在报错

insert into students values(1, '张三', '74');

执行结果: 报错

Duplicate entry '1' for key 'PRIMARY'

如果记录存在不插入记录

insert ignore into students(id,name,score) values(1, '张三', '74');

执行结果:不插入不报错

Affected rows:0

idnamescore
1李明67
2张三74
3孙华
4刘平56
5周雨90
6马化腾13800000000
7马云13800000022

不论记录是否存在都要插入记录

replace studentsvalues(1, '张三', '74');

执行结果

idnamescore
1张三74
2张三74
3孙华
4刘平56
5周雨90
6马化腾13800000000
7马云13800000022

如果记录存在更新指定字段

insert into students(id)values(1) on duplicate key update name = '李明',score = '67';

执行结果

idnamescore
1李明67
2张三74
3孙华
4刘平56
5周雨90
6马化腾13800000000
7马云13800000022

创建 students 表的代码

-- ------------------------------ Table structure for students-- ----------------------------DROP TABLE IF EXISTS `students`;CREATE TABLE `students`  (  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '学生id',  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名',  `score` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '成绩',  PRIMARY KEY (`id`) USING BTREE) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ------------------------------ Records of students-- ----------------------------INSERT INTO `students` VALUES (1, '李明', '67');

创建 users 表的代码

-- ------------------------------ Table structure for students-- ----------------------------DROP TABLE IF EXISTS `users`;CREATE TABLE `users`  (  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',  `user_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户名',  `mobile_phone_number` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '手机号码',  PRIMARY KEY (`id`) USING BTREE) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ------------------------------ Records of students-- ----------------------------INSERT INTO `users` VALUES (1, '马化腾', '13800000000');INSERT INTO `users` VALUES (2, '任正非', '13800000011');INSERT INTO `users` VALUES (3, '马云', '13800000022');

四、注意事项

(1)不写字段名,需要填充自增ID

[使用]:0或者null或者default,自增id默认从1开始。

[使用]:或者没有在自增id中出现的(不重复)数(例如-1,-2),浮点型数据例如3.4,最后显示3,会进行四舍五入。即使定义了int类型,输入&lsquo;3&rsquo;或者浮点型,都会强制转化为int类型,但是输入'a'会报错。具体细节可以看源码

问题:第一个字段id为什么可以写null?如果建表的时候写了id为自增id,而写0或者null或者default或者没有在自增id中出现的(不重复)数(例如-1,-2),系统都会自动填充id。如果建表的时候没有写明是自增id,那么主键一定是不能为空的,这个时候写null就会报错。

(2)按字段名填充,可以不录入id

[注意]:字段要与值一一对应。

其余注意事项

  • 字段名可以省略,默认所有列;

  • 录入值的类型和字段的类型要一致或兼容;

  • 字段和值的个数必须一致。不能出现一行记录5个值,另外一行6个值的情况;

  • 如果写了字段,即使是空值也不能空着,用null代替。

以上就是“Mysql怎么实现数据插入操作”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL怎么实现数据插入操作

本文链接: https://www.lsjlt.com/news/349608.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL怎么实现数据插入操作
    今天小编给大家分享一下MySQL怎么实现数据插入操作的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、方法分类二、具体方法使...
    99+
    2023-07-05
  • Linq中怎么实现插入数据操作
    本篇文章给大家分享的是有关Linq中怎么实现插入数据操作,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1.Linq插入数据之创建AddData.aspx页面在AddData.a...
    99+
    2023-06-17
  • MySQL实现数据插入操作的示例详解
    目录一、方法分类二、具体方法三、实例(1)常规插入(2)从另一个表导入(3)插入时数据重复四、注意事项(1)不写字段名,需要填充自增ID(2)按字段名填充,可以不录入id其余注意事项使用mysql插入数据时,可以根据需求...
    99+
    2023-02-21
    MySQL数据插入操作 MySQL数据插入 MySQL数据
  • Python操作mysql之插入数据
    之前有写过一篇python查询mysql数据的文章,今天写通过python插入数据到mysql数据库。1.先建库,建表,建用户mysql> CREATE DATABASE tda DEFAULT CH...
    99+
    2022-10-18
  • MySQL数据库(五)插入操作
    前提要述:参考书籍《MySQL必知必会》 《MySQL必知必会》是先讲了查询,但是没有记录就无法查询,所以先将如何添加数据。 表已经知道怎么创建了,随便创两张。 5.1 插入数据 MySQL使用 INSERT来插入(或添加)行...
    99+
    2016-04-14
    MySQL数据库(五)插入操作
  • 用python实现操纵mysql数据库插入
    python操纵mysql数据库,向一个表中插入一条新的记录。 pycahrm提供一个很好的功能,在右边上面,可以连接数据库,并在里面手动操作数据库,连接步骤略过。 1.先看下表...
    99+
    2022-11-13
  • python实现MySQL 数据库表格创建 数据插入及获取插入ID操作教程
    目录创建表格检查表格是否存在主键插入数据到表格插入多行获取插入的ID创建表格 要在mysql中创建表格,请使用"CREATE TABLE"语句。 确保在创建连接时定义了数据库的名称。 示例创建一个名为...
    99+
    2023-11-11
    Python操作MySQL表格数据 Python操作MySQL
  • MYSQL数据库插入数据的基本操作
    下文主要给大家带来MYSQL数据库插入数据的基本操作,希望这些内容能够带给大家实际用处,这也是我编辑MYSQL数据库插入数据的基本操作这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。插入数据在建立一...
    99+
    2022-10-18
  • MySQL中怎么实现快速插入数据
    MySQL中怎么实现快速插入数据,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。  MySQL如何快速插入数据  1.尽量减小导入文件大小 ...
    99+
    2022-10-18
  • MySQL中数据表如何实现数据插入、更新、删除操作
    小编给大家分享一下MySQL中数据表如何实现数据插入、更新、删除操作,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、插入数据 ...
    99+
    2022-10-18
  • 用python操作mysql数据库(之简单“插入数据”操作)
    #!/usr/bin/env python # -*- coding: utf-8 -*- ''' 1、这里的数据库环境为本地数据库 2、我要通过pytho...
    99+
    2022-10-18
  • mysql中怎么实现有条件插入数据
    这篇文章将为大家详细讲解有关mysql中怎么实现有条件插入数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。关键是如下的MYSQL语句, 插入多条...
    99+
    2022-10-18
  • mysql插入多条数据的操作步骤
    这篇文章主要介绍mysql插入多条数据的操作步骤,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!mysql插入多条数据的方法:1、登录mysql数据库;2、指定要插入多条数据的数据库;...
    99+
    2022-10-18
  • 如何用python实现操纵mysql数据库插入
    这篇文章主要讲解了“如何用python实现操纵mysql数据库插入”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用python实现操纵mysql数据库插入”吧!python操纵mysql...
    99+
    2023-06-28
  • MySQL中怎么实现无数据插入和有数据更新
    MySQL中怎么实现无数据插入和有数据更新,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。语法格式如下所示。insert ignore...
    99+
    2022-10-18
  • Mysql循环插入数据的实现
    目录mysql 循环插入数据WHILE…DO方式其他基本命令Mysql 循环插入10000条数据1.所以按自己想法,写个循环1W次随便插入数据测试2.执行过程Mysql 循环插入数据 说明:首先需要设置de...
    99+
    2022-08-17
    Mysql插入数据 循环插入数据 Mysql循环
  • MySQL数据库操作DML 插入数据,删除数据,更新数据
    目录DML介绍数据插入数据修改数据删除DML介绍 DML是指数据操作语言,英文全称是Data Manipulation Language,用来对数据库中表的数据记录进行更新。 关键字: 插入insert删除delet&#...
    99+
    2022-07-11
    MySQL数据库操作DML MySQL插入数据 MySQL删除数据 MySQL更新数据
  • MySQL数据库操作DML 插入数据,删除数据,更新数据
    目录DML介绍数据插入数据修改数据删除DML介绍 DML是指数据操作语言,英文全称是Data Manipulation Language,用来对数据库中表的数据记录进行更新。 关键字...
    99+
    2022-11-13
  • Python操控mysql批量插入数据的实现方法
    在Python中,通过pymysql模块,编写简短的脚本,即方便快捷地控制MySQL数据库 一、连接数据库         使用的函数:...
    99+
    2022-05-13
    Python mysql批量插入数据 python MySQL 批量插入
  • Java怎么实现几十万条数据插入(30万条数据插入MySQL仅需13秒)
    本文主要讲述通过MyBatis、JDBC等做大数据量数据插入的案例和结果。 30万条数据插入插入数据库验证 实体类、mapper和配置文件定义User实体mapper接口mapper.xml文件jdbc.propertiessqlM...
    99+
    2023-08-16
    java mysql mybatis
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作