Heim > Datenbank > MySQL-Tutorial > MySQL语句正确插入多值如何运行?

MySQL语句正确插入多值如何运行?

WBOY
Freigeben: 2016-06-07 16:11:59
Original
1158 Leute haben es durchsucht

以下的文章主要介绍的是MySQL语句正确插入多值的实际操作步骤,以及HQL多表查询及在条件 in 中插入N个变量值的实际操作,我前两天在相关网站看见的资料,觉得挺好,就拿出来供大家分享。 一条sql语句插入多组数据:insert into table values (id,name),(id,nam

以下的文章主要介绍的是MySQL语句正确插入多值的实际操作步骤,以及HQL多表查询及在条件 in 中插入N个变量值的实际操作,我前两天在相关网站看见的资料,觉得挺好,就拿出来供大家分享。

一条sql语句插入多组数据:insert into table values (id,name),(id,name),(id,name) 但似乎语句长度有限制,不能超过1MB,并且该语句是MySQL专用的写法,不是标准sql.

以下转自paradise总结的HQL多表查询的写法及in的使用:

HQL查询多表的时候,取出结果是两个对象的列表,但是我只要我自己想要的属性,之前的HQL语句是这样写的:

<ol class="dp-xml"><li class="alt"><span><span>from Hytxbz h,Tgbzk t where </span><span class="attribute">h.hytxbzid</span><span>=t.hytxbzid and </span><span class="attribute">t.bztgid</span><span>=:bztgid </span></span></li></ol>
Nach dem Login kopieren

结果我debug去看query.list();是Hytxbz和Tgbzk两个对象的列表,结果并不是我想要的,我改成

<ol class="dp-xml"><li class="alt"><span><span>from Hybztx h where h.hytxbzid in (select t.hytxbzid from Tgbzk where </span><span class="attribute">t.bztgid</span><span> =:bztgid) </span></span></li></ol>
Nach dem Login kopieren

还是不行,google一把,发现可以这样写

<ol class="dp-xml"><li class="alt"><span><span>select h from Hytxbz as h,Tgbzk as t where </span><span class="attribute">h.hytxbzid</span><span>=t.hytxbzid and </span><span class="attribute">t.bztgid</span><span>=:bztgid </span></span></li></ol>
Nach dem Login kopieren

如果想取得对应属性的话,也可以这样写

<ol class="dp-xml"><li class="alt"><span><span>select h.hytxbzid from Hytxbz as h,Tgbzk as t where </span><span class="attribute">h.hytxbzid</span><span>=t.hytxbzid and </span><span class="attribute">t.bztgid</span><span>=:bztgid </span></span></li></ol>
Nach dem Login kopieren

发现in的语句可以这样写

<ol class="dp-xml">
<li class="alt"><span><span>String ids[]=new String[]{"1","2","3"};   </span></span></li>
<li>
<span>String </span><span class="attribute">hql</span><span>= </span><span class="attribute-value">" from com,you.YourPOJO where id in (?)"</span><span>;   </span>
</li>
<li class="alt">
<span>Query </span><span class="attribute">query</span><span> = </span><span class="attribute-value">session</span><span>.createQuery(hql);   </span>
</li>
<li><span>query .setParameters(ids); </span></li>
</ol>
Nach dem Login kopieren

相关方法:

<ol class="dp-xml">
<li class="alt"><span><span>Query setParameters(Object[] objectArray, Type[] typeArray) throws HibernateException;   </span></span></li>
<li><span>Query setParameterList(String string, Collection collection, Type type) throws HibernateException;   </span></li>
<li class="alt"><span>Query setParameterList(String string, Collection collection) throws HibernateException;   </span></li>
<li><span>Query setParameterList(String string, Object[] objectArray, Type type) throws HibernateException;   </span></li>
<li class="alt"><span>Query setParameterList(String string, Object[] objectArray) throws HibernateException </span></li>
</ol>
Nach dem Login kopieren

以上的相关内容就是对MySQL语句插入多值的介绍,望你能有所收获。


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage