返回顶部
首页 > 资讯 > 数据库 >【MySQL】不允许你不知道如何插入数据
  • 863
分享到

【MySQL】不允许你不知道如何插入数据

mysqladb数据库 2023-08-16 14:08:16 863人浏览 独家记忆
摘要

🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集 🏅 欢迎点赞 👍

🎬 博客主页:博主链接
🎥 本文由 M malloc 原创,首发于 CSDN🙉
🎄 学习专栏推荐:LeetCode刷题集
🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
📆 未来很长,值得我们全力奔赴更美好的生活✨

在这里插入图片描述
在这里插入图片描述

😇Mysql的前情介绍

😁大家好呀,今天是我第N次写mysql,也是最近才学习Mysql,也想着记录一下自己的学习过程,并且分享给大家尼!

😇本章详情

🐤本篇文章将介绍如何利用SQL的INSERT语句将数据插入表中

😇数据插入

前言

毫无疑问,SELECT是最常使用的SQL语句了(这就是为什么前面的一章讲的都是它的原因)。但是,还有其他3个经常使用的SQL语句需要学习。第一个就是INSERT(下一篇文章介绍另外两个)。

顾名思义,INSERT是用来插入(或添加)行到数据库表的。插入可以用几种方式使用:

  1. 插入完整的行;
  2. 插入行的一部分;
  3. 插入多行
  4. 插入某些查询的结果;

下面将详细的介绍一些内容
插入及系统安全

插入及系统安全可针对每个表或每个用户,利用MySQL的安全机制禁止使用INSERT语句,这将在后面的文章进行介绍。

😇插入完整的行

💐把数据插入表中的最简单的方法是使用基本的INSERT语法,它要求指定表名和被插入到新行中的值。下面举例说明:

输入

INSERT INTO CustomersVALUES(NULL,'Pep E. LaPew', '100 Main Street','Los Angeles','CA','90046','USA','NULL','NULL');

分析

🌱此例子插入一个新客户到customers表。存储到每个表列中的数据在VALUES子句中给出,对每个列必须提供一个值。如果某个列没有值(如上面的cust_contact和cust_email列),应该使用NULL值(假定表允许对该列指定空值)。各个列必须以它们在表定义中出现的次序填充。第一列cust id也为NULL。这是因为每次插入一个新行时,该列由MySQL自动增量。你不想给出一个值(这是MySQL的工作),又不能省略此列(如前所述,必须给出每个列),所以指定一个NULL值 (它被MySQL忽略,MySQL在这里插入下一个可用的cust id值)。

注意!

🌻没有输出 INSERT语句一般不会产生输出


编写INSERT语句的更安全(不过更烦)的方法如下:

输入

INSERT INTO customers(cust_name,cust_address,cust_city,cust_statecust_zip,cust_country,cust_contact,cust_emai1)VALUES('Pep ELaPew','100 Main Street','Los Angeles','CA','90046','USA','NULL','NULL');

分析

此例子完成与前一个INSERT语句完全相同的工作,但在表名后的括号里明确地给出了列名。在插入行时,MySQL将用VALUES列表中的相应值填入列表中的对应项。VALUES中的第一个值对应于第一个指定的列名。第二个值对应于第二个列名,如此等等。

因为提供了列名,VALUES必须以其指定的次序匹配指定的列名,不定按各个列出现在实际表中的次序。其优点是,即使表的结构改变,此INSERT语句仍然能正确工作。你会发现cust_id的NULL值是不必要的,cust id列并没有出现在列表中,所以不需要任何值。


下面的INSERT语句填充所有列(与前面的一样),但以一种不同的次序填充。因为给出了列名,所以插入结果仍然正确:

输入

INSERT INTO customers(cust_name,cust_contact,cust_emai1,cust_address,cust_city,cust_state,cust_zip,cust_country)VALUES('Pep E. LaPew',NULL,NULL,'100 Main Street','Los Angeles','90046','USA');

总是使用列的列表 一般不要使用没有明确给出列的列表的INSERT语句。使用列的列表能使SOL代码继续发挥作用,即使表结构发生了变化

使用这种语法,还可以省略列。这表示可以只给某些列提供值,给其他列不提供值。(事实上你已经看到过这样的例子:当列名被明确列出时,cust_id可以省略。)

提高性能

提高整体性能 数据库经常被多个客户访问,对处理什么请求以及用什么次序处理进行管理是MySQL的任务。INSERT操作可能很耗时(特别是有很多索引需要更新时),而且它可能降低等待处理的SELECT语句的性能。
如果数据检索是最重要的(通常是这样),则你可以通过在INSERT和INTO之间添加关键字LOW PRioRITY,指示MySQL降低INSERT语句的优先级,如下所示:
INSERT LOW PRIORITY INTO
顺便说一下,这也适用于下一章介绍的UPDATE和DELETE语句

😇插入多个行

INSERT可以插入一行到一个表中。但如果你想插入多个行怎么办?

🌼可以使用多条INSERT语句,甚至一次提交它们,每条语句用一个分号结束,如下所示:

输入

INSERT INTO customers(cust_namecust_address,cust_city,cust_state,cust_zip,cust_country)VALUES('Pep ELaPew','100 Main Street','Los Angeles','CA','90046','USA');INSERT INTO customers(cust_namecust_address,cust_city,cust_state,cust_zip,cust_country)VALUES('M.Martian','42 Galaxy way','New York','iNY','11213','USA');

😇插入检索出的数据

INSERT一般用来给表插入一个指定列值的行。但是,INSERT还存在另一种形式,可以利用它将一条SELECT语句的结果插入表中。这就是所谓的INSERTSELECT,顾名思义,它是由一条INSERT语和一条SELECT语句组成的。

假如你想从另一表中合并客户列表到你的customers表。不需要每次读取一行,然后再将它用INSERT插入,可以如下进行:

输入

INSERT INTO customers(cust_id,cust_contact,cust_email,cust_name,cust_address,cust_city,cust_statecust_zip,cust_country)SELECT cust_id,cust_contact,cust_email,cust_name,cust_addresscust_city,cust_state,cust_zip,cust_country FROM custnew;

分析

这个例子使用INSERT SELECT从custnew中将所有数据导入customers。SELECT语句从custnew检索出要插入的值,而不是列出它们。SELECT中列出的每个列对应于customers表名后所跟的列表中的每个列。这条语句将插入多少行有赖于custnew表中有多少行。如果这个表为空,则没有行被插入(也不产生错误,因为操作仍然是合法的)。如果这个表确实含有数据,则所有数据将被插入到customers。

🤣如何巩固学习

提示:在学习的过程中,我们需要先自行进行思考,而不是一遇到不会的就放弃思考直接看答案,如果最后遇到真的不会的题目,我们可以适当的进行观看答案,看自己的思路是否正确,在作出正确的判断

🤣本文小结

本篇文章介绍如何将行插入到数据库表。我们学习了使用INSERT的几种方法,以及为什么要明确使用列名,学习了如何用INSERT SELECT从其他表中导入行。下一章讲述如何使用UPDATE和DELETE进一步操纵表数据。

好啦今日的分享到这里就结束啦,我是爱你们的M malloc希望可以帮助到你们噢,最后别忘记三连啦!!

在这里插入图片描述

在这里插入图片描述

来源地址:https://blog.csdn.net/m0_64361522/article/details/131945198

您可能感兴趣的文档:

--结束END--

本文标题: 【MySQL】不允许你不知道如何插入数据

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

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

猜你喜欢
  • 【MySQL】不允许你不知道如何插入数据
    🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集 🏅 欢迎点赞 👍 ...
    99+
    2023-08-16
    mysql adb 数据库
  • 【MySQL】不允许你不了解如何汇总数据
    🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集! 🏅 欢迎点赞 👍...
    99+
    2023-08-19
    mysql 数据库 sql
  • mysql不允许为空如何设置
    在MySQL中,可以通过使用NOT NULL约束来禁止某列为空。在创建表的时候,可以在列的定义中使用NOT NULL关键字来设置该列...
    99+
    2023-08-31
    mysql
  • MySql批量插入时如何不重复插入数据
    目录前言一、insert ignore into二、on duplicate key update三、replace into总结前言 Mysql插入不重复的数据,当大数据量的数据需...
    99+
    2024-04-02
  • mysql不允许远程连接错误如何解决
    这篇文章主要介绍“mysql不允许远程连接错误如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql不允许远程连接错误如何解决”文章能帮助大家解决问题。最...
    99+
    2022-11-30
    mysql
  • 详解MySql如何不插入重复数据
    目录1、insert ignore into2、on duplicate key update3、insert ... select ... where not exist4、replace into...
    99+
    2023-01-17
    MySql不插入重复数据 MySql重复数据
  • ASP数据类型:有哪些你不知道的?
    ASP是一种常用的Web开发技术,它使用VBScript或JavaScript作为脚本语言。在ASP中,数据类型是非常重要的概念。本文将介绍ASP中的数据类型,包括一些你可能不知道的数据类型。 字符串类型 字符串类型是ASP中最常见的...
    99+
    2023-10-05
    学习笔记 ide 数据类型
  • @PathVariable注解允许参数为空、不传参数如何处理
    @PathVariable注解允许参数为空、不传参数如何处理?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。说明设置可以不传:但是请求的时候,仍然提示projec...
    99+
    2023-06-06
  • 学习数据库,你不得不知道的关于索引的小知识
      有了图,接下来,就是对于我今天看的内容觉得比较好的分享,文末有福利 1、select * 对效率的影响 在我们平时的代码编写或面试题中,很多人都会疑惑:select * 到底合理吗? 如果说不合理...
    99+
    2018-01-19
    学习数据库,你不得不知道的关于索引的小知识
  • 你知道如何在Java中使用不同类型的数据吗?
    当我们编写Java程序时,我们经常需要处理不同类型的数据。在本文中,我们将介绍Java中不同类型的数据以及如何使用它们。 Java中的数据类型可以分为两类:基本数据类型和引用数据类型。基本数据类型是Java语言内置的数据类型,包括整型、浮点...
    99+
    2023-06-03
    数据类型 npm 打包
  • 服务器如何允许mysql服务连接数据库
    允许服务器远程连接到mysql的方法在命令行中使用以下命令启动mysql服务;service mysql start  mysql服务启动后,输入mysql的用户名和密码,进行登录mysql;mysql -u&...
    99+
    2024-04-02
  • 怎么解决MySQL数据库不允许从远程访问的问题
    这篇文章主要介绍“怎么解决MySQL数据库不允许从远程访问的问题”,在日常操作中,相信很多人在怎么解决MySQL数据库不允许从远程访问的问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望...
    99+
    2024-04-02
  • php插入数据mysql不显示中文如何解决
    本篇内容介绍了“php插入数据mysql不显示中文如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php插入数据mysql不显示中文的...
    99+
    2023-06-20
  • 你所不知道的Java大数据实时教程!
    Java大数据实时处理是当前互联网行业的热门技术之一。随着互联网的快速发展,数据量也越来越大,传统的数据处理方式已经无法满足业务需求,实时数据处理成为了必须掌握的技能。本文将为大家介绍Java大数据实时处理的相关知识和实现方法,帮助大家更好...
    99+
    2023-10-22
    大数据 实时 教程
  • 如何解决MySQL报错:该MySQL版本不允许使用该命令
    在MySQL中,有些版本可能不支持特定的命令或功能。当使用不允许的命令时,会出现"该MySQL版本不允许使用该命令"的报错。要解决此...
    99+
    2023-10-10
    MySQL
  • MySQL中怎么插入不重复数据
    这期内容当中小编将会给大家带来有关MySQL中怎么插入不重复数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。   之前最naive的想法就是先对将要插入的...
    99+
    2024-04-02
  • MySQL中怎么不插入重复数据
    这期内容当中小编将会给大家带来有关MySQL中怎么不插入重复数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、insert ignore into当插入数据时,如出现...
    99+
    2024-04-02
  • mysql中如何使用正则不允许对整表进行操作
    这篇文章主要为大家展示了“mysql中如何使用正则不允许对整表进行操作”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql中如何使用正则不允许对整表进行操作...
    99+
    2024-04-02
  • GO 函数在大数据处理中的优越表现,你不得不知道!
    随着数据量的不断增加,大数据处理成为了当今最为热门的话题之一。在这个领域中,数据处理的效率和速度显得尤为重要。为了提高数据处理的效率,许多开发者开始使用 GO 语言中的函数。本文将介绍 GO 函数在大数据处理中的优越表现,并演示几个有用的...
    99+
    2023-06-24
    函数 numy 大数据
  • MySQL中如何插入数据
    要在MySQL中插入数据,可以使用INSERT INTO语句。下面是一个示例: INSERT INTO 表名 (列1, 列2, 列3...
    99+
    2024-04-09
    MySQL
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作