专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

insert是什么意思,insert语句用法详解

来源:小易整编  作者:小易  发布时间:2023-03-23 11:14
摘要:insert是什么意思,insert语句用法详解关于SQL修改数据的语句,我们前两期聊了删和改;这期再聊下增,也就是INSERT语句。在SQL中,可以使用INSERT……VALUES语句直接向数据库中插入一行数据,其语法格式如下:INSER...

INSERT INTO 表名1 [(字段名1, 字段名2……)] SELECT 字段名1,字段名2……FROM 表名2

依然举个例子。
下图是一份名为‘试用期’的表格。

insert是什么意思,insert语句用法详解

          
现在,我们需要将考核为‘合格’的人名及对应的数据,新增到‘工资表’中。

INSERT INTO [工资表$] SELECT 姓名,性别,工龄,工资 FROM [试用期$] WHERE 考核='合格'

语句执行结果如下图所示。

insert是什么意思,insert语句用法详解

          
SELECT语句从‘试用期’的表格筛选出考核为‘合格‘的数据,并将其插入到工资表中。
INSERT INTO后的字段名做了省略处理,当省略该处字段名时,和INSERT……VALUES所不同的是,它默认读取的不是插入表的字段名,而是 SELECT语句查询结果表的字段名。
比如,以下语句,尽管SELECT语句的字段名排列顺序和工资表的字段名排列顺序不同,但数据插入位置并不会出错。

INSERT INTO [工资表$]  SELECT 姓名,工龄,工资,性别 FROM [试用期$] WHERE 考核='合格'

再比如,以下语句,由于工资表并不存在考核列,因此会收到错误提示。

INSERT INTO [工资表$]  SELECT 姓名,工龄,工资,性别,考核 FROM [试用期$] WHERE 考核='合格'

insert是什么意思,insert语句用法详解

          
当然,当INSERT INTO后有指定的字段名时,以指定的字段名顺序为准。

INSERT INTO [工资表$] (姓名,工龄,工资,性别) SELECT 姓名,0,4000,性别 FROM [试用期$] WHERE 考核='合格'

SELECT查询语句,放弃了‘试用期‘表3000的工资,更改为4000;工龄也更改为0;由于INSERT INTO语句后指定了字段名,0对应的是工龄,4000对应的字段名是工资;因此语句执行后的结果如下图所示,并无错误:

insert是什么意思,insert语句用法详解

          
……
需要说明的是,INSERT……SELECT语句可以将一张表的数据插入到指定表中,但前提是该指定表本身是存在的。
如果我们需要将查询数据插入到一张事先并不存在的表——可以使用SELECT……INTO语句。
语法如下:

SELECT 字段名 INTO 新表名 FROM 数据来源表

该语句会根据指定表名和字段名创建一份新表,并将FROM子句的查询记录放置其中。
呃,但Excel并不支持该用法。
嘿~但ACCESS支持……
比如,我们需要将一个Excel工作簿的所有工作表批量复制移动到ACCESS数据库中,可以使用以下代码。

代码看不全可以左右拖动..▼

Sub DoSql1()    Dim cnn As Object, strSQL As String    Dim sht As Worksheet, strShtName As String, strPath As String    Set cnn = CreateObject("adodb.connection")    strPath = ThisWorkbook.FullName '工作簿完整路径+名称    cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "/数据库.accdb"    '创建ACCESS数据库的连接    For Each sht In Worksheets '遍历工作表        strShtName = sht.Name '工作表的名称        strSQL = "SELECT * INTO " & strShtName & " FROM [Excel 12.0;DATABASE=" & strPath & "].[" & strShtName & "$]"        cnn.Execute (strSQL) '执行Sql语句    Next    cnn.Close '关闭连接    Set cnn = Nothing '释放cnn对象End Sub

代码通过遍历代码所在工作簿的工作表,将其数据整体复制移动到名称为‘数据库’的ACCESS文件中。代码所使用的SQL代码如下:

strSQL = "SELECT * INTO " & strShtName & " _         &"FROM [Excel 12.0;DATABASE=" & strPath _        & "].[" & strShtName & "$]"

变量strShtName是工作表的名称;[Excel 12.0;DATABASE=" & strPath & "].[" & strShtName & "$]"是ADO跨文件连接Excel工作簿的固定引用格式,可以本系列教程第4篇:SQL查询中表技巧的总结。
整个语句的意思就是获取(FROM)工作表的数据,在ACCESS中新增一个表,表名等同Excel工作表的名称,并将该表所有的字段记录(SELECT *)放置其中。
不过,当ACCESS存在和Exce工作表同名的表时,代码会返回错误。

本文地址:百科问答频道 https://www.neebe.cn/wenda/937236_2.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!

共2页 1 2 当前是最后一页

百科问答
小编:小易整编
相关文章相关阅读
  • 销售额是什么意思?

    销售额是什么意思?

    销售额是指商业企业的一项关键指标,代表企业在一定时期内的营业额,它实时反映企业经营活动的情况,是衡量企业经营能力和效益的重要指标。销售额可以有多种形式,如零售销售额、批发销售额和出口销售额等。销售额的计算方法很简单,即:销售额=销售数量...

  • iTools是什么意思?

    iTools是什么意思?

    iTools是一款功能强大的苹果设备管理工具。它为苹果设备用户提供了便捷的设备管理功能,包括文件传输、备份还原、应用程序管理、屏幕截图、屏幕录制、音乐管理、视频管理等多种功能,而且支持所有的i系列设备,例如iPod、iPhone和iPad...

  • 无损分区工具是什么意思?

    无损分区工具是什么意思?

    无损分区工具是一种硬盘分区方式,是指在分区时保持原有数据不受损坏的一种分区技术,这种分区技术称为“无损分区”。无损分区可以保护硬盘上的数据,在分区时不会破坏硬盘上的任何数据。而且,在数据安全性上也有一定的优势,因为它不会破坏的数据,因此可...

  • 消费凭证是什么意思?

    消费凭证是什么意思?

    消费凭证是指一种书面的证明凭证,当消费者购买商品或服务时,商家会向其提供消费凭证,凭此凭证可以证明消费者购买了特定的商品或服务,以及在这次购买中耗费的钱财数额。消费凭证是一种用于表示购买交易的依据,是为消费者提供全面鉴证的凭证。它可以表明...

  • DSM系统是什么意思?

    DSM系统是什么意思?

    DSM是一种新晋的分布式、可扩展的模块化系统。它是以无服务器、全节点一致性的系统架构为基础,采用多进程系统将服务、运维功能以模块化的方式集合到一起而不会配置服务的的系统设计模型。DSM的核心特点在于采用了一致性的分布式架构,模块化的结构,...

  • 裸金属是什么意思?

    裸金属是什么意思?

    简而言之,裸金属是指被提取出来,没有被添加任何基材的未加工金属。它是将矿石熔化下去后提炼出来的金属,用来做各种活动和企业的原材料。裸金属通常是一种切削或加工的未经热处理的金属。裸金属一般不经过任何表面处理,以自身属性状态出售。它不会涂以油...

  • CVSS是什么意思?

    CVSS是什么意思?

    CVSS(CommonVulnerabilityScoringSystem,中文译名“公共漏洞评分系统”)是一种漏洞分级和评分系统,是由美国国家信息安全标准研究所(NIST)推行的一套机制,它利用特定的参数来构建一个漏洞评级分类体系...

  • 键盘接口是什么意思?

    键盘接口是什么意思?

    键盘接口一般是用于挂接键盘的接口。它也称为键盘插座或键盘接头,它是一个连接键盘和计算机系统之间的重要硬件部件。键盘接口可以用来接收键盘上发出信号,以便在主板上发出完整的指令。键盘接口可以分为有线和无线两种,有线键盘接口是指采用插孔的连接方...

  • 周排行
  • 月排行
  • 年排行

精彩推荐