草庐IT

SQL之插入

全部标签

python - 将 XML 导入 SQL 数据库

我正在处理一个20gig的XML文件,我想将其导入SQL数据库(最好是MySQL,因为这是我所熟悉的)。这似乎是一项常见的任务,但在谷歌搜索了一下之后,我一直无法弄清楚如何去做。做这个的最好方式是什么?我知道这个功能内置于MySQL6.0中,但现在还不是一个选项,因为它是一个alpha开发版本。此外,如果我必须编写任何脚本,我更愿意使用Python,因为这是我最熟悉的。谢谢。 最佳答案 您可以使用getiterator()函数迭代XML文件,而无需一次解析整个文件。你可以用ElementTree来做到这一点,包含在标准库中,或与lx

sql - PostgreSQL 可以从函数返回的数组中选择吗?

此查询失败:SELECTxpath('/my/xpath/expr',my_xml)[1]FROMmy_tableERROR:syntaxerroratornear"["但是这个有效:SELECTx[1]FROM(SELECTxpath('/my/xpath/expr',my_xml)asxFROMmy_table)asss我的xpath表达式总是只返回一个值,但Postgresxpath函数返回一个数组。我想选择数组中的第一个值。虽然子选择有效,但它非常丑陋。为什么第一个查询不起作用,有没有比第二个查询更简洁的方法? 最佳答案 这

sql - 使用 nodes() 方法在 SQL 中展平分层 XML

我有一个将XML文档作为参数的存储过程,其结构类似于以下内容:我的要求是“扁平化”这些数据,以便可以将其插入到临时表中并在过程中进一步操作,因此上面的XML变为:GrandparentNameParentNameChildName----------------------------------------------grandpabobpapajohnmarkgrandpabobpapajohncindygrandpabobpapahenrymary目前正在使用SQLServerXML节点完成此操作:SELECTVIRT.node.value('../../../@name','v

xml - Groovy:如何在使用 XMLSlurper() 读取的 XML 元素列表的开头插入节点

我可能遗漏了一些明显的东西,因为我是Groovy的菜鸟,但我搜索过但没有找到我正在寻找的东西。我有一个测试课,我正在阅读一些XML;我想在一系列元素的开头插入一个元素。我已经想出了如何替换第一个元素,并且我已经想出了如何附加一个节点到列表的末尾,但我似乎做不到了解如何在列表的开头(或理想情况下,任意位置)插入元素。例如:@Testvoidfoo(){defxml=""""""defroot=newXmlSlurper().parseText(xml)root.listofthings.thing[0].replaceNode({thing(id:101,name:'bar')})roo

sql - 使用 FOR XML 从 SQL Server 2008 R2 返回空字段或空字段作为 <element/>

我正在使用FORXMLPATH从SQLServer2008R2运行查询。我唯一的问题是我希望所有元素都出现,即使它们是NULL并且我希望空(或null)元素返回为不像 最佳答案 您可以在字段列表中的子查询中查询字段,使用forxml,创建空元素的两个版本。declare@Ttable(IDintidentityprimarykey,Namenvarchar(10))insertinto@T(Name)select'Name1'unionallselectnullunionallselect'Name2'selectID,(selec

sql - 将嵌套的 XML 解析为 SQL 表

根据所需的布局(如下)将以下XMLblock解析为SQLServer表的正确方法是什么?是否可以使用单个SELECT语句而不使用UNION或循环来完成它?有接盘者吗?提前致谢。输入XML:somevalueothervalue2011-02-01T00:00:002011-03-01T00:00:002011-04-01T00:00:000.0199740.0053950.004854thisisrow1thisisrow2thisisrow3期望的表输出:Parameter1Parameter2DatesValuesDescriptionSomevalueOthervalue2011

xml - 根据属性值从 SQL Server 2008 中删除 xml 节点

我的数据库中有一个xml结构,如下所示:93679d1d-9feb-45d1-8356-e85d188fa34cName1Email112323423469f54067-edf9-414e-80b6-099ac471dc43Name2Email212323423493144086-be1c-4f34-a5f7-6e8ac67c2121Name3Email3123456我正在尝试根据ContactDetailsid属性删除ContactDetails节点。但我似乎遇到了一堵砖墙。我的SP代码是这样的UPDATEtableNameSETtableField.modify('delete//

ruby - 选择相邻的兄弟元素而不插入非空白文本节点

给定的标记如下:foobarjimandthenjam我需要选择前三个——但不是最后一次。逻辑是“选择所有code元素,这些元素有一个preceding-or-following-sibling-element也是code,除非存在一个或多个包含非空白内容的文本节点他们之间。鉴于我正在使用Nokogiri(它使用libxml2),我只能使用XPath1.0表达式。虽然需要一个棘手的XPath表达式,但在Nokogiri文档上执行相同操作的Ruby代码/迭代也是可以接受的。注意CSSadjacentsiblingselector忽略非元素节点,因此选择nokodoc.css('code+

xml - scala - XML 插入/更新

您知道任何根据XPath插入和(或)更新节点的ScalaAPI吗?例如,对于给定的节点和XPath,此API将使用新节点创建XML副本谢谢 最佳答案 您可以使用RewriteRule来做到这一点,2.10.3documentation.valcats=然后假设RewriteRuleclassAddCat(name:String)extendsRewriteRule{overridedeftransform(n:Node):Seq[Node]=nmatch{casee:Elemife.label=="Cats"=>valcats=(e

sql - 将 xml 递归地分解到数据库中

我有以下XML数据和元素表。DECLARE@inputXML='data1data2data3data4'元素表:(这只是一个示例,因此可以更改以匹配适当的解决方案。)CREATETABLEElement(elementIdINTIDENTITYPRIMARYKEY,elementNameVARCHAR(200)NOTNULL,parentIdINT,dataVARCHAR(300));根据@input,根元素是C1和D1的父元素,那么C1是C2的父元素,...SQLServer2012/2014使用CTE(或任何其他类型的SQL对象)编写存储过程以递归地将所有元素名称放入Elemen